Skip to content

test(web): steady five browser tests that fail on busy CI runners - #606

Merged
yaacovcorcos merged 2 commits into
mainfrom
claude/update-popover-focus-flake-20261019
Oct 19, 2026
Merged

yaacovcorcos merged 2 commits into
mainfrom
claude/update-popover-focus-flake-20261019

Conversation

@yaacovcorcos

Copy link
Copy Markdown
Contributor

What Changed

Test-only. Five browser tests that fail intermittently on busy CI runners now wait for what they assert.

  • updateRestartFlow "closing the popover does not swallow a later keyboard focus" (Scient). Moving the pointer off the update button starts its 150 ms hover-close timer, and opening the popover from keyboard focus does not cancel that timer. When Tab lands inside the window, the timer closes the popover the focus just opened. The test now waits out the delay before pressing Tab, as a person would. Reproduced: with the delay temporarily stretched to 2 s (not committed), the old test fails at the CI line and the new one passes.
  • WorkflowOpeningBlock "shows a short script as highlighted code" (upstream). Upstream's own fix, pingdotgg/t3code#21699, cherry-picked unchanged with -x and its author kept, so the next alignment merges cleanly.
  • PullRequestSummaryTab filter test (upstream). It looked up the filter menu's items synchronously right after the click that opens the menu. It now waits for them, using vi.waitFor.
  • RightPanelTabs keyboard "uses a custom binding from a text field and closes on Escape" (upstream). It still steps fake animation frames, but now polls in real time too, for up to 5 s instead of 10 instant frames. I did not confirm the root cause. This only lengthens the wait and cannot make the test stricter.
  • AttachmentFilePreview "keeps a renewed URL" (upstream). The source view is lazy-loaded, so the wait for it is now 5 s instead of the default 1 s. This is likely the cause, but it is not reproduced.

Each change to an upstream test carries a SCIENT-FORK: comment.

Why

The upstream alignment (#593) added many browser tests. Since it merged, at least one of these five has failed in nearly every merge-queue and PR run today, on PRs that don't touch them. Each failure drops a PR from the queue: #599 and #604 were both dropped this way. The failures are:

Test Seen failing on
updateRestartFlow #596 PR CI; #593, #599 queue runs; #601 PR CI
WorkflowOpeningBlock #604 queue run; #603 PR CI
RightPanelTabs keyboard #599, #604 queue runs; #603 PR CI
PullRequestSummaryTab #593 queue run
AttachmentFilePreview #601 PR CI

Not covered here:

Documentation Impact

Documentation impact: None — test-only timing changes; no behavior or workflow change.

Verification

On Windows 11 with headless Chromium:

  • The five changed test files: 31 tests passed.
  • The 2 s close-delay reproduction: the old updateRestartFlow test fails, and the fixed one passes.
  • Web typecheck: clean, with suggestions only.
  • vp fmt --check and vp lint on the changed files: clean.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes (no UI change)
  • I included a video for animation/interaction changes (none)

🤖 Generated with Claude Code

shivamhwp and others added 2 commits October 19, 2026 20:41
…ners (#21699)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 2532e64)
- updateRestartFlow: leaving the update button starts its 150 ms hover-close
  timer, and opening the popover from focus does not cancel it. Tab once
  that timer has run, or it closes the focus-opened popover. Reproduced by
  stretching the delay to 2 s: the old test fails at the CI line, this passes.
- PullRequestSummaryTab: wait for the filter menu's items after the click
  that opens it, instead of looking them up synchronously.
- RightPanelTabs keyboard: keep advancing fake frames while real time also
  passes, until focus returns to the trigger.
- AttachmentFilePreview: allow the lazy source view 5 s for its first load.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Oct 19, 2026
@yaacovcorcos
yaacovcorcos added this pull request to the merge queue Oct 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.6 KiB 5.6 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 4.3 KiB 4.3 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.3 KiB 1.3 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 26.2 KiB 26.2 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.6 KiB 5.6 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 4.3 KiB 4.3 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.3 KiB 1.3 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 26.6 KiB 26.6 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 129f4af · PR result: 221544d · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Full compact HTTP snapshot with live cursor.

  • Codex decoded thread snapshot: 133.1 KiB
  • Claude decoded thread snapshot: 133.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 19, 2026
@yaacovcorcos
yaacovcorcos added this pull request to the merge queue Oct 19, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 19, 2026
@yaacovcorcos
yaacovcorcos added this pull request to the merge queue Oct 19, 2026
@yaacovcorcos
yaacovcorcos removed this pull request from the merge queue due to a manual request Oct 19, 2026
@yaacovcorcos
yaacovcorcos added this pull request to the merge queue Oct 19, 2026
Merged via the queue into main with commit 898640f Oct 19, 2026
35 checks passed
@yaacovcorcos
yaacovcorcos deleted the claude/update-popover-focus-flake-20261019 branch October 19, 2026 21:22
yaacovcorcos pushed a commit to nattikahana/scient-desktop that referenced this pull request Oct 20, 2026
Bring ScientFactory#353 up to current main, including the T3 alignments ScientFactory#593 and ScientFactory#607
(React Compiler migration, browser test project), ScientFactory#596, ScientFactory#601, ScientFactory#603-ScientFactory#606,
ScientFactory#608-ScientFactory#610 and ScientFactory#567.

Composition:
- Workspace writes: ScientFactory#353's mutation service keeps main's known-workspace
  boundary and Git-folder write denial. Every write path (write, create,
  binary write, delete, rename, retained replace/remove, inspect) is
  authorized first, and the mutation lock re-checks protected paths on
  each non-history resolution. Test layers provide KnownWorkspaces.
- Web: conflicted files follow main's React Compiler patterns (no manual
  memo, refs synced in layout effects, render-phase resets, effect
  events, try/finally in module helpers) with ScientFactory#353's behaviour on top,
  including ScientLatexSurface, the PDF reader, the file preview panel,
  save coordinator, workspace refresh, Pandoc tool and source PDF preview.
- Tests moved to main's browser project are ported (createRoot, async
  act); ScientFactory#353's deletions of the Markdown rename button and its seam test
  are kept.
- pnpm-lock.yaml regenerated with pnpm install.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants