FN-6527: add terminal shortcuts and preferences
Adds persistent terminal customization and keyboard-less navigation controls to the dashboard terminal. - Add arrow shortcut buttons that send ANSI cursor sequences alongside existing Ctrl/Alt helpers. - Add localStorage-backed terminal preferences for font family, size, cursor style, blink, and renderer with legacy font-size migration. - Apply font and cursor preferences live, document renderer behavior, and cover preference parsing and modal controls with tests. Files changed: docs/dashboard-guide.md | 3 + .../dashboard/app/components/TerminalModal.css | 57 ++++- .../dashboard/app/components/TerminalModal.tsx | 271 ++++++++++++++++----- .../components/__tests__/TerminalModal.test.tsx | 135 +++++++++- .../utils/__tests__/terminalPreferences.test.ts | 90 +++++++ .../dashboard/app/utils/terminalPreferences.ts | 197 +++++++++++++++ 6 files changed, 690 insertions(+), 63 deletions(-) Fusion-Task-Id: FN-6527 Fusion-Task-Lineage: bc863486-9d2c-41d5-84a4-7b697e81a298
This commit is contained in:
@@ -338,6 +338,9 @@ Features:
|
||||
- PTY-backed shell sessions
|
||||
- Ctrl/Cmd+C copies the current terminal selection, while plain Ctrl+C with no selection still sends SIGINT
|
||||
- Ctrl/Cmd+V pastes clipboard text into the active terminal session
|
||||
- The Shortcuts panel includes Ctrl/Alt helpers, ESC/Tab, common shell shortcuts, and Up/Down/Left/Right arrow buttons that send standard ANSI cursor sequences for keyboard-less shell history and line editing
|
||||
- The Preferences panel customizes font family, font size, cursor style, cursor blink, and renderer; changes persist in browser `localStorage` under `kb-terminal-preferences`, with the legacy `kb-terminal-font-size` value migrated automatically
|
||||
- Font and cursor preferences apply live to the active xterm instance; renderer changes apply the next time the terminal opens, and mobile devices keep the WebGL renderer disabled to avoid glyph artifacts
|
||||
- Mobile-aware virtual keyboard handling and auto-refit behavior
|
||||
- Reopen/reconnect/session-recovery flows preserve single-keystroke input forwarding (no duplicate characters, no page refresh required)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user