2.8 KiB
2.8 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-responsive-right-width | Separate responsive and manual right-column widths | completed | 1 | plan.md | ../../specs/ui/requirements/task-layout-profiles.md |
Task 01: Separate Responsive and Manual Right-Column Widths
Acceptance
- A right column without a genuine sash-resize marker recomputes from the current Dockview width on reload, environment switch, and container resize.
- A genuine right-sash resize stores its raw requested width per environment; it survives reload and returns after a temporary narrow-screen clamp.
- Existing serialized environment layouts with no marker are treated as responsive defaults; mobile, tablet, layout profiles, and the global left sidebar are unchanged.
TDD Sequence
- RED: prove a saved 450px automatic right column restores at the laptop ratio, not at 450px, and that a container expand returns it to the wider ratio.
- RED: prove a manual marker wins over the responsive target and its raw width returns after a laptop clamp.
- GREEN: add the environment-scoped marker, write it only on a genuine sash mouseup, and route restore/enforcement/fast-switch targets through it.
- REFACTOR: centralize the right-target selection so all Dockview entry points use the same automatic-versus-manual rule.
Verification
cd apps && pnpm --filter @kandev/web test -- --run \
lib/state/dockview-layout-builders-fixups.test.ts \
lib/state/dockview-env-switch-pinned.test.ts \
lib/state/dockview-store.test.ts
cd apps/web && pnpm e2e:run tests/layout/pane-resize-right.spec.ts
cd apps/web && pnpm run typecheck
Files likely touched
apps/web/lib/local-storage.tsapps/web/lib/local-storage.test.tsapps/web/components/task/dockview-layout-setup.tsapps/web/components/task/dockview-layout-setup.test.tsapps/web/lib/state/dockview-layout-builders.tsapps/web/lib/state/dockview-layout-builders-fixups.test.tsapps/web/lib/state/dockview-env-switch.tsapps/web/lib/state/dockview-env-switch-pinned.test.tsapps/web/lib/state/dockview-store.tsapps/web/lib/state/dockview-store.test.tsapps/web/e2e/tests/layout/pane-resize-right.spec.ts
Dependencies
None.
Parallelism
Sequential. Persistence metadata, target selection, and browser coverage share the same behavior and must land together.
Inputs
docs/specs/ui/requirements/task-layout-profiles.md, especially Persistence guarantees and the display-switch scenarios.docs/plans/dockview-responsive-right-width/plan.md.- Existing user-resize persistence coverage in
apps/web/e2e/tests/layout/pane-resize-right.spec.ts.
Output contract
Report the RED failures, the automatic/manual target rules, exact files changed, targeted unit/E2E/typecheck results, and task/plan status updates.