Commit Graph
4 Commits
Author SHA1 Message Date
jjbrunton 51438aa5db Keep x11vnc alive for remote login 2026-08-08 15:16:51 +01:00
jjbruntonandClaude Opus 4.7 665ff8b1f3 Clear stale X display lock before starting Xvfb
A bot crash leaves /tmp/.X99-lock behind; the next container start
hits "Server is already active for display 99" and the entrypoint
previously fell through with only a warning, so Chromium then died
with "Missing X server or $DISPLAY" in a tight crash loop. Remove
the stale lock up-front and fail hard if Xvfb still won't come up,
so the failure mode is "container won't start" rather than "bot
crashes forever".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 21:04:28 +01:00
jjbruntonandClaude Opus 4.7 eb7bc7c045 Install x11-utils and wait reliably for Xvfb in entrypoint
The Xvfb readiness loop in entrypoint.sh used xdpyinfo, which isn't
in the Playwright base image. On busy hosts the loop fell through
before Xvfb was ready, so Chromium launched with no X server and
crashed with "Missing X server or \$DISPLAY".

Add x11-utils (provides xdpyinfo) and extend the readiness loop to
10 s with explicit logging.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 19:01:32 +01:00
jjbrunton 633bb0ec04 Restructure chat service, web routes, and add test suite
Split monolithic chat service into modular structure with Matrix client
support, extract web server into per-resource route modules, introduce
bootstrap/main-loop separation, and add comprehensive vitest coverage
across services, repositories, and utilities. Adds project docs and
CLAUDE.md agent instructions.
2026-05-21 01:32:10 +01:00