Skip to content

improvement(desktop): Electron E2E for desktop tool lifetimes against a live local Sim - #8697

Open
waleedlatif1 wants to merge 13 commits into
stagingfrom
test/desktop-ungated-e2e
Open

waleedlatif1 wants to merge 13 commits into
stagingfrom
test/desktop-ungated-e2e

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Type of Change

  • Tests

Testing

  • 8/8 green on staging 482f146d, on Linux/Xvfb and on macOS
  • The CI step was run from scratch on a Linux runner
  • Each test fails when its fix is reverted

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@waleedlatif1
waleedlatif1 requested a review from a team as a code owner October 6, 2026 22:15
@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Oct 7, 2026 4:32am UTC

Request Review

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 5 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Turn on auto-fix | Re-trigger cubic

Comment thread .github/workflows/test-build.yml
Comment thread apps/desktop/e2e/fixtures/live-sim.ts Outdated
@greptile-apps

greptile-apps Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Medium risk] Adds end-to-end tests for desktop tools against a local app.

The PR appears safe to merge; no actionable issue remains.

What we checked:

  • Original claim cannot be skipped: The proxy forwards the abandoned claim on release. The test checks that original request’s status before sending the replay.

Summary

Adds eight Electron E2E tests against a live local Sim, plus a dedicated CI job with PostgreSQL, Redis, and realtime.

  • Covers chat switches, Stop, sign-out, approval checks, and behavior with the background executor off.
  • The latest change delivers the held claim even after Electron disconnects and checks that claim’s own 410 response.
  • Previous findings are addressed: shared helpers are used, Redis monitoring waits for acknowledgment, and the delayed claim cannot be skipped. The Electron installation finding was correctly disputed by waleedlatif1 and conceded.
  • No new actionable issues found. The live suite was not run during this review.
Diagram
sequenceDiagram
  participant Electron
  participant Proxy as Recording proxy
  participant Sim as Local Sim
  participant Agent as Scripted agent
  Electron->>Proxy: Desktop claim
  Note over Proxy: Hold the original request
  Electron->>Proxy: Stop
  Proxy->>Sim: Stop
  Sim-->>Proxy: Call cancelled
  Note over Proxy: Release claim even if Electron disconnected
  Proxy->>Sim: Original desktop claim
  Sim-->>Proxy: 410
  Note over Proxy: Record original reply separately from replay
Loading

Reviews (5) · Last reviewed commit: "improvement(desktop): deliver the claim ..." · Reviewed by Greptile

Comment thread .github/workflows/test-build.yml Outdated
Comment thread apps/desktop/e2e/fixtures/live-sim.ts Outdated
Comment thread apps/desktop/e2e/fixtures/live-sim.ts Outdated
Comment thread apps/desktop/e2e/fixtures/live-sim.ts
@blacksmith-sh

This comment has been minimized.

@blacksmith-sh

This comment has been minimized.

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptileai review

Comment thread apps/desktop/e2e/desktop-tools-live-sim.spec.ts Outdated
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptileai review

… 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.
…tcomes 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
…kground 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
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptileai review

Comment thread apps/desktop/e2e/desktop-tools-live-sim.spec.ts
…if Electron gave up on it, and require its 410
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptileai review

This branch was previously deployed

1 inactive deployment
Preview — ab8109f5 Deployed Oct 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant