Skip to content

BACK-633 - Scroll the task detail pane with Shift+J/K without leaving the list - #771

Open
kossakovsky wants to merge 1 commit into
MrLesk:mainfrom
kossakovsky:tasks/back-537-detail-pane-scroll-keys
Open

BACK-633 - Scroll the task detail pane with Shift+J/K without leaving the list#771
kossakovsky wants to merge 1 commit into
MrLesk:mainfrom
kossakovsky:tasks/back-537-detail-pane-scroll-keys

Conversation

@kossakovsky

@kossakovsky kossakovsky commented Jul 11, 2026

Copy link
Copy Markdown

Summary

In the task-list view the detail pane can only be scrolled after moving focus into it (right/l or Enter). This binds Shift+J / Shift+K as screen-level shortcuts that scroll the detail pane body from either pane, so the list keeps focus while long descriptions are read.

  • inert while the filter bar is focused, a popup or modal is open, or there is no detail pane
  • plain j/k list navigation is untouched (uppercase-only bindings, following the existing ['e','E','S-e'] idiom)
  • the help popup documents the shortcut

Rebased onto current main

Rebased from the July branch point onto current main. Two notes on how this interacts with what shipped since:

  • BACK-584 (BACK-584 - Keep vim keys inside the list at navigation boundaries #866) reshaped boundary navigation after this PR was opened. The original description also claimed "never triggers the boundary handoff into the search field" — that clause is now satisfied by BACK-584 - Keep vim keys inside the list at navigation boundaries #866 independently, since k at the top of the detail pane already stays put. The remaining scope of this PR is only the scroll-without-leaving-the-list behaviour. The new helper composes with the current shouldMoveFromDetailBoundaryToSearch(scrollOffset, key) signature and adds no interaction with it; the existing navigation suites pass unchanged.
  • Task ID reallocated. This was originally filed as BACK-537, but main allocated that ID to "Make checklist edits and serialization deterministic" on 2026-07-11. To avoid introducing a duplicate task ID, the task was recreated through the CLI allocator as BACK-633 and the old file dropped. The branch name still says back-537 because renaming it would close this PR.

Related Issue or Task

Closes #769

Backlog task: BACK-633

Task Checklist

  • I have created a corresponding task in backlog/tasks/
  • The task has clear acceptance criteria
  • I have added an implementation plan to the task
  • All acceptance criteria in the task are marked as completed

Testing

  • bunx tsc --noEmit — clean
  • bun run check . — clean (374 files)
  • bun run test — 2250 passed / 6 skipped / 1 failed. The single failure is src/test/tui-window-title.test.ts, which fails identically on unmodified main in my environment (I run tests inside tmux, which rewrites the terminal escape sequences that test asserts on), so it is pre-existing and unrelated to this change.
  • src/test/task-viewer-detail-scroll.test.ts covers all six branches of the new helper.
  • Real-PTY check (tmux, 200x50, temp project with a 60-line description), since viewTaskEnhanced is not exercised by the test suite: five Shift+J scrolled the detail body without changing the selected task, three Shift+K scrolled back, and a subsequent plain j moved the selection — confirming focus never left the list. With the search field focused, J was inserted as a literal character and the detail pane did not scroll.

Happy to add a key-event test in the style of src/test/tui-vim-boundary-navigation.test.ts if you'd prefer that behaviour locked down in CI rather than verified by hand.

@kossakovsky
kossakovsky force-pushed the tasks/back-537-detail-pane-scroll-keys branch from 05b6b63 to d817464 Compare July 22, 2026 14:10
… the list

In the task-list view the detail pane can only be scrolled after moving
focus into it (right/l or Enter). Bind Shift+J / Shift+K as screen-level
shortcuts that scroll the detail pane body from either pane, so the list
keeps focus while long descriptions are read. The shortcut is inert while
filters are focused, a popup/modal is open, or there is no detail pane.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@kossakovsky
kossakovsky force-pushed the tasks/back-537-detail-pane-scroll-keys branch from d817464 to 5707c2b Compare August 11, 2026 17:09
@kossakovsky kossakovsky changed the title BACK-537 - Scroll the task detail pane with Shift+J/K without leaving the list BACK-633 - Scroll the task detail pane with Shift+J/K without leaving the list Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Scroll the task detail pane without moving focus (Shift+J/K)

1 participant