Preserve TUI picker selection after detail views
- Dominant language
- TypeScript
- Stars
- 283
- Forks
- 95
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 183
Description
## Problem
`PaginatedTablePicker` keeps its cursor only in component-local state. Opening a selected resource unmounts the picker, so returning from its detail screen resets the cursor to the first row. This affects every resource flow built on the shared picker.
## Expected experience
- preserve the selected row by stable value when a picker opens a detail screen
- restore that row when the user returns with Escape
- apply the behavior once in `PaginatedTablePicker` for every resource family
- keep existing pagination, resize, transition, and filtering reset behavior
- avoid resource-specific cursor state in individual screens
## Verification
- shared Harness picker regression
- Memory Event picker regression
- full repository coverage suite
- TUI-harness validation across both resource families
Contributor guide
Research direction
Start by locating the shared PaginatedTablePicker and trace how opening a resource detail view unmounts it and how Escape returns to the picker. Run the shared Harness picker and Memory Event picker regressions first; done means the selected row is restored by stable value while pagination, resize, transitions, and filtering resets remain unchanged, with the full coverage and TUI-harness suites passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100