fix(pi): cap the project picker at 20 rows so it does not fill the screen
Some checks failed
CI/CD / typecheck (pull_request) Successful in 1m16s
CI/CD / lint (pull_request) Successful in 2m41s
CI/CD / test (pull_request) Successful in 1m22s
CI/CD / build (pull_request) Successful in 2m12s
CI/CD / smoke (pull_request) Failing after 3m46s
CI/CD / publish (pull_request) Has been skipped

pi's ExtensionSelectorComponent.updateList() renders every option with no
windowing, so 50 rows scrolled the transcript away. prime-agent's selector
windows to ~20 itself and shows a true (20/356) counter; matching that height
makes both hosts behave the same.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017BMXdb2qZbPSh8Q7XpTyjB
This commit is contained in:
Michal
2026-08-08 18:34:10 +01:00
parent e6db9cac83
commit bc83d36a68
2 changed files with 8 additions and 3 deletions

File diff suppressed because one or more lines are too long

View File

@@ -450,8 +450,13 @@ export default function (pi: ExtensionAPI) {
/** Above this many projects, arrowing through the list stops being usable. */ /** Above this many projects, arrowing through the list stops being usable. */
const FILTER_THRESHOLD = 20; const FILTER_THRESHOLD = 20;
/** Never render more than this in one selector, even after filtering. */ /**
const MAX_SHOWN = 50; * Hard cap on rendered rows. pi's ExtensionSelectorComponent.updateList()
* renders *every* option with no windowing, so an uncapped list scrolls the
* whole screen away. prime-agent's selector windows to ~20 itself; this
* matches that height so both hosts feel the same.
*/
const MAX_SHOWN = 20;
/** /**
* Choose a project, asking for a filter first when the list is long. * Choose a project, asking for a filter first when the list is long.