3.5 KiB
3.5 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-compact-searchable-picker | Implement the compact searchable picker | complete | 1 | plan.md | ../../specs/agents/runtime-updates.md |
Task 01: Implement the compact searchable picker
Replace the always-visible native 50-option selector with compact latest and Kandev-default quick choices plus an explicit searchable browser. Keep the existing target preview, default reset, approval, and job lifecycle callbacks.
Acceptance
- Opening the dialog with a long catalogue shows the status summary and quick choices, not the full version history.
- Browsing exposes a searchable list with latest, active, and default markers; selecting a result previews that exact target.
- Desktop and mobile preserve the same selection behavior, with one contained scroll owner and touch-sized rows on mobile.
- Existing locales remain complete and the focused desktop/mobile tests pass.
Verification
cd apps && pnpm --filter @kandev/web test -- --run components/settings/agent-runtime-update-control.test.tsx
cd apps/web && pnpm run typecheck
cd apps/web && pnpm run i18n:check
cd apps/web && pnpm e2e:run --project chromium e2e/tests/settings/agent-runtime-update.spec.ts
cd apps/web && pnpm e2e:run --project mobile-chrome e2e/tests/settings/mobile-agent-runtime-update.spec.ts
Files likely touched
apps/web/components/settings/agent-runtime-update-control.tsxapps/web/components/settings/runtime-version-picker.tsxapps/web/components/settings/agent-runtime-update-control.test.tsxapps/web/e2e/tests/settings/agent-runtime-update.spec.tsapps/web/e2e/tests/settings/mobile-agent-runtime-update.spec.tsapps/web/src/locales/en/agents.jsonapps/web/src/locales/pt-pt/agents.jsonapps/web/src/locales/zh-cn/agents.jsonapps/web/src/locales/zh-hk/agents.jsonapps/web/src/locales/zh-tw/agents.jsondocs/specs/agents/runtime-updates.mddocs/plans/managed-runtime-version-picker/plan.mddocs/plans/managed-runtime-version-picker/task-01-compact-searchable-picker.md
Dependencies
None.
Parallelism
Sequential.
Inputs
- Option 1 selected by the user: compact summary, quick latest/default choices, explicit browse action, searchable complete catalogue.
- Existing
AgentRuntimeUpdateControlcallbacks and desktop/mobile surface. - Mobile parity contract: one drawer body scroll owner and 44px touch rows.
Output contract
Update the picker, localized copy, focused component/E2E coverage, and these plan results. Report exact commands, changed files, and any remaining browser verification blockers.
Results
- Implemented the compact quick-choice picker and on-demand searchable version browser.
- Preserved preview/default callbacks and updated desktop/mobile selectors, rollback, reset, and status assertions.
- Added localized copy and regenerated the pseudo catalogue.
- Component test, typecheck, i18n check, changed-file lint, desktop E2E (15), mobile E2E (5), and
git diff --checkall pass. - Traditional Chinese generation was blocked by the pre-existing
dynamicProfileSettingsresidual warning; equivalent generated values were added manually and the catalog checks pass. - Follow-up compactness refinement keeps the initial desktop dialog and mobile drawer free of body overflow, while long streamed output remains scrollable.
- Fresh desktop and mobile screenshots were captured, inspected, mapped in the PR asset manifest, and compressed before publication.