You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remote bootstrap: push the Linux agent on first connect, hand off on version mismatch #231
Part of #154 (remote agent sessions). Phase 3. Design doc docs/designs/remote-workrooms.md, Phase 3 "Agent bootstrap over the transport", Distribution Plan, and Next Steps item 4.
What to build
Workroom.app ships the Linux agent (#227) and pushes it on first connect, rather than baking provider images. One source of truth, no image maintenance, and it works for SDK-transport providers with no image concept.
Detect whether the far side has an agent, which version, and which arch (uname -m), before any service connection.
Refuse rather than kill. An agent that predates hand-off, or a pushed binary that fails its pre-check, leaves the old agent running, and the app negotiates with it over the versioned envelope.
The bootstrap pushes a set keyed by driver once the far-side lifecycle shim exists (Distribution Plan). This milestone pushes only the agent. The shim is Phase 4.
Acceptance criteria
First connect to a container with no agent installs the matching-arch agent and connects to it.
Reconnecting with a newer app hands off: the same shells survive with the same pids and exit codes, and panes are repainted.
An agent that predates hand-off, and a pushed binary that fails the pre-check, both leave the old agent running, and the app still connects to it.
Activity
feat(agent): exit 255 from a remote attach whose agent goes away
feat(macapp): push the Linux agent to a remote host and hand off to it
docs(remote-workrooms): record #231 as built
docs(macapp): document #232 screen restoration for reboot recovery
docs(macapp): document #232 screen restoration for reboot recovery
docs(remote-workrooms): bring the status and #231/#232 notes up to date
docs(remote-workrooms): bring the status and #231/#232 notes up to date
docs(remote-workrooms): bring the status and #239 notes up to date