108 lines
3.5 KiB
Markdown
108 lines
3.5 KiB
Markdown
---
|
|
id: "15-in-editor-preview-docs-e2e"
|
|
title: "Revise preview guidance and browser E2E"
|
|
status: done
|
|
wave: 6
|
|
depends_on:
|
|
- "14-in-editor-html-preview"
|
|
plan: "plan.md"
|
|
requirements:
|
|
- REQ-UI-NATIVE-HTML-PREVIEW-001
|
|
acceptance_criteria:
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.1
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.2
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.3
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.4
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.7
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.8
|
|
- AC-UI-NATIVE-HTML-PREVIEW-001.10
|
|
system_design:
|
|
- ../../specs/ui/system-design/native-html-preview.md
|
|
---
|
|
|
|
# Task 15: Revise preview guidance and browser E2E
|
|
|
|
## Summary
|
|
|
|
Update public guidance and browser tests so they describe and prove the
|
|
in-editor source/preview workflow while retaining native browser fidelity and
|
|
the focused mobile composition.
|
|
|
|
## In scope
|
|
|
|
- Public documentation for in-editor preview, source recovery, refresh, and the
|
|
optional Browser-panel action.
|
|
- Desktop Chromium E2E proving no automatic Browser panel, iframe replacement,
|
|
unsaved republish, native scripts and assets, `Show code`, and dirty state.
|
|
- Mobile Chrome regression coverage for the shared focused iframe behavior.
|
|
- Final specification, documentation, frontend, E2E, and desktop verification.
|
|
|
|
## Out of scope
|
|
|
|
- Changes to the trusted-code boundary or server lifecycle.
|
|
- New executor-matrix E2E beyond existing port-proxy coverage.
|
|
|
|
## Acceptance
|
|
|
|
- Documentation describes the in-editor workflow without claiming automatic
|
|
Browser-panel behavior.
|
|
- Desktop and mobile tests prove the same current-buffer browser value with
|
|
viewport-appropriate controls and source recovery.
|
|
- Task-defined validation passes without retries or flakes.
|
|
|
|
## Verification
|
|
|
|
```bash
|
|
python3 scripts/lint-spec-files.py --all
|
|
node --test scripts/validate-public-docs.test.mjs
|
|
node scripts/validate-public-docs.mjs
|
|
cd apps/web
|
|
pnpm e2e:run tests/chat/html-preview.spec.ts
|
|
pnpm e2e:run --project mobile-chrome tests/task/mobile-html-preview.spec.ts
|
|
cd ../desktop
|
|
pnpm e2e
|
|
```
|
|
|
|
## Files likely touched
|
|
|
|
- `docs/public/developer-tools.md`
|
|
- `apps/web/e2e/tests/chat/html-preview.spec.ts`
|
|
- `apps/web/e2e/tests/task/mobile-html-preview.spec.ts`
|
|
- Focused E2E page objects or helpers.
|
|
|
|
## Dependencies
|
|
|
|
Task 14 supplies the revised in-editor implementation.
|
|
|
|
## Risks
|
|
|
|
- An E2E test can accidentally assert the old Browser-panel iframe.
|
|
- Production-build E2E can exercise stale assets unless the managed runner
|
|
rebuilds after frontend changes.
|
|
|
|
## Parallelism
|
|
|
|
`sequential`
|
|
|
|
## Inputs
|
|
|
|
- All applicable acceptance criteria and the revised responsive contract.
|
|
- The amended trusted native-browser HTML preview ADR.
|
|
|
|
## Results
|
|
|
|
- Public guidance now documents the in-editor desktop and focused mobile
|
|
workflow, explicit Browser-panel access, and the session-scoped server
|
|
lifecycle. Closing any preview view unmounts that view; agentctl teardown
|
|
stops the bounded shared server.
|
|
- Desktop Chromium E2E passed 2 of 2 tests on the first attempt. It proves no
|
|
automatic Browser panel, native scripts and browser APIs, relative assets,
|
|
current-buffer refresh, explicit Browser-panel opening, source recovery, and
|
|
retry after publication failure.
|
|
- Mobile Chrome E2E passed 2 of 2 tests on the first attempt, preserving the
|
|
focused-viewer interaction and source recovery at phone width.
|
|
- Specification validation passed all 30 tests. Public-documentation validation
|
|
passed 61 tests across 46 published pages. Desktop shell E2E passed.
|
|
- The full frontend suite passed 1,872 test files and 15,902 tests, with four
|
|
intentional skips and no failures.
|