78 lines
3.1 KiB
Markdown
78 lines
3.1 KiB
Markdown
---
|
|
id: "03-responsive-clearance-and-e2e"
|
|
title: "Responsive clearance and E2E"
|
|
status: done
|
|
wave: 3
|
|
depends_on: ["02-settings-ui-and-transcript-control"]
|
|
plan: "plan.md"
|
|
spec: "../../specs/ui/requirements/transcript-navigation-settings.md"
|
|
---
|
|
|
|
# Task 03: Responsive Clearance and E2E
|
|
|
|
## Acceptance
|
|
|
|
- The settings scroll container reserves enough bottom space for the final control to scroll fully
|
|
above the floating Save action, status bar, and safe-area inset.
|
|
- Desktop E2E proves draft-before-Save, persistence after reload, independent visibility, and the
|
|
auto-scroll control hidden in a seeded transcript.
|
|
- Mobile E2E proves the final switch and touch-sized Save action do not overlap at 390px and the
|
|
page has no horizontal overflow.
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
cd apps && pnpm --filter @kandev/web test -- --run components/settings/settings-layout-client.test.tsx
|
|
cd apps/web && pnpm e2e:run --no-build -- tests/settings/settings-manual-save.spec.ts --grep "persists transcript navigation choices"
|
|
cd apps/web && pnpm e2e:run --no-build --project mobile-chrome -- tests/settings/mobile-general-settings.spec.ts --grep "keeps the full Transcript Navigation card"
|
|
cd apps/web && pnpm e2e:run --no-build -- tests/chat/auto-scroll-toggle.spec.ts --grep "can be hidden without changing"
|
|
cd apps/web && pnpm e2e:run --no-build --project mobile-chrome -- tests/chat/mobile-auto-scroll-toggle.spec.ts --grep "can be hidden without changing"
|
|
```
|
|
|
|
## Files Likely Touched
|
|
|
|
- `apps/web/components/settings/settings-layout-client.tsx`
|
|
- `apps/web/components/settings/settings-layout-client.test.tsx`
|
|
- `apps/web/e2e/fixtures/test-base.ts`
|
|
- `apps/web/e2e/helpers/api-client.ts`
|
|
- `apps/web/e2e/tests/settings/settings-manual-save.spec.ts`
|
|
- `apps/web/e2e/tests/settings/mobile-general-settings.spec.ts`
|
|
- `apps/web/e2e/tests/chat/auto-scroll-toggle.spec.ts`
|
|
- `apps/web/e2e/tests/chat/mobile-auto-scroll-toggle.spec.ts`
|
|
- Existing transcript-navigation E2E cleanup/setup where its baseline changes.
|
|
|
|
## Dependencies
|
|
|
|
Task 02.
|
|
|
|
## Parallelism
|
|
|
|
Sequential. It verifies the completed settings contract and UI and shares persistent E2E user
|
|
settings with existing specs.
|
|
|
|
## Inputs
|
|
|
|
- Spec: final-control clearance and persistence scenarios.
|
|
- Mobile contract in `plan.md`.
|
|
- Existing `mobile-general-settings.spec.ts` geometry assertions and settings fixture cleanup
|
|
conventions.
|
|
|
|
## Risks
|
|
|
|
- E2E workers share persisted user settings; every changed field must be restored after each test.
|
|
- Production-build E2E must not reuse stale frontend assets.
|
|
|
|
## Output Contract
|
|
|
|
Report geometry measurements, desktop/mobile scenarios, rendered verification, files changed,
|
|
exact commands/results, blockers and residual risks, then mark this task and `plan.md` complete.
|
|
|
|
## Completion
|
|
|
|
- The settings scroll container now reserves `11rem` plus the safe-area and application-status-bar
|
|
height, so the final Transcript Navigation card can clear the floating Save action.
|
|
- Focused unit verification passed: 5 settings-layout tests.
|
|
- Focused E2E verification passed for manual persistence, mobile final-card clearance, and hidden
|
|
auto-scroll controls on both desktop and mobile.
|
|
- No residual blockers.
|