Repository navigation
Replies: 4 comments
|
Update after finding related work: #13540 is the bug report for the failover itself, and #13772 is an open fix following its triage direction. Sessions keep the tab's desktop through a disconnect instead of failing over to any client. #13772 deliberately leaves one case unchanged: when a session opens its first tab, any connected desktop is eligible and the focused one wins (#13064). That's the remaining question here. I hit it on two Macs: a brand-new session went to an idle second Mac, whose window was frontmost on its own machine, because the Mac running the environment wasn't focused at that moment. Every So I'm narrowing this to: for a session's first tab, should a desktop on the environment's own machine ( |
|
I have a working fork, commit My use case is to start an agent's browser task on a Linux host, disconnect my Mac, and reconnect to the same tab later. With #15328 implementing the server browser and #14955 addressing session reconciliation, I'd like to build on that work with explicit browser selection:
In my fork, a real Codex browser task completed on Linux 25 seconds after the client disconnected. Codex stored its final response while disconnected, and both web and a restarted Mac client recovered the same live tab. This verifies my fork; I have not run #15328. The test used a fictional loopback page and did not test physical laptop suspension or a host reboot. Would maintainers support this selection model? If so, I can prepare a focused PR on top of the accepted server-browser work, with selection and reconnect tests. The contribution would be limited to browser selection, without the fork's custom app identity or packaging. Prepared with GPT-6.1-Sol through the Codex harness in T3 Code. |
|
I have the same problem with a different setup, and I want to add the use case. Setup
I work from machine B. When an agent calls a
What I ask for
Why a better ranking is not sufficient for this case In my case, I look at the thread on machine B, so "keep tab ownership first" and focus both select machine B. Only an explicit choice moves the browser to machine A. Relation to #15328 #15328 says that the desktop app's own environment keeps Electron previews. That is machine A in my setup. I also want the host's Electron browser, because it has my signed-in sessions. A separate Chromium with isolated storage does not have them. A stream of the host's Electron browser to a second desktop client is the part that I did not find in the current work. |
|
I think #15328 might have solved most of this |
Uh oh!
There was an error while loading. Please reload this page.
When more than one T3 Code Desktop is connected to an environment, the Browser tools can serve an agent's session from a desktop on a different machine. That desktop usually can't reach the dev server the agent is testing. I'd like maintainer direction before proposing a change, because the current routing was chosen deliberately in #13064.
What happens today
The server keeps one browser per agent session and treats every connected desktop for the environment as an equal candidate. For a new session, or after the assigned browser disconnects, it ranks desktops in this order:
Nothing considers which machine the environment runs on.
"Focused" is per machine. A desktop sitting idle on another Mac with T3 Code in front reports focus indefinitely. In my case the agent's tab on the environment's own machine was hidden, so an idle laptop on the same network got the session.
localhostURLs andenvironment-porttargets then fail there. Aurlnavigate fails becauselocalhostis that laptop. Anenvironment-portnavigate fails because a T3 Connect client resolves it to the relay hostname, which is rejected. Assignments are never re-ranked, so opening the Browser panel on the right machine afterwards doesn't bring the session back.The bug that made the session move mid-flow, eviction on
wait_fortimeouts, is fixed separately in #15335 / #15338. This discussion is about which browser should serve a session in the first place.Possible direction
desktop-bootstrapsession.npx t3servers have no such desktop and would keep today's ranking.preview_statuscould report which desktop is serving the session, and an unreachablelocalhost/environment-porttarget could fail with an error the agent can act on (open the Browser on the environment's machine, or expose the dev server on a reachable address), instead of a generic "failed on client".What I'd avoid: requiring the environment's own machine. That breaks remote use, for example driving a desktop at home from a laptop with nothing open at home.
Open questions
desktop-bootstrapprovenance the right "same machine as the environment" signal, given that WSL also uses it?All reactions