Skip to content

Add DevTools, text clipboard and unpacked extension loading - #33

Merged
codr1 merged 2 commits into
mainfrom
feat/browser-tools
Oct 1, 2026
Merged

codr1 merged 2 commits into
mainfrom
feat/browser-tools

Conversation

@codr1

@codr1 codr1 commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Users can open Chromium's real DevTools in a Termium tab with F12, copy selected page text with F8/Ctrl+C, and load unpacked extensions with repeatable --extension arguments. The F10 menu exposes these tools and Chromium's extension manager.

Fixes drag-to-select: CDP motion events now include the active button in addition to the held-button mask. Copy follows focused inputs/frames/open shadow DOM, excludes password fields, bounds text size, and sends base64-encoded OSC 52 through the UI output owner. Existing bracketed paste remains literal text. DevTools uses the existing private pipe, with no debugging port, and closes with its inspected page.

Validation: full Linux npm test, typecheck, Go race checks, and Darwin arm64/amd64 cross-builds pass. Real-Chromium tests exercise actual drag selection, Unicode paste, frame/shadow selection, DevTools connection to the inspected page, rendering, close/reopen/owner close, and an unpacked content-script extension loaded through the server CLI. Full test workflows also pass on native Apple Silicon and Intel macOS. The first macOS DevTools test exposed a frontend-attachment readiness race in the test; it now waits for the actual inspected target. All three package-install jobs pass. Apple Silicon required one retry after a remote download socket closed; that retry passed without code changes.

Docs explain terminal clipboard support, session-only unpacked extension loading, and limits. Separate audio research records a successful synthetic-tone test through a dedicated silent PulseAudio sink after removing Puppeteer's mute flag. Audio behavior is not changed by this PR.

@codr1
codr1 merged commit d991d0c into main Oct 1, 2026
8 of 9 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.

1 participant