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
Commit 1b15169
Browse filesBrowse the repository at this point in the historyBrowse files
fix(server): only take a device over from a thread with no work in flight
Take over relied on the client's view of the holding thread. Clients omit
older settled threads from their shells, and a thread can start a run
between render and click, so a stale or missing shell could release a
session a working agent was using.
`device.close` now accepts `takeOver: { openedAt }`. Under the device
lifecycle lock the server closes only the session opened at that time, and
only when the holder has no active run or pending background task;
otherwise it refuses with DeviceTakeoverRefusedError. A takeover never
powers the device off. Web and mobile send the session they showed and no
longer claim "isn't running" for a thread they cannot see.
0 commit comments