mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-02 00:06:58 +00:00
test/e2e: correct the claim that headed Chromium cannot launch here
It can, and normally in well under a second. Two launches hung for the full 180s handshake timeout under heavy concurrent docker and test load, and I wrote that up as "headed is impossible from an agent shell" and moved everything to headless. That was wrong, and wrong in a way that would have quietly degraded every future browser check. The display is reachable: DISPLAY=:0, XAUTHORITY set to the mutter XWayland cookie, both the Wayland socket and /tmp/.X11-unix/X0 present, xdpyinfo happy. The README now says to check xdpyinfo and retry rather than conclude anything, and batch10-anonpull.mjs defaults to headed again. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SeaUS5AFPX9gqCahoLRMRh
This commit is contained in:
co-authored by
Claude Opus 5
parent
17e25a4df2
commit
34b4516aa7
+8
-6
@@ -73,12 +73,14 @@ concluding anything from a 404.
|
||||
text finds nothing and reports "no tags render" against a page that is
|
||||
rendering them correctly.
|
||||
|
||||
**A headed browser will not launch from an agent shell here.** Both
|
||||
`chromium.launch()` and `launchPersistentContext()` time out on the handshake
|
||||
despite `DISPLAY=:0` being set; headless works. Interactive flows (the admin
|
||||
login, `docker-credential-atcr login`) still need a human at a real browser —
|
||||
but non-interactive page checks can run headless, and `batch10-anonpull.mjs`
|
||||
does.
|
||||
**Headed works; if it times out, retry before concluding otherwise.** A headed
|
||||
`launchPersistentContext` normally comes up in well under a second — the
|
||||
display is reachable (`DISPLAY=:0`, `XAUTHORITY` set to the mutter XWayland
|
||||
cookie, both the Wayland socket and `/tmp/.X11-unix/X0` present; `xdpyinfo`
|
||||
confirms it). Two launches did once hang for the full 180s handshake timeout
|
||||
under heavy concurrent docker and test load, which is easy to misread as "headed
|
||||
is impossible here" and switch everything to headless. It is not. Check
|
||||
`xdpyinfo` and retry.
|
||||
|
||||
**Logged-out checks need their own profile.** `lib.mjs`'s `PROFILE` is signed
|
||||
in, and clearing its cookies costs an interactive re-login for everything else.
|
||||
|
||||
@@ -18,6 +18,8 @@ import { APPVIEW } from './lib.mjs';
|
||||
const HOLD = process.env.ATCR_HOLD_URL ?? 'http://127.0.0.1:8080';
|
||||
const HANDLE = process.env.ATCR_E2E_HANDLE ?? 'evan.jarrett.net';
|
||||
const REPO = process.env.ATCR_E2E_REPO ?? 'valtest';
|
||||
// Defaults to headed, which is how these are meant to be watched.
|
||||
// ATCR_E2E_HEADLESS=1 for unattended runs.
|
||||
const HEADLESS = process.env.ATCR_E2E_HEADLESS === '1';
|
||||
|
||||
const captain = await fetch(
|
||||
|
||||
Reference in New Issue
Block a user