mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 16:02:32 +00:00
The release-blocking `terminal rendering golden mac` job was failing ~40% of Cut Release runs with `Expected e2e repo to be loaded`, leaving the RC stuck as a draft (publish-release depends on this job). Root cause: the sharedPage fixture did a single-shot fetchRepos() + find() + throw. window.api.repos.add() fires a repos:changed echo that triggers a concurrent fetchRepos() in the renderer; the store's reposFetchGeneration guard then drops the fixture's own awaited fetch result, leaving `repos` briefly stale, so find() returns undefined and throws. The repo lands a few ms later (the failure screenshot's sidebar actually shows it). Wrap the repo load in expect.poll (matching the seeded-worktree poll right below it) so it retries fetchRepos until the repo lands, then runs the idempotent updateRepo. Also harden the single-shot hasWebgl/cursorHidden diagnostics reads in the golden spec: WebGL reattaches asynchronously after a worktree switch, so poll those eventually-consistent fields until they settle before the golden asserts. Regression detection is preserved: a real WebGL/cursor regression times out the poll and still fails the test; the geometry/wrap/overpaint golden checks stay single-shot.