mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* feat(terminal): declare restore intent and keep deferred panes sleeping The visible pane's agent restore is sent as user-resume and hidden ones as automatic-restore, to hosts that advertise terminal.spawn-intent.v1 (and always on the local spawn path). When the host keeps a restore asleep, the pane shows 'Sleeping — click to resume' with the reason, keeps a sleeping record so the session stays listed and resumable, and resumes as the user's own when it is opened or clicked. A deferred pane is not remounted, which would only be deferred again. * refactor(shared): one restore spawn intent type * fix(terminal): a deferred pane owns its session against wake sweeps A deferred pane has no PTY, so the activation and mobile wake sweeps read its unfinished record as unowned and could launch the session in a new tab while the pane still held a resume. The sweep now treats a deferred pane as the owner, the remembered record is a quit-style record a sweep never discards, and a retry declines to resume a session that is already live in another pane. * fix(terminal): keep a deferred pane's claim through its sweep and retry The wake sweep now leaves a deferred pane's record alone, since that pane's own queued resume matches it and is not a duplicate. A retry keeps the pane registered as the session's owner until its PTY binds, and declines to resume when another tab already has the same session queued. --------- Co-authored-by: m4air <m4air@Mac.localdomain>