You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Flaky CI tests: session-history E2E anchor, Windows git-info refresh, Windows setup-config lock timeout #829
Three tests failed intermittently in CI on 2026-10-14. In each case the code under test was untouched, and rerunning only the failed jobs passed. They block the required checks, so each flake costs a rerun before the next merge.
1. tests/web/session-history.e2e.ts:340: prefetched native history loads on upward reading without moving the visible anchor
expect(...).toBeLessThanOrEqual(2) at line 451 received 13818: the scroll position was not kept near the bottom of the live view.
2. Windows: tests/extensions/git-info/index.test.ts:30: automatic refresh with a spaced fixture path stays local until /pr explicitly requests GitHub data
The assertion at line 167, "the initial Git fixture refresh must recognize the repository", got false. This looks like a timing issue on slow Windows runners.
3. Windows: tests/extensions/shared/setup-config.test.ts:661: a reused PID does not impersonate the dead lock owner
For each test, fix the root cause: wait on the actual readiness signal instead of wall-clock time or a fixed timeout, and make lock-wait budgets scale on Windows. Don't just add retries or longer timeouts.
settings-appearance.e2e.ts:371 was a real store bug: an accepted restore was reported as unconfirmed whenever a concurrent snapshot refresh superseded its own. Locally it failed 4/16 before the fix and passed 16/16 after; a unit test covers it.
Windows git-info/index.test.ts:30 was a fixture cold start: the first exec of a freshly copied node.exe exceeded the 3 s Git budget. The fixture is now warmed up before timing.
Windows setup-config.test.ts:661: diagnosed, not fixed.
Stale-lock recovery needs the owner's process start time. On Windows, queryProcessStartedAt (extensions/shared/setup-config.ts) spawns powershell.exe -Command Get-Process with a 1 s execFile timeout.
A PowerShell cold start on a busy runner can exceed that budget. The query then returns undefined, processLiveness reports unknown, and recovery fails closed until the 5 s lock deadline expires.
This is also a product issue: on slow Windows machines, a stale lock may never be recovered. The fix needs a cheaper start-time source than spawning PowerShell, for example a native or wmic-free query with an appropriate budget, verified on Windows. I didn't change this without being able to verify it.
document-reading-state.spec.ts:234: not reproduced (0/15 local runs). Still open.
Another Windows UI flake, seen on main (c041b3e) when the job was rerun:
tests/web/workbar-session-position.spec.ts:577: "reattaches a Session's file position after a copied same-ID Session, releasing the old preview" (UI windows-latest Node 22.19.0) failed with TestingLibraryElementError: Unable to find role="button" and name "README.md". Run: https://github.com/openpi-dev/openpi/actions/runs/38764433340
The same Windows UI job has now failed three times on one commit, each time on a different test, so the Windows UI suite looks generally timing-sensitive.
Another Windows timing flake, seen on main (4418140) after #722 merged:
tests/extensions/ai-providers/antigravity.test.ts:1530: "streamAntigravity bounds the full SSE lifetime after the first event" (Runtime Node, Windows parallel 1/2) failed with Timed out waiting for the first SSE event; the test expected the /next SSE event/ timeout. It looks like a race between the first-event and full-lifetime timers, which are only a few ms apart. Run: https://github.com/openpi-dev/openpi/actions/runs/38776735793/job/116566218404 (fix(web): follow Anthropic model catalog pagination #722 does not touch antigravity).
Activity
627150795 commentedon Oct 14, 2026
我来处理其中第 3 项:Windows 上 setup-config 锁等待超时及“重用 PID 不会冒充已退出锁持有者”的回归覆盖。范围仅限这条锁等待/所有权路径,不处理 session-history E2E 与 git-info 刷新两项。
test: fix root causes of two flaky tests (#829) (#831)
tt-a1i commentedon Oct 14, 2026
Status update:
settings-appearance.e2e.ts:371was a real store bug: an accepted restore was reported as unconfirmed whenever a concurrent snapshot refresh superseded its own. Locally it failed 4/16 before the fix and passed 16/16 after; a unit test covers it.git-info/index.test.ts:30was a fixture cold start: the first exec of a freshly copiednode.exeexceeded the 3 s Git budget. The fixture is now warmed up before timing.session-history.e2e.ts:340: superseded. The failing bottom-of-view assertion was replaced in feat(web): improve resource settings, usage and conversation reading #807 (b79bb1d), and 8/8 local repeats pass onmain. Leave this open for now and close it if it doesn't recur.setup-config.test.ts:661: diagnosed, not fixed.queryProcessStartedAt(extensions/shared/setup-config.ts) spawnspowershell.exe -Command Get-Processwith a 1 sexecFiletimeout.undefined,processLivenessreportsunknown, and recovery fails closed until the 5 s lock deadline expires.wmic-free query with an appropriate budget, verified on Windows. I didn't change this without being able to verify it.document-reading-state.spec.ts:234: not reproduced (0/15 local runs). Still open.tt-a1i commentedon Oct 15, 2026
New flaky test, observed on Windows:
tests/web/session-sidebar.spec.ts:239: "offers an empty pin drop area during a project drag and suppresses the trailing pointer click" (UI windows-latest Node 22.19.0). Failing run: https://github.com/openpi-dev/openpi/actions/runs/38760204307/job/116509157410 (PR fix(web): follow Anthropic model catalog pagination #722, whose change to provider model discovery is unrelated). The test was added with the sidebar drag work in feat(web): add sidebar actions, ordering and conversation fork UI #822. Not yet investigated.tt-a1i commentedon Oct 15, 2026
Another Windows UI flake, seen on main after #714 merged:
tests/web/provider-models-settings.spec.ts:474: "keeps API drafts across all three add modes and writes nothing when cancelled" (UI windows-latest Node 22.19.0) failed withTest timed out in 5000ms. Run: https://github.com/openpi-dev/openpi/actions/runs/38764433340/job/116523827850 (fix(setup): reject malformed UTF-8 before config mutation #714 only touches setup-config UTF-8 decoding, so it is not the cause). When that job was rerun, it failed ontests/web/session-sidebar.spec.ts:239instead.tt-a1i commentedon Oct 15, 2026
Another Windows UI flake, seen on main (c041b3e) when the job was rerun:
tests/web/workbar-session-position.spec.ts:577: "reattaches a Session's file position after a copied same-ID Session, releasing the old preview" (UI windows-latest Node 22.19.0) failed withTestingLibraryElementError: Unable to find role="button" and name "README.md". Run: https://github.com/openpi-dev/openpi/actions/runs/38764433340The same Windows UI job has now failed three times on one commit, each time on a different test, so the Windows UI suite looks generally timing-sensitive.
tt-a1i commentedon Oct 15, 2026
Another flake, this time in Linux Web E2E, seen on #722 after it was synced with main:
tests/web/openpi-web.e2e.ts:2510: "recovers an unknown prompt admission only after an explicit user decision" (Web E2E shard 1/2) failed withapiResponse.json: Response has been disposed, followed bybrowserContext.close: Protocol error. Run: https://github.com/openpi-dev/openpi/actions/runs/38774705615/job/116559219255. It passed on rerun. fix(web): follow Anthropic model catalog pagination #722 only changes provider model discovery pagination, so it is not the cause.tt-a1i commentedon Oct 15, 2026
Another Windows timing flake, seen on main (4418140) after #722 merged:
tests/extensions/ai-providers/antigravity.test.ts:1530: "streamAntigravity bounds the full SSE lifetime after the first event" (Runtime Node, Windows parallel 1/2) failed withTimed out waiting for the first SSE event; the test expected the/next SSE event/timeout. It looks like a race between the first-event and full-lifetime timers, which are only a few ms apart. Run: https://github.com/openpi-dev/openpi/actions/runs/38776735793/job/116566218404 (fix(web): follow Anthropic model catalog pagination #722 does not touch antigravity).fix: separate readiness from fixed clocks in three CI flakes (#861)