feat(html): take a sheet edit back, and tell the host what the log holds - #865
Merged
Conversation
andiwand
force-pushed
the
feat/sheet-overlay-editor
branch
from
September 8, 2026 20:14
8b2dfb8 to
4603784
Compare
andiwand
force-pushed
the
feat/sheet-edit-log
branch
from
September 8, 2026 20:15
427dc31 to
782dd82
Compare
andiwand
force-pushed
the
feat/sheet-overlay-editor
branch
from
September 8, 2026 20:20
4603784 to
b6e6328
Compare
andiwand
force-pushed
the
feat/sheet-edit-log
branch
from
September 8, 2026 20:24
782dd82 to
2df7282
Compare
Member
Author
|
Reviewed and force-pushed, rebased on the reviewed #863. A chord in another input was taken as the sheet's. Comments cut to a line each, and the changelog entry to what a host acts on — |
`odr.editing.undo()` and `redo()` walk the commits the page made, and ctrl/cmd+Z
and ctrl/cmd+shift+Z reach them from the keyboard. An undo shows the value the
op replaced and drops the op, so what the log hands out and what the page shows
stay the same thing: undoing the only write into a cell leaves that position out
of the envelope entirely.
`odr.onEditChange` carries `{dirty, operations, canUndo, canRedo}` on every
commit, undo, redo and `committed()` - the save button a host lights, the
back-press warning it raises, and the toolbar it greys. `committed()` is what a
host calls once the file it saved matches the page, and undo starts over there.
Step 1.4 of `docs/design/spreadsheet-editing.md`.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012eNBvra2NSxLjUvVKzuXSY
andiwand
force-pushed
the
feat/sheet-edit-log
branch
from
September 8, 2026 20:28
2df7282 to
e370f6e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Generated with Claude Code
Step 1.4 of
docs/design/spreadsheet-editing.md. Stacked on #863.odr.editing.undo()andredo()walk the commits the page made, and ctrl/cmd+Z and ctrl/cmd+shift+Z (or ctrl+Y) reach them from the keyboard while the mode is on. An undo shows the value the op replaced and drops the op, so what the log hands out and what the page shows stay the same thing — undoing the only write into a cell leaves that position out of the envelope entirely, and undoing the second write into one leaves the first.odr.onEditChangecarries{dirty, operations, canUndo, canRedo}on every commit, undo, redo andcommitted(): the save button a host lights, the back-press warning it raises while the page holds unsaved edits, and the toolbar it greys.committed()is what a host calls once the file it saved matches the page again, and undo starts over from there.test/browser/sheet/editing.htmlgrows the log cases — 48 checks, green in Chrome.