Skip to content

Release Browser Control 0.2.2 with the renamed helper - #3

Merged
afif-reap merged 9 commits into
mainfrom
afif/browser-control-rename
Sep 28, 2026
Merged

afif-reap merged 9 commits into
mainfrom
afif/browser-control-rename

Conversation

@afif-reap

Copy link
Copy Markdown
Contributor

Ships the renamed helper as 0.2.2. The extension code is identical to 0.2.1 apart from the version, and this build replaces the pending 0.2.1 Chrome Web Store submission.

  • The skill is skills/browser-control, and its zip is browser-control-skill.zip. The installer is install-browser-control-skill.sh, and the host wrapper is browser-control-host.
  • The host, client, scripts and tests read BROWSER_CONTROL_* variables. The native host name com.opzero.chrome and the ~/.opzero-chrome socket folder are unchanged.
  • The skill keeps its Browser Safety rules. The native host reference shows client calls in the --stdio form that client.js accepts.
  • The Chrome Web Store workflow gains a cancel action (:cancelSubmission). Bodyless POST calls send Content-Length: 0.
  • The reviewer steps, the store listing and the site describe the 0.2.2 helper. The site keeps serving the helper at /download/chrome-control-skill.zip too, because the dashboard's reviewer field links there.

After the merge: tag v0.2.2, cancel the 0.2.1 submission, deploy the site, then submit 0.2.2.

…_CONTROL_*

The Chrome Control and opzero-chrome names are retired outside the extension:
the installable skill is skills/browser-control and ships as
browser-control-skill.zip, the install script is install-browser-control-skill.sh,
and the host wrapper is browser-control-host. The host, client, scripts, build
and tests read BROWSER_CONTROL_* variables; the OPZERO_* names are no longer
read. The Release workflow reads the BROWSER_CONTROL_EXTENSION_ID repository
variable.

The native host name com.opzero.chrome, the ~/.opzero-chrome socket folder and
the extension's own file names stay, so the published extension keeps working.
store/ and site/ still describe the 0.2.1 submission under review; RELEASE.md
lists what to change when the renamed helper ships.
The MCP server's skill takes the browser-control name too, and the user chose
one skill for both. The native host checks, install and raw client calls move
to references/native-host.md, and SKILL.md keeps only a section that points
there, so merging the MCP skill's SKILL.md means appending that section. The
build copies references/ into the zipped skill.
Moving the host-script guidance into references/native-host.md also dropped
the skill's safety section and its rule against inspecting cookies, local
storage and passwords, although the reference still points to SKILL.md for
them. The native-host reference no longer presents the unpublished npm
installer as available.
action: cancel calls publishers.items.cancelSubmission, so a pending review
can be withdrawn without the dashboard. It uses the same access token and
HTTP status check as the other calls, and like status it skips the pnpm,
Node and build steps: those now run only for upload and submit, so cancel
never uploads a package. The fetchStatus readback still runs for every
action, before the cancel.
0.2.2 replaces the pending 0.2.1 submission. Its extension code is the same
as 0.2.1 apart from the version: a build of the 0.2.1 submission source
(5717395) differs from the 0.2.2 package only in the manifest version. The
host reports 0.2.2 too.

The reviewer steps, the store listing and the website now describe the
helper that ships with it: browser-control-skill.zip at
/download/browser-control-skill.zip, the references/ folder, the
browser-control-host wrapper, the BROWSER_CONTROL_HOST_SOCKET excerpt and
"version":"0.2.2" from getInfo.

The dashboard's reviewer field cannot be changed through the API and still
links to /download/chrome-control-skill.zip, so its short form stays as it
is (468 characters) and the deploy also copies the helper to that path as
an alias. RELEASE.md says why the alias exists and when it can go, and it
drops the step that kept the 0.2.1 helper online until that review ended.

The listing's source audit cites lines that drifted after a88821b; every
file:line now matches the 0.2.2 source. Its stale-docs item records that
the rename fixed the "Opzero Chrome" name, but the raw client examples in
references/native-host.md still pass arguments that client.js rejects.
store/assets/README.md now names the socket variable that launch.sh sets.
client.js takes only ping, getInfo, host.ping and host.info as an argument
and rejects parameters in argv. The examples now send JSON-RPC requests on
--stdio, and attach plus executeCdp share one stream.
publish and cancelSubmission send no body. Google answers 411 to a bodyless
POST over HTTP/1.1, so both calls now send Content-Length: 0 explicitly.
Each client.js connection is its own session, and its stdin requests run
concurrently, so the attach example could not work as written. The native
host reference now points multi-step sequences to native-host/transport.js,
as the reviewer demo does. Reviewer step 1 mentions the brief Connecting
state and the host-not-found error, and the listing's review-risk note no
longer describes the old client examples.
transport.js exposes open, observe, waitFor, act and close on origin-bound
pages. It has no public claim or raw CDP call, and bound pages reject
executeCdp. The native host reference now tells raw sequences to wait for
each response on one --stdio connection, and keeps transport.js for page
workflows.
@afif-reap
afif-reap merged commit e35cda1 into main Sep 28, 2026
1 check 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