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
Console e2e: the leases page is usable with the keyboard alone fails intermittently #929
e2e/console/leases.spec.ts:653 ('the leases page is usable with the keyboard alone', under the leases page describe) was seen failing on CI during the review of PRs #889-#895. The failing assertion and the CI run were not kept, so the report has no log yet.
The triage has to find the failure first: search recent failed Console jobs on CI for this test, then reproduce it locally (pnpm exec playwright test --project=chromium e2e/console/leases.spec.ts -g 'keyboard alone', in a loop). If no failure can be found or reproduced, say so and move this to bug:needs-info.
This is a defect in the test, not in the console. The test presses Tab and types the token while the "Signing in…" screen is still up, so the token never reaches the form. It failed this way once on CI (run 39807989162, job 119926832063, security/uplink-worker-pin, 2026-10-22). On origin/main (f6cc13c) it failed 1 time in 60 local runs, on the same line.
bug/929-repro (57baa30) changes only the test: it holds the first /v1/identity for 1 s, which makes the test lose the race every time (5 of 5 runs).
Trace of the local failure, with times relative to the end of goto. The page snapshot at the failure shows the sign-in form with an empty token field.
+0 ms goto ends snapshot: "Signing in…"
+34 ms Tab
+40–68 ms type token (/v1/identity 401 answers at about +60 ms; the form shows during the typing)
+70 ms Enter -> no submit; Overview never shows
Root cause
e2e/console/leases.spec.ts:669-672 (on main) presses Tab as soon as goto resolves. goto waits for load, not for the identity check. Until that check answers, ui/src/app/app.tsx:36-37 renders SigningInScreen, which has no focusable control. So the Tab does nothing, the typed characters go to <body>, and Enter submits nothing. The symptom shows two lines later, at :673. The console does the right thing here: a person waits until the form is there.
Simplest fix
Wait for the form and check the focus before typing, as shell.spec.ts:61-64 does. This made the reproduction pass 10 of 10 times with the check still held.
Activity
V3RON commentedon Oct 23, 2026
Reproduction
This is a defect in the test, not in the console. The test presses Tab and types the token while the "Signing in…" screen is still up, so the token never reaches the form. It failed this way once on CI (run 39807989162, job 119926832063,
security/uplink-worker-pin, 2026-10-22). Onorigin/main(f6cc13c) it failed 1 time in 60 local runs, on the same line.bug/929-repro(57baa30) changes only the test: it holds the first/v1/identityfor 1 s, which makes the test lose the race every time (5 of 5 runs).Trace of the local failure, with times relative to the end of
goto. The page snapshot at the failure shows the sign-in form with an empty token field.Root cause
e2e/console/leases.spec.ts:669-672(on main) presses Tab as soon asgotoresolves.gotowaits forload, not for the identity check. Until that check answers,ui/src/app/app.tsx:36-37rendersSigningInScreen, which has no focusable control. So the Tab does nothing, the typed characters go to<body>, and Enter submits nothing. The symptom shows two lines later, at:673. The console does the right thing here: a person waits until the form is there.Simplest fix
Wait for the form and check the focus before typing, as
shell.spec.ts:61-64does. This made the reproduction pass 10 of 10 times with the check still held.Keep the held
/v1/identityroute so the test keeps covering the slow case.Alternatives rejected
page.goto(..., { waitUntil: "networkidle" }): Playwright discourages it, and it does not wait for React to render.Risk
Alt+Tab. Check that the first Tab still focuses the field there.Side findings
Written by an agent.
test(e2e): hold the first identity check in the keyboard leases test …