- Uncomment bridge service in compose.yml so stack runs end-to-end on prod
- Add _byan-output/ to .gitignore (BYAN session notes, may contain credentials)
- Untrack previously committed _byan-output/ files
- Include e2e Stagehand config and smoke env template
- waitForURL: replace page.waitForURL (requires load event) with
expect(page).toHaveURL (polls pushState SPA navigation)
- Title editor: use .page-title [contenteditable] + keyboard.type,
not input.fill (Docmost title is Tiptap, not a text input)
- Body editor: scope slash command interactions to .editor-container .ProseMirror
to avoid hitting the title editor
- freshPage debounce: add 800ms wait after Tab so title slug navigate fires
before the slash test starts (eliminates false framenavigated crash signal)
- Sub-page: hover parent node link by slug, click CreateNode with force:true
to bypass CSS visibility:hidden on .actions div
- Template picker: target template-picker-search input (unique to open modal)
to resolve two-instance testid ambiguity (sidebar + page.tsx)
- Sync block: use .node-syncBlock class (Tiptap ReactNodeViewRenderer pattern)
instead of [data-type="syncBlock"] which is not set
- Backlinks: fix testid to backlinks-panel, widen to accept any state since
indexing is async; fix wikilink nav to use sidebar link not bracketed text
- Space graph: open SpaceMenu dropdown first, then click graph menuitem
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds an autonomous Playwright suite (acadenice-smoke-full.spec.ts) that drives
the prod-like AcadeDoc stack via the UI to surface UI bugs without manual
screenshot diagnostic. Each step is wrapped in test.step and records
network/console/page errors plus per-step screenshots. A post-test script
(scripts/generate-smoke-report.ts) aggregates telemetry into SMOKE-REPORT.md.
The smoke runs against the real fork stack (client :5173, server :3001,
bridge :4000) using Corentin's prod-like Acadenice credentials. It does NOT
share state with the cross-stack e2e suite (no Baserow seeding, no
docker-compose-e2e dependency) — its dedicated playwright.smoke.config.ts
declares no setup project.
Coverage: login, create page, sub-page nesting, wikilink + backlink, slash
/database, slash /template, slash /sync-block, workspace graph, space graph.
Initial run results (baseline): 2 OK / 7 KO / 0 PARTIAL — confirms
SpaceSidebar renders-more-hooks crash when opening "Nouvelle page" submenu
(blank-screen Error Boundary), GET /api/acadenice/templates → 403, and
space-scoped graph entry point not reachable. Captured in SMOKE-REPORT.md
for follow-up by R4.5/R4.6.