2.1 KiB
2.1 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-dockview-browser-navigation | Dockview browser navigation | done | 1 | plan.md | ../../specs/ui/requirements/port-proxy-browser-panel.md |
Task 01: Dockview browser navigation
- Acceptance:
openBrowserPanel(url)updates and focuses the active Browser panel, or the first Browser panel when no Browser panel is active.- When no Browser panel exists, the action adds one in the central group with
params.urlset tourland makes it active. - The Browser panel updates its address input and iframe source when Dockview changes
params.url.
- Verification:
cd apps && pnpm --filter @kandev/web test -- lib/state/dockview-panel-actions.test.tscd apps/web && pnpm run typecheck
- Files likely touched:
apps/web/lib/state/dockview-panel-actions.tsapps/web/lib/state/dockview-store.tsapps/web/lib/state/dockview-panel-actions.test-utils.tsapps/web/lib/state/dockview-panel-actions.test.tsapps/web/components/task/browser-panel.tsxapps/web/components/task/browser-panel.test.tsx
- Dependencies: None.
- Parallelism: sequential.
- Inputs: Spec state/data ownership, API surface, and first three scenarios. Use
focusOrAddPanel,api.panels,panel.api.component,panel.api.updateParameters, and the existing panel portal parameter forwarding. - Output contract: Summary, exact files changed, focused test results, typecheck result, blockers, and updated task/plan status.
Results
- Added
openBrowserPanel(url)to the Dockview actions and store contract. - Reuses the active Browser panel, then the first Browser panel, and otherwise creates one in the central group with a stale-group fallback.
- Synchronizes Browser panel address state when Dockview changes
params.url. cd apps && pnpm --filter @kandev/web test -- lib/state/dockview-panel-actions.test.ts— 31 tests passed.cd apps/web && pnpm run typecheck— passed.- Browser parameter synchronization is covered by the desktop E2E scenarios in Task 03.