CodeNomad/docs/help/en
Pascal André ad844d0645
feat(transcript): jump to the previous or next user message with Shift+Up/Down (#1077)
Finding "what did the agent answer when I asked…" meant scrolling or hovering the timeline marker by marker. Two new commands, Previous User Message and Next User Message, appear in the command palette and in Settings → Keyboard shortcuts, bound by default to Shift+ArrowUp and Shift+ArrowDown. From the conversation (where focus lands after a send), they place the nearest user message before or after the reading position at the top, paging its history window in when it is not resident, like a timeline click. Text fields, arrow-key widgets, IME composition and modal dialogs keep the keys, so Shift+Arrow still selects text in the composer; key repeat does not repeat the jump.

components/user-message-navigation.ts searches the timeline's markers, including the structural index beyond the resident window, and uses list order for a current message without a marker. MessageSection handles the shortcut in the capture phase, before the transcript reads arrows as a scroll gesture; the palette commands reach it through JUMP_USER_MESSAGE_EVENT. The jump requests the index even while the timeline is hidden, and a jump finding nothing resident before it arrives runs once it does. The last target stays the reference while loading or shown, since the list cannot raise a message near the end to its top. Both are forgotten in cancelWindowNavigation, which every other navigation (First/Latest, sends, paging, session changes, deactivation) passes through, and on scroll gestures, so a late index never overrides a newer navigation.

The public help lists the shortcut in all ten locales and states the 74-action catalog (it said 49); HOTKEYS.md and AGENTS.md describe the dispatch; labels are translated in every locale.

Validation: unit tests for the target search and key guard plus the catalog count (now run in CI); browser regressions for resident and windowed jumps, the composer keeping Shift+ArrowUp, the deferred jump with a hidden timeline, an explicit Latest dropping it, and repeated jumps near the end (the last three fail without their mechanism). hotkeys-settings, header-windows and history-navigation suites pass; UI own-tsconfig typecheck, root typecheck and test:help pass. Gatekeeper review (GPT-6.1 Sol): one P2 (deferred jump surviving Latest) fixed, then zero actionable findings at 7ab3f17d3cac6be694f989fde8d217c313599f9d (rebased on dev as bf6e09990ba7b65789d5789fe00d87b5e1362625; only the help pages' catalog count conflicted).

Refs #1075
2026-10-21 14:42:17 +02:00
..
browser-sidecars.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
conversations.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
desktop.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
extensions.md docs(help): multilingual help site with in-app Help menu and palette entry (#859) 2026-10-14 22:44:56 +02:00
files.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
history.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
index.md fix(workspaces): closing a project tab closes the project in CodeNomad (#970) 2026-10-15 15:14:29 +02:00
install.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
integrations.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
missions.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
mobile.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
opencode.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
permissions.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
projects.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
providers.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
remote-access.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
remote-control.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
security.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
server.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
settings.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
shortcuts.md feat(transcript): jump to the previous or next user message with Shift+Up/Down (#1077) 2026-10-21 14:42:17 +02:00
support.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
troubleshooting.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
updates.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00
voice.md docs(help): bring the user guide back in line with the current app (#1079) 2026-10-21 14:38:29 +02:00