Skip to content

test(webui): give the first-screen wait the budget this file already sets - #26

Merged
modacker merged 1 commit into
mcode-webui:mainfrom
antianqi:fix/webui-first-screen-budget
Nov 10, 2026
Merged

modacker merged 1 commit into
mcode-webui:mainfrom
antianqi:fix/webui-first-screen-budget

Conversation

@antianqi

Copy link
Copy Markdown
Collaborator

The file's own header carries the measurement this closes: on the macOS CI run of the whole webui group this case measured 26.7s with the shell still not up when the default deadline expired, against 12.0s for the same case on ubuntu.

The six sibling waits in the file already use FIRST_SCREEN_TIMEOUT_MS (30s). The two waits on #webui-root were left on Playwright's 5s default — and those two are the waits that decide whether the client booted at all, because an empty #webui-root is exactly what a client that has not rendered looks like, and hidden is what an empty div reports.

Measured on the main CI run 42817291871: the macOS job fails this case with the locator resolving to an empty #webui-root fourteen times and a 5000ms timeout. The same case is what fails the webui group locally on a loaded Windows host (1 failed | 4462 passed | 44 skipped).

The budget stays bounded. The case still fails when the client does not boot: an injected wait on an element that never appears fails in 3s with the same element-not-found report, so the extra room is given to a slow client, not to a broken one.

  • the whole file passes with the change (4 passed, 70.6s)
  • the injected negative control fails as it must (3s, element not found)

No product code is touched. This is the test's own budget, used the same way six lines above already use it.

…sets

The file documents a 30s first-screen budget in FIRST_SCREEN_TIMEOUT_MS and
uses it in six places. The two waits on #webui-root were left on Playwright's
5s default, and those two are the waits that decide whether the client booted
at all: an empty #webui-root is what a client that has not rendered looks
like, and "hidden" is what an empty div reports.

This file's own header carries the measurement. On the macOS CI run of the
whole webui group this case measured 26.7s with the shell still not up when
the default deadline expired, against 12.0s for the same case on ubuntu. The
same case is what fails the macOS and windows jobs of the main CI run, with
the report that the locator resolved to an empty #webui-root fourteen times
and a 5000ms timeout.

Waiting to the budget the file already sets is what the six sibling waits do,
and it stays bounded: the case still fails when the client does not boot. An
injected wait on an element that never appears fails in 3s with the same
element-not-found report, so the budget gives a slow client the room the
product's own 30s wire deadline allows without hiding a real failure.

The whole file passes with the change (4 passed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@modacker
modacker merged commit 81ab1ce into mcode-webui:main Nov 10, 2026
3 checks passed
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.

2 participants