Skip to content

chore: run the Chromium live checks in an isolated Chrome, and add the #111 read check - #116

Merged
iamnbutler merged 1 commit into
mainfrom
chore/live-check-chromium
Oct 17, 2026
Merged

iamnbutler merged 1 commit into
mainfrom
chore/live-check-chromium

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Follow-up to the #75 live-check gaps (items 1 and 2), plus a docs/live-checks.md refresh.

Isolated Chrome. Session.launchChrome() launches Google Chrome from /Applications or ~/Applications with a new temporary --user-data-dir, --no-first-run, --no-default-browser-check and --new-window, opening the fixture page. It finds that pid's target through desktop_apps and waits for the fixture window. quitChrome() runs desktop_quit on that target only. If the process is still running after 8 s, it sends SIGTERM to that child pid only, then deletes the profile. Each Chromium check gets its own launch and quits it in a finally; the global cleanup also covers Control-C. When Chrome isn't installed, the checks skip with a clear message instead of failing. The checks no longer skip while the user's own Chrome is running, and never touch its windows.

Checks

Check sections are now grouped by the release that shipped them (0.13.0 / 0.12.0 / 0.11.0); #114 and #99 were sitting under 0.10.0.

Docs: the Chrome isolation, the #114 Finder paste fixtures, what #111 covers versus a forced incomplete read (still manual), and that Pause is user-only and never driven by the harness. #100 Pause and the Electron/activity checks stay manual.

No CHANGELOG entry, since this is a dev-harness change.

Verification

  • npm test passes 70/70 and npm run check is clean. node scripts/live-check.mjs --list shows the new order.
  • --only 107,110,111 refuses on the locked screen, exits 2 and launches nothing.
  • Offline probe of the launch and cleanup path, run without the MCP:
    • the spawned pid stays the browser process and doesn't hand off to the user's Chrome;
    • the temporary profile fills in;
    • SIGTERM exits it cleanly with no helper processes left;
    • the profile is removed;
    • the user's Chrome processes are unchanged.
  • Live run: pending: screen locked.

…#111 read check

Each Chromium check (#107, #110, #111) launches its own Chrome on the fixture
page with a temporary --user-data-dir, --no-first-run and
--no-default-browser-check, then quits only that pid and deletes the profile.
They no longer skip while the user's Chrome runs, and each starts with web
accessibility off. #110 now waits for a page-only element (a table) on a fresh
launch, and #111 reads the page the moment it opens: it passes on page text,
or on a failure that says retried. Pause stays manual and user-only.

Co-Authored-By: Claude <noreply@anthropic.com>
@iamnbutler
iamnbutler merged commit dc5f147 into main Oct 17, 2026
2 checks passed
@iamnbutler
iamnbutler deleted the chore/live-check-chromium branch October 17, 2026 10:27
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.

1 participant