mirror of
https://github.com/wu736139669/hapi.git
synced 2026-11-07 01:21:37 +00:00
* fix(web): give the rich composer its own undo history (#2085) Plain-text paste, selected-text deletion, cut, Enter, and mention or suggestion insertion rebuild the contenteditable DOM, which the browser's native undo stack cannot follow, so Ctrl+Z silently did nothing for them. The composer now records a snapshot (serialized value + selection) before every edit, groups consecutive native typing into one step, and handles Ctrl/Cmd+Z, Ctrl/Cmd+Shift+Z, Ctrl+Y and beforeinput historyUndo/Redo itself. Undo restores the prior selection, including ranges. An external value change (send, draft restore) starts a fresh history. Fixes #2085 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(web): keep composer undo snapshots as segments Reparsing a serialized snapshot turned literal `[title](/sessions/<id>)` text into a mention chip (and normalized its title) on undo. Store the segments themselves so undo restores the exact draft. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>