Repository navigation
fix(daemon): adopt the v47 terminal daemon the 1.4.227 release runs - #29191
Conversation
1.4.227 is built from 1.4.224 plus picks and takes daemon protocol v47 so it can adopt the v45 daemons 1.4.225/1.4.226 left running. Main skips to v48 and lists 46 and 47 as previous, so updating from 1.4.227 to the next main release keeps every live terminal.
|
Quick review (Codex gpt-6.1-sol, high), head 2899943: OK, no findings.
QA: the 1.4.226 → 1.4.227 side of this was checked by hand on a real install (old v43–v45 daemons adopted, terminals and agents kept). Per the release lead, no separate QA rig for this PR. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to
|
Problem
Each terminal daemon version listens on its own socket. On launch, Orca adopts the running terminals of its own version plus the versions it lists as previous; a daemon from any other version is never found. The 1.4.227 release is built from 1.4.224 plus picks (1.4.225/1.4.226 were rolled back). To keep the terminals of people already on 1.4.225/1.4.226, it runs daemon protocol v47. Main is on v46 and doesn't list 47. So when a 1.4.227 user later updates to a release cut from main, Orca wouldn't find their running terminals and agents: it would start fresh shells, and the old processes would keep running unseen.
What changes for users
Updating from 1.4.227 to the next release from main keeps every live terminal and agent, the same as any other update.
Mechanism
PROTOCOL_VERSIONgoes 46 → 48, skipping 47, which 1.4.227 uses.PREVIOUS_DAEMON_PROTOCOL_VERSIONSadds 46 and 47.Safe to adopt v47: main has no daemon feature gates at versions 44–46 (checked with
rgacrosssrc/mainandsrc/shared). An adopted older daemon is never used for new terminals, so v45/v46 behaviour (the macOS host helper, Linux systemd scopes) doesn't need to exist in it. Hourly users get a fresh v48 daemon, and their v46 terminals are adopted as previous.check-daemon-protocol-crossing.mjs:Testing
Merge only if 1.4.227 ships with daemon v47 (draft until then).