Files
buzz/desktop/tests
Hayt 7b3aa199d9 feat(desktop): canvas version history, restore, and conflict-checked save
Expose the canvas head event id through the TS API and send it as the
optimistic-concurrency `expected-revision` on every save. When a
concurrent edit moved the head, the relay reject surfaces as a distinct
"canvas changed — reload" state instead of a generic error.

Add a get_canvas_history command over the retained kind:40100 stream and
a history panel with author, timestamp, a line diff against the current
content, and a Restore action. Restore publishes a new head carrying the
selected revision's content under the same conflict guard — it never
mutates or deletes history.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-08-25 12:11:47 -04:00
..