Repository navigation
composer: unwrap quote blocks with Backspace - #25681
Conversation
|
Owned by an agent session · session |
|
Bead |
|
Independent Astra xhigh review: SHIP at Primary review: SHIP for the quote lift, keymap precedence, unchanged attachment Backspace interception, and all three regression cases. Base red/green: 0/3 then 3/0; adjacent caret suite gives 5/0 at this head. The real browser recording is in the body. Exact-head checks reconciled: fast gates and cmux-next checks succeeded. Familiar-intent, review-link, gallery-comment and fast-gates status publication failed on GitHub installation quota403; fast-gates logged GATES=success. Gallery health run40408638812 rendered all three new quote states ready=1 (text1045ms, empty699ms, after-paragraph817ms). Its13 broken states are unchanged Add Project/folder/permission/menu selector fixtures, with no Backspace in those plays; this PR touches none of their source/fixtures. CI run40408638974 is still being waited to terminal state because the PR watcher truncated the check list at100; no green or merge is inferred from that truncated snapshot. |
|
Found 122 test failures on Blacksmith runners: Failures
...and 112 more test failures. View all on Blacksmith
|
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; NEW: green on the base 711019c; do not merge until green; see lane-rules Tour of |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Backspace now unwraps a quote at its start into a plain paragraph, including an empty quote. It preserves the text and keeps any preceding paragraph separate. This repairs the shared rich editor used by chat and Cmd-I. New Tab paths that use plain inputs cannot create quote blocks.
Leo, 2026-10-26: "and i cant delete quote block text thingy with backspace? only shift enter? strange..."
Milkdown replaces ProseMirror's lifting Backspace with
joinTextblockBackward: the first quote stays stuck, while one after other text can merge into that paragraph. A quote-specific command lifts its first paragraph before that fallback. Other Backspace behavior passes through.Verification
cd webviews && bun test test/composer-quote-backspace.test.tsx: 0 pass / 3 fail at regression commit7419f7e7377b; 3 pass / 0 fail after the fix. Reproduced all three failures against current base4e28d9cf44d9ec587ad96d223ced6e5bc2c7f5b0too.75284f15318dbf58ca5654f91b8bb27ec50d9a5e.webviews/src/pages/keybindings/styles.css(missing reduced-transparency fallback). No changes to that file.Observed / Not run
Observed the real Chromium gallery editor before and after Backspace in three fixture states: quoted text, empty quote, and a quote after another paragraph. The recording below compares base (left) and head (right), in order: nonempty quote, empty quote, quote after another paragraph. Reference reviewed:
cmux-design-references/apps/claude/live/composer-demo-ready.png; this keyboard repair preserves existing composer chrome.No native build or manual nightly verification performed yet. The regression exercises the shared editor's actual keymap; the recordings drive a real browser keyboard.
Full quality recording
Agent session: agent session