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
Cross-machine reattach: session enumeration and workroom UI state on the host (OQ8) #255
Part of #154 (remote agent sessions). Phase 4. Design doc docs/designs/remote-workrooms.md: open question 8, Phase 4 "Cross-machine session enumeration" (from Phase 1's S4 note), and the Success Criteria item "Do the same from a different Mac".
What to build
Open a remote workroom from a second Mac and land in the same sessions, in the same tabs. Today session identity and the pane-to-tab layout live in the app on the Mac that created them, so a second Mac sees the host's sessions with no idea where they belong.
Answer OQ8 first: how much workroom UI state moves to the agent. At minimum, agent-side session naming and a pane-to-tab mapping carried on the wire.
Store the workroom's UI state with the workroom (on the host, through the agent), so any Mac that opens it can rebuild its tabs and panes.
Enumerate a host's sessions from a Mac that did not create them, and reattach to them.
Acceptance criteria
OQ8 is answered in the design doc, with what moves to the agent and what stays per Mac.
Start a long-running program in a remote workroom on one Mac, open the same workroom on a second Mac, and land in the same session, in the same tab layout, with a full-screen program correctly repainted.
Closing the app on one Mac does not disturb the other Mac's attachment.
Activity
fix(macapp): a remote workroom waiting on its host says so, and holds…
docs: answer OQ8 for #255, which workroom UI state moves to the agent
test(macapp): an agent session loses its workroom, so delete and the …
fix(wr-agent): a session keeps its workroom and title, through list a…
feat(wr-agent): Service::Layout keeps each remote workroom's pane lay…
fix(wr-agent): a restored remote pane whose session ended starts no s…
feat: agents carry a build number and are never replaced by an older …
feat(macapp): a remote session is tagged with its workroom's own id, …
feat(macapp): the app's side of the Layout service, and a host's sess…
feat(macapp): a remote workroom's layout as its host keeps it (#255)
feat(macapp): choose between this Mac's layout and its host's, and ap…
feat(macapp): a remote workroom waits for its host's layout when it o…
feat(macapp): write remote workrooms' layouts through to their hosts,…
test: two Macs on one remote workroom, over real ssh (#255)
docs: answer OQ8 in remote-workrooms.md, and record how #255 was built
fix: pre-landing review fixes for #255
fix(macapp): a remote workroom waiting on its host says so, and holds…
docs(remote-workrooms): mark #254, #255 and #257 as merged
docs(remote-workrooms): drop the different-Mac criterion and second-M…
docs(remote-workrooms): drop the different-Mac criterion and second-M…