feat(sessions): Navigate previous messages with plain arrow keys#3443
Conversation
|
Merging to
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
|
React Doctor found no issues in the changed files. 🎉 Reviewed by React Doctor for commit |
|
Reviews (1): Last reviewed commit: "navigate previous messages with arrow ke..." | Re-trigger Greptile |
There was a problem hiding this comment.
Both resolved bot comments were substantively addressed in this diff: the Tippy popup scoping bug is fixed via session-tagged data attributes, and the stale-closure timing issue is avoided by reading from synchronously-updated refs at keypress time. No showstoppers found.
New commits pushed (delta classified non_trivial_delta) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Well-structured UI feature with clean separation (pure logic module + tests), proper timing fixes via synchronously-updated refs, and session-scoped popup detection addressing the cross-editor popup bug. The two bot P2 findings are genuinely resolved in the current code. No backend, data model, API contract, or security changes.
New commits pushed (delta classified non_trivial_delta) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Clean UI-only feature with proper timing fixes via synchronously-updated refs, session-scoped Tippy popup detection resolving the cross-editor bug, a pure logic module with tests, and no backend, data model, API contract, or security changes. Both resolved bot findings are genuinely addressed in the current diff.
New commits pushed (delta classified non_trivial_delta) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Clean UI-only feature with pure logic module, comprehensive tests, proper stale-closure fix via synchronously-updated refs, and session-scoped Tippy popup detection addressing the cross-editor bug. Both resolved bot findings are genuinely addressed in the current diff. No backend, data model, API contract, or security changes.
a73b8e2 to
03d50ea
Compare
New commits pushed (delta classified non_linear_history) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Clean UI-only feature with proper timing fixes via synchronously-updated refs, session-scoped popup detection resolving the cross-editor bug, a pure logic module with good test coverage, and no backend, data model, API contract, or security changes. Both resolved bot P2 findings are genuinely addressed in the current diff.
New commits pushed (delta classified non_trivial_delta) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Clean UI-only feature: boundary-aware prompt recall via refs avoids the stale-closure timing issue flagged by bots, the session-scoped Tippy popup query resolves the cross-editor popup bug, the pure logic module has comprehensive tests, and no backend, data model, API contract, or security surface is touched.
Problem
Finding and reusing your own previous prompts in a long agent conversation is tedious and forces a hand off the keyboard. #3407 added option+up/down and cmd+J for jumping through messages, but plain arrow up is the established pattern from terminals, Claude, Codex and other chat inputs for recalling what you sent.
Requested in team-desktop.
Changes
Plain up/down in the session composer now cycles through the prompts you actually sent in that conversation, terminal style: each press loads a sent prompt into the input. The conversation view does not move; option+up/down and cmd+J remain the way to jump the thread. Arrows keep moving the caret as usual; only a press with the caret already at the start or end of the input triggers recall (same behavior as pi). Down walks back toward newer prompts, and one more down past the newest restores whatever you were typing (mention chips included). Sending a prompt resets the cycle. Works with both the current conversation view and the experimental chat thread.
How did you test this?
composerPromptRecall.test.ts)pnpm --filter @posthog/ui test(1576 tests),pnpm typecheckand the react-doctor CI gate replicated locally, all passAutomatic notifications