hermes-agent/apps/desktop/e2e
ethernet 8d2883abf8 test(desktop): e2e proving session-load re-render bug
Adds an E2E test that reproduces the multi-pass transcript re-render
bug when loading a large previous session. The desktop's resumeSession
path does up to three message-set passes (warm cache → session.activate
projection → REST persisted transcript), each replacing the $messages
atom and rebuilding the transcript DOM — visible as a flicker on large
sessions.

The test:
- Seeds a real 53-message session (exported from state.db, stripped to
  minimal stubs — 13.5KB) into a sandbox HERMES_HOME via
  SessionDB.import_sessions before launch
- Opens the session from the sidebar
- Instruments the thread viewport with a MutationObserver to count DOM
  mutation bursts (groups separated by a 30ms gap)
- Asserts >= 2 bursts, proving the transcript was rebuilt more than once

Also exports createSandbox, writeMockProviderConfig, writeEnvFile,
buildAppEnv, findElectron, and launchDesktop from fixtures.ts so the
new spec can compose its own seeded-backend fixture without duplicating
the sandbox/config/launch logic.
2026-07-20 16:40:59 -04:00
..
fixtures test(desktop): e2e proving session-load re-render bug 2026-07-20 16:40:59 -04:00
scripts test(desktop): e2e proving session-load re-render bug 2026-07-20 16:40:59 -04:00
boot-failure.spec.ts revert(desktop): restore Preparing error state in onboarding 2026-07-20 14:32:13 -04:00
boot.spec.ts feat(desktop/e2e): Playwright E2E suite with visual regression diffs 2026-07-20 11:44:40 -04:00
chat.spec.ts fix(desktop): keep visual E2E diffs advisory 2026-07-20 11:44:41 -04:00
fix-electron-tracing.ts fix(desktop): address review — overlay a11y, e2e typecheck, nits 2026-07-20 14:37:39 -04:00
fixtures.ts test(desktop): e2e proving session-load re-render bug 2026-07-20 16:40:59 -04:00
large-session-reload.spec.ts test(desktop): e2e proving session-load re-render bug 2026-07-20 16:40:59 -04:00
launch-packaged-app.spec.ts fix(desktop): keep visual E2E diffs advisory 2026-07-20 11:44:41 -04:00
mock-backend-setup.spec.ts fix(desktop): keep visual E2E diffs advisory 2026-07-20 11:44:41 -04:00
mock-server.ts feat(desktop/e2e): Playwright E2E suite with visual regression diffs 2026-07-20 11:44:40 -04:00
onboarding.spec.ts feat(desktop/e2e): Playwright E2E suite with visual regression diffs 2026-07-20 11:44:40 -04:00
visual-snapshot.ts fix(desktop): link artifacts in E2E summary + upload all screenshots 2026-07-20 11:44:41 -04:00