Skip to content

Release 0.17.3 — daemon split-brain hardening + Chrome channel install flags#110

Merged
ronaldeddings merged 1 commit into
mainfrom
release/0.17.3
Jun 17, 2026
Merged

Release 0.17.3 — daemon split-brain hardening + Chrome channel install flags#110
ronaldeddings merged 1 commit into
mainfrom
release/0.17.3

Conversation

@ronaldeddings

@ronaldeddings ronaldeddings commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Bumps every surface to 0.17.3.

Daemon single-instance gate (#104)

Fixes a split-brain where two daemons could run at once (one owning the CLI socket, another the WebSocket port the extension connects to) → context '<id>' not found (no extensions connected). The WS port is now the atomic singleton token (bound before the CLI socket; a loser exits cleanly instead of hijacking the socket). Stress-validated: hundreds of concurrent duplicate spawns, a full kill+respawn thundering herd, and ~120 concurrent tab-opens across 3 live extensions — zero split-brains, zero hijacks, zero mis-routes. (PR by @vitorfhc; reapplied onto the 0.17.2 relay architecture.)

Chrome channel install flags (#98)

install.sh adds --chrome-beta, --chrome-canary, --chrome-dev, --chrome-for-testing (Darwin), each routable to a distinct --context. Correct native-messaging dir for Chrome for Testing (Chrome 146+). (PR by @trillium.)

Internal / CI

bash -n shell-syntax gate over scripts/*.sh (#108); install-modes test updates (#109).

Rollup for users updating from 0.16.9

Carries the full 0.17.x line: Electron/Chromium CDP app control, the Native Runtime Agent, and the capability-blind Extension Fabric.

Version: 0.17.2 → 0.17.3. Both pkgs (Browser + Full) built, signed, notarized, stapled; ready for the Sparkle push.

Summary by CodeRabbit

  • Chores
    • Version updated to 0.17.3

…l flags

Bumps every surface to 0.17.3. The headline is a daemon stability fix that
hardens multi-context / multi-browser routing, plus first-class install
support for Chrome's sibling channels.

Daemon single-instance gate (#104)
- Fixes a split-brain where two daemons could run at once — one owning the
  CLI socket, another owning the WebSocket port the extension connects to —
  so the CLI talked to an extension-less daemon and reported
  "context '<id>' not found (no extensions connected)" even though the
  extension was connected (just to the other daemon).
- The WebSocket listen port is now the atomic singleton token: it is bound
  BEFORE the CLI socket, and a daemon that loses that race exits cleanly
  instead of surviving as a second, extension-less daemon that unlinks and
  hijacks the CLI socket. The pid-file election is kept as a fast path; the
  port bind is the authoritative backstop.
- Stress-validated: hundreds of concurrent duplicate-daemon spawns, a full
  kill-and-respawn thundering herd, and ~120 concurrent tab-opens across
  three live extensions — zero split-brains, zero socket hijacks, zero
  mis-routes. (PR by @vitorfhc; reapplied onto the 0.17.2 relay architecture.)

Chrome channel install flags (#98)
- scripts/install.sh adds --chrome-beta, --chrome-canary, --chrome-dev, and
  --chrome-for-testing as first-class install targets (Darwin), so you can
  run stable + Beta side by side, each routed to a distinct --context.
- Correct native-messaging host directory for Chrome for Testing (Chrome 146+
  uses a dedicated ~/Library/.../Google/ChromeForTesting dir). (PR by @trillium.)

Internal / CI
- bash -n shell-syntax gate over scripts/*.sh (#108); install-modes test
  updates for the channel changes + first-installed default (#109).

Rollup for users updating from 0.16.9
- This release also carries the full 0.17.x line: Electron/Chromium CDP app
  control, the Native Runtime Agent, and the capability-blind Extension Fabric.

Version: 0.17.2 -> 0.17.3 (package.json + extension manifest; the build stamps
the CLI / daemon / bridge from package.json).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d8f844a1-90e9-4e9c-b0bd-5de42dc5a2f7

📥 Commits

Reviewing files that changed from the base of the PR and between fa0d6e3 and 252db23.

📒 Files selected for processing (3)
  • extension/dist-mv2/manifest.json
  • extension/manifest.json
  • package.json

📝 Walkthrough

Walkthrough

Version bumped from 0.17.2 to 0.17.3 in three files: package.json, extension/manifest.json, and extension/dist-mv2/manifest.json. No other fields or logic were modified.

Changes

Version bump 0.17.2 → 0.17.3

Layer / File(s) Summary
Version bump across manifests and package.json
package.json, extension/manifest.json, extension/dist-mv2/manifest.json
version field updated from "0.17.2" to "0.17.3" in all three files.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

🐇 Hop, hop, a tiny leap,
Three files changed while bugs still sleep.
0.17.3 now takes the stage,
Just a number on the page.
Another patch, another day —
The rabbit stamps and hops away! 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title references daemon split-brain hardening and Chrome channel install flags, but the raw changeset only shows version bumps across three manifest/config files with no implementation changes visible. The title describes substantial features (daemon split-brain fix, Chrome channel support) that are not reflected in the provided file summaries. Either the title should be narrowed to match the actual changes shown, or the changeset is incomplete.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/0.17.3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@ronaldeddings ronaldeddings merged commit 93b6b3a into main Jun 17, 2026
2 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