improvement(desktop): Electron E2E for desktop tool lifetimes against… · simstudioai/sim@af5501b · GitHub
Skip to content

Commit af5501b

Browse files
authored
improvement(desktop): Electron E2E for desktop tool lifetimes against a live local Sim (#8697)
* improvement(desktop): Electron E2E for desktop tool lifetimes against a live local Sim Runs the real Electron app against a local Sim (Postgres, Redis, realtime) with a recording proxy and a scripted stand-in worker, covering chat switches, Stop, sign-out, approval-gated and stopped claims, and the flag-off foreground round trip. The spec skips unless a live Sim is configured; the http-e2e job provides one. * improvement(desktop): use shared helpers, confirm Redis MONITOR, stage desktop build on the workspace disk * improvement(desktop): bundle the desktop app without macOS prebuilds in the Linux E2E step * improvement(desktop): report desktop E2E failures inline and trace runner memory * improvement(desktop): run the live desktop E2E in its own job on a larger runner * improvement(desktop): warm the live desktop E2E routes and wait on outcomes instead of time - Compile every route, page and client chunk the tests use in a named warm-up step before any timed hold - Send retries only while no turn reached Sim; every held request and poll is bounded - Stop and sign-out tests wait for the import's own report and assert one exact terminal state - Clicks fail fast with the dev overlay's error instead of a blocked click * improvement(desktop): retype and resend a message the hydrating composer dropped * improvement(desktop): run the live desktop E2E against the merged background executor - The dormancy check accepts the app's own registrations, refused while signed out and answered as not enabled once signed in, and still forbids inbox, doorbell, claim, lease and completion - The app and realtime server run in their own sessions and stop through stop-session.sh * improvement(desktop): release the held read at the moment its view lets go, and report the call's error on a wrong terminal state * improvement(desktop): read the chat body's desktop capabilities with toRecord * improvement(desktop): hold the read's own report across Stop, dismiss dev console notices, and keep failure diagnostics * improvement(desktop): stop the live E2E apps by their E2E_APP tags * improvement(desktop): deliver the claim held across Stop to Sim even if Electron gave up on it, and require its 410 * improvement(desktop): warm every route the live E2E reaches, keep sends honest, and check dormancy layer by layer - Warm-up runs the tests' own flows (read, import, a chat switch during a live turn, Stop, login) and waits until every request the app made has been answered - send() resends only when the UI did not take the message; a taken message whose turn never reaches Sim fails as a lost send - Stop and sign-out tests assert exact outcomes without holding the tool's report (the stopped tool reports nothing since #8732) - Dormancy checks registration, device records, binding, routes and the doorbell as separate soft assertions - CI: per-run E2E_APP tags, retries 0, and a path filter for pull requests * improvement(desktop): wait with the shared sleep helper while the dev app settles * improvement(ci): detect live desktop suite changes with git, covering chat pages and auth routes * improvement(ci): run the live desktop suite unless every change is clearly unrelated, and fail open - The change check skips only docs, the other apps and published content; any change elsewhere, and any failure to fetch or diff the base, runs the suite - settled() discounts only requests a hold is keeping from Sim right now - The warm-up's Stop turn waits for its stream to close instead of on a promise that never settles
1 parent f83d977 commit af5501b

6 files changed

Lines changed: 1634 additions & 0 deletions

File tree

Lines changed: 24 additions & 0 deletions

‎.github/workflows/test-build.yml‎

Lines changed: 142 additions & 0 deletions

0 commit comments

Comments
 (0)