- Ctrl+Z/Cmd+Z was calling redo() instead of undo(); fixed and added missing Ctrl+Shift+Z/Cmd+Shift+Z and Ctrl+Y redo bindings - Wrap all async keybind handlers in try/finally so isProcessing is always cleared even if undo/redo/copy/paste throws - Fix === typo in disableHotkeyInput (comparison instead of assignment), and use full value replacement so the Preact signal update is reactive