Skip to content

Fix two more CI e2e flakes: picker hydration race and dev-db ghost affinity - #1658

Merged
RhysSullivan merged 2 commits into
mainfrom
e2e-picker-hydration-race
Aug 18, 2026
Merged

Fix two more CI e2e flakes: picker hydration race and dev-db ghost affinity#1658
RhysSullivan merged 2 commits into
mainfrom
e2e-picker-hydration-race

Conversation

@RhysSullivan

@RhysSullivan RhysSullivan commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Fourth CI e2e flake surfaced on PR #1648's runs (after #1656 cleared the first three): google-health-checks timed out waiting for the "Connect an integration" dialog. The failure screenshot shows the Integrations page with the Connect button rendered and no dialog: waitUntil: "networkidle" does not mean the console has hydrated, so a click that lands between the SSR paint and React attaching the handler is swallowed without a trace, and the dialog never opens.

Adds clickToReveal(trigger, revealed) to the browser surface — re-click until the revealed element is visible, with the final attempt surfacing the ordinary locator timeout — and uses it at the three call sites that open the integrations picker this way (google-health-checks, google-photos-preset-ui, provider-plugins-ui).

Verified: lint, e2e typecheck, and all three scenarios pass locally against a cloud stack.

dev-db ghost affinity (second wedge mode)

The cloud signIn: callback set no session (500) cascade recurred on this PR's own run — #1656 fixed one wedge mode but there is a second: a client whose socket dies while its pipeline-opening entry is executing. detach() clears pipeline affinity before the entry finishes, the queue then assigns affinity to the already-dead handler, and nothing is left to release it — every other connection (including fresh startups) queues behind the ghost forever. The queue now tracks detached handlers and repairs any transaction or pipeline affinity they can no longer release (ROLLBACK / wire-level Sync).

New regression test reproduces the exact CI signature on the unfixed code (bystander dies with CONNECT_TIMEOUT) and passes with the fix; all 5 socket tests pass.

@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Cloudflare preview

Torn down — the PR is closed.

@pkg-pr-new

pkg-pr-new Bot commented Aug 18, 2026

Copy link
Copy Markdown

Open in StackBlitz

@executor-js/cli

npm i https://pkg.pr.new/@executor-js/cli@1658

@executor-js/config

npm i https://pkg.pr.new/@executor-js/config@1658

@executor-js/execution

npm i https://pkg.pr.new/@executor-js/execution@1658

@executor-js/sdk

npm i https://pkg.pr.new/@executor-js/sdk@1658

@executor-js/plugin-file-secrets

npm i https://pkg.pr.new/@executor-js/plugin-file-secrets@1658

@executor-js/plugin-graphql

npm i https://pkg.pr.new/@executor-js/plugin-graphql@1658

@executor-js/plugin-keychain

npm i https://pkg.pr.new/@executor-js/plugin-keychain@1658

@executor-js/plugin-mcp

npm i https://pkg.pr.new/@executor-js/plugin-mcp@1658

@executor-js/plugin-onepassword

npm i https://pkg.pr.new/@executor-js/plugin-onepassword@1658

@executor-js/plugin-openapi

npm i https://pkg.pr.new/@executor-js/plugin-openapi@1658

@executor-js/codemode-core

npm i https://pkg.pr.new/@executor-js/codemode-core@1658

@executor-js/runtime-quickjs

npm i https://pkg.pr.new/@executor-js/runtime-quickjs@1658

executor

npm i https://pkg.pr.new/executor@1658

commit: b298d9d

@RhysSullivan RhysSullivan changed the title Retry reveal-style clicks that race console hydration Fix two more CI e2e flakes: picker hydration race and dev-db ghost affinity Aug 18, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 18, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
executor-cloud b298d9d Aug 18 2026, 04:59 PM

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
executor-marketing b298d9d Commit Preview URL

Branch Preview URL
Aug 18 2026, 04:59 PM

@RhysSullivan
RhysSullivan marked this pull request as ready for review August 18, 2026 17:21
@RhysSullivan
RhysSullivan merged commit a5f3400 into main Aug 18, 2026
43 checks passed
@RhysSullivan
RhysSullivan deleted the e2e-picker-hydration-race branch August 18, 2026 17:22
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