fix(web): wire 3 dead settings controls — auto-preview (+refresh), indent-size, title Escape-revert#828
Merged
Conversation
…ze to CM6 (#825), title Escape-revert (#826); flip HDR-2/SET-4/PRV-6 e2e fixmes to real passing tests Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DaTcJeuioVJaqvH8ULCaY6
This was referenced Jun 18, 2026
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.
Summary
Fixes three product bugs the e2e gap suite surfaced (#824, #825, #826), and flips their
test.fixmeguards to real passing tests. All conservative — defaults preserve existing behavior.#824 — auto-preview toggle was a dead control
settings.autoPreviewwas never passed toPreviewFrame. Now wired at both call sites; added arender()method onPreviewHandleand a design-system Refresh control inRendererHeadershown only when auto-preview is off (default stays on → no UI change for existing users). PRV-6 → real debounce-proof test (off → edit → preview stays stale pastPREVIEW_DEBOUNCE→ Refresh updates it).#825 — indent-size setting was not wired
Threaded
indentWith/indentSizeintoCodeEditor; sets CM6'sindentUnitfacet via a liveCompartment(matches the theme/keymap pattern). Confirmed the DSL grammar'sdelimitedIndentreads this facet, so it changes observable block-indent width. SET-4 → real test (default 2 → 4).#826 — title input had no Escape-to-revert
Added a draft buffer to the title field: keystrokes edit the draft, Enter/blur commit, Escape reverts to the last committed value. Handles the async-store-update flicker edge case; no-op commits don't mark dirty. HDR-2 → real test.
Validation
pnpm -C web typecheckclean;pnpm -C web test1087 passed, 1 pre-existing skip (added unit tests for all 3 fixes).header/settings/preview: 16 passed, 4 skipped, 0 failed (the 3 flipped tests pass; rest green).fixme(genuinely need auth): HDR-3/4/6, SET-7.Closes #824, #825, #826.