Skip to content

Fix Playwright teardown hangs and review initialization races - #1

Merged
721806280 merged 4 commits into
mainfrom
fix/webkit-focus
Oct 9, 2026
Merged

721806280 merged 4 commits into
mainfrom
fix/webkit-focus

Conversation

@721806280

@721806280 721806280 commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Playwright finished all 165 test cases but Actions stayed in the test step: pnpm 12.6 started Vite in a separate process group, leaving its output pipes open after Playwright's teardown. Launch Vite directly, enforce the expected port, disable server reuse in CI, and bound the suite, test step, and job. Upload both the HTML report and raw traces on failure or cancellation.

Build and label the difference index before paint so keyboard navigation cannot run against an empty index. A deterministic app regression withholds animation frames and verifies actual focus movement. The image zoom test establishes a fitted view before measuring its baseline.

Restore all five browser projects for normal CI. The optional webkit-diagnostics workflow input runs a small server-shutdown check plus the desktop/mobile WebKit focus and scroll regressions, without building or deploying.

Validation:

  • 629 unit tests passed with coverage thresholds met; formatting, lint, typecheck, and production build passed.
  • 10 focused browser regressions passed locally.
  • Linux WebKit diagnostics passed, including successful server teardown and report upload.
  • Full Linux CI passed: 149 E2E tests passed and 16 conditional skips across all five projects. The test step finished in 5m24s, the E2E job in 6m32s, and the report uploaded successfully.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7c1e55a352

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/utils/diffReview.ts
Comment on lines 189 to 191
// to the other side rather than leave focus where it was.
if (document.activeElement === element) return;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore the unsuppressed WebKit focus retry

When keyboard navigation targets a difference that is still below the fold, Linux WebKit can silently ignore focus({ preventScroll: true }); this loop then exhausts its candidates and leaves focus on <body>. focusDiff scrolls smoothly before this call, so the target can still be off-screen at this point, and the existing keyboard-navigation e2e assertion for [data-diff-id].focus-diff:focus will fail on the WebKit projects now selected by CI. Retry focus() without preventScroll after these attempts fail.

Useful? React with 👍 / 👎.

Comment thread .github/workflows/ci.yml Outdated
Comment on lines +90 to +91
- name: Run Playwright tests
run: pnpm test:e2e
run: pnpm test:e2e --project=webkit --project=mobile-webkit

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore the full browser matrix in CI

This command runs only the two WebKit projects, while playwright.config.ts also defines the desktop Chrome, mobile Chrome, and Firefox projects. Because deployment requires only this e2e job to succeed, regressions in the primary Chromium and Firefox flows can now merge and deploy without any end-to-end coverage; the installed Chrome and Firefox browsers are unused. Restore the unfiltered test command before merging.

Useful? React with 👍 / 👎.

@721806280 721806280 changed the title Fix WebKit keyboard-focus e2e failure Fix Playwright teardown hangs and review initialization races Oct 9, 2026
@721806280
721806280 merged commit 79d60dc into main Oct 9, 2026
6 checks passed
@721806280
721806280 deleted the fix/webkit-focus branch October 9, 2026 03:52
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