Replace raw Automerge change messages (e.g. "Update shape abc-123-uuid")
with human-readable text and contextual icons. Add per-entry timestamps
for clearer chronology within author groups.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Both panels now use position:fixed with JS-computed coordinates from
getBoundingClientRect(), ensuring they open directly below their
respective header buttons and right-aligned to the button edge.
History panel clamps left edge to prevent off-screen overflow.
Also adds missing click handlers for settings-btn and history-btn
in canvas.html (previously only wired in shell.ts module pages).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace full-height slide-in panels with compact dropdowns that appear
beneath header icons. Both icons now grouped in header-right with
mutual exclusion and click-outside-to-close behavior.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add if (!this.shadowRoot) guard in history panel and space settings
connectedCallback to prevent error on element reconnection
- Null-check toggleMemoryBtn before addEventListener since #toggle-memory
element was removed
- Import and register RStackSpaceSettings + RStackHistoryPanel in
canvas.html so settings gear and history panel work on canvas page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move settings gear to header right (next to identity) on all pages.
Add history clock button in header left that opens a new slide-out
history panel with Activity feed and Time Machine tabs. Embed author
identity (DID, username, timestamp) in Automerge change messages via
JSON envelope, with backward-compatible parsing for old plain strings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>