hermes-agent/apps
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
..
bootstrap-installer fix(bootstrap): download timeouts + BOM upgrade for pre-fix cached scripts (#67193 follow-up) 2026-07-19 14:08:48 +05:30
desktop test(desktop): e2e proving session-load re-render bug 2026-07-20 16:40:59 -04:00
shared fix(desktop, ink): don't wipe messages before final message (#65919) 2026-07-20 11:42:29 -04:00