hermes-agent/apps/desktop/scripts
ethernet 0860ee4e5a feat(desktop/e2e): Playwright E2E suite with visual regression diffs
Adds a full desktop Playwright E2E suite that launches the Electron app
against a mock inference server, exercising the full boot chain:

  electron -> hermes serve -> mock provider -> renderer

Includes:
- Mock OpenAI-compatible inference server (mock-server.ts)
- Shared fixtures with sandbox isolation (credentials, HERMES_HOME,
  userData, fixed window-state.json for reproducible screenshots)
- Test specs: boot, boot-failure, onboarding, mock-backend-setup, chat,
  and packaged-app launch
- Visual regression: expectVisualSnapshot() wraps toHaveScreenshot in
  try/catch so diffs are reported without failing the test suite
- CI workflow: xvfb at 1280x1024, baseline cache from main
  (--update-snapshots on main, compare on PRs), step summary table with
  diff/actual/expected image links, dedicated visual-diffs artifact
- dev:mock script for local fake-provider development
- test:e2e:visual + test:e2e:update-snapshots scripts using cage
- .gitignore: *-snapshots/ (baselines cached in CI, not committed)
2026-07-20 11:44:40 -04:00
..
perf bench(desktop): measure representative (warm-cache) cold start (#67733) 2026-07-19 23:21:45 +00:00
.gitignore
…
after-pack.mjs
…
assert-dist-built.mjs
…
assert-dist-built.test.mjs
…
assert-root-install.mjs
…
before-build.mjs
…
before-pack.mjs
…
before-pack.test.mjs
…
bundle-electron-main.mjs
…
click-session.mjs
…
dev-mock.mjs feat(desktop/e2e): Playwright E2E suite with visual regression diffs 2026-07-20 11:44:40 -04:00
dev-no-hmr.mjs
…
diag-jump.mjs
…
diag-scroll-reset.mjs
…
eval.mjs
…
gen-share-codes.ts
…
notarize-artifact.mjs
…
notarize.mjs
…
patch-electron-builder-mac-binary.mjs
…
probe-renderer.mjs
…
probe-thread.mjs
…
profile-typing-lag.md
…
rebuild-native.mjs
…
reload-renderer.mjs
…
reload.mjs
…
run-electron-builder.mjs
…
set-exe-identity.mjs
…
stage-native-deps.mjs
…
stage-native-deps.test.mjs
…
test-desktop.mjs
…
utils.mjs
…
write-build-stamp.mjs fix(desktop): stop hard-failing pack on non-git checkouts + fix ZIP-path autocrlf (supersedes #67643) (#67730) 2026-07-19 19:29:36 -04:00
write-build-stamp.test.mjs fix(desktop): stop hard-failing pack on non-git checkouts + fix ZIP-path autocrlf (supersedes #67643) (#67730) 2026-07-19 19:29:36 -04:00