Skip to content

🤖 tests: disable tutorials in e2e harness#3552

Merged
ThomasK33 merged 1 commit into
mainfrom
flaky-tests-axmh
Jun 15, 2026
Merged

🤖 tests: disable tutorials in e2e harness#3552
ThomasK33 merged 1 commit into
mainfrom
flaky-tests-axmh

Conversation

@ThomasK33

Copy link
Copy Markdown
Member

Summary

Fixes the review refresh › refresh state persists after tab switch Linux E2E flake by fully disabling tutorials in the Electron E2E harness before the renderer reloads.

Background

I reviewed /memories/project/known-flaky-tests.md and surveyed PR workflow failures from the last 14 days. Among the named flaky tests in that file, tests/e2e/scenarios/reviewRefresh.spec.ts:100 had the most exact failures (4), compared with backgroundBashDirect.test.ts (2). The failing logs show Playwright timing out on the Stats tab because <div data-testid="tutorial-backdrop"> intercepted pointer events.

Root Cause

The E2E fixture tried to disable tutorials by marking the then-known sequences completed, but it left the newer review tutorial sequence incomplete and kept disabled: false. ReviewControls starts the review tutorial 500ms after mount, so slower CI runs could reveal the backdrop just before the test clicked the Stats tab.

Implementation

  • Persist disabled: true in the E2E tutorial state and mark current tutorial sequences completed before React reads localStorage.
  • Add a targeted regression assertion in the flaky review refresh test that waits past the review tutorial timer and verifies no tutorial backdrop exists before switching tabs.

Validation

  • bun test src/browser/contexts/TutorialContext.test.tsx
  • make typecheck
  • make static-check

Local targeted Electron E2E execution is blocked in this workspace by the missing X server / xvfb (Missing X server or $DISPLAY). The new regression assertion is intended to run in CI's Linux E2E environment.

Risks

Low. The change is confined to the E2E harness and one E2E regression assertion; production tutorial behavior is unchanged.


Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $unknown

Root cause: the e2e fixture only marked the pre-existing tutorial sequences completed, so the review tutorial still started 500ms after ReviewControls mounted. On slower Linux CI runs, its backdrop covered the sortable tab strip and Playwright timed out clicking the Stats tab in reviewRefresh.spec.ts.

Fix: persist a fully disabled tutorial state for e2e windows before React mounts, and add a reviewRefresh regression assertion that waits past the tutorial timer and verifies no backdrop appears before switching tabs.

Validation: bun test src/browser/contexts/TutorialContext.test.tsx; make typecheck; make static-check. Local Electron e2e launch is blocked in this workspace by missing X server / xvfb, so CI will run the targeted scenario.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$unknown`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=unknown -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 87ae47c075

ℹ️ 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".

@ThomasK33 ThomasK33 added this pull request to the merge queue Jun 15, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 15, 2026
@ThomasK33 ThomasK33 added this pull request to the merge queue Jun 15, 2026
Merged via the queue into main with commit 94a1925 Jun 15, 2026
24 checks passed
@ThomasK33 ThomasK33 deleted the flaky-tests-axmh branch June 15, 2026 09:30
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