Repository navigation
Replies: 2 comments
|
+1. Concrete case from daily use: when an agent starts a dev server today, it's either a provider background shell (agent sees output, I only see "Running: …") or I start it in the terminal drawer (I see live logs, the agent can't read them). Agent-owned runs in a thread terminal (#8714) plus a visible result per run would let both of us see the same process, and stop it from either side. |
|
A related bug: a background test run triggers a false "Thread completed" I keep getting "Thread completed" notifications for threads that are still waiting on a test the agent started in the background. Here's the sequence:
The cause is This proposal could fix that. A tracked run is either:
That only covers saved actions, though, so ad-hoc commands still need a fix. Two smaller changes would help in the meantime:
Separately, the status vocabulary is muddled. Run status |
Uh oh!
There was an error while loading. Please reload this page.
Problem
I'd like to do almost all of my development from the mobile app, without opening a terminal. Most of that works well: I ask the agent, review the diff, and settle. The weak spot is anything that keeps running or produces a pass/fail result, like a dev server or a build.
${script.command}\rinto a thread terminal (ChatView.tsx). There's no running/succeeded/failed state, exit code, stop, or restart. Reading scrollback on a phone is the only way to know whether a build passed.Building on #8714
#8714 lets agents list, run, and stop saved project scripts in terminals they own, without passing raw command text. This proposal is the follow-up that gives those runs, and user-started actions, a result that every client can show.
Most of the rest exists too:
ProjectSetupScriptRunneralready wraps setup scripts in an exit-code marker and gets a real status, duration, and output.TerminalManagerreportshasRunningSubprocess, persists history, and keeps busy terminals open on settle.PortScannerlinks a listening port to{ threadId, terminalId }.Proposal
runScript. Web, mobile, and the feat(mcp): run saved project scripts #8714 tools call the same service method instead of opening a terminal and writing to it from the client. That brings mobile parity and removes the duplicated client logic.running | succeeded | failed, the exit code, and the duration.ExecutionEnvironmentCapabilitiesflag lets older servers hide the feature.Ownership follows the existing terminal rules. The thread that started a run owns it. The run stays open on settle like other terminals, and archive and delete clean it up.
Questions
t3_project_script_runover a provider background shell for a saved dev-server or build action? That would make the experience consistent, but it changes agent behavior.Out of scope
nohup/setsid([Bug]: Settle leaves running a dev server the agent started withnohup … &, and nothing in T3 can find or stop it afterwards #15241).Related
nohup … &, and nothing in T3 can find or stop it afterwards #15241If this direction works for you, I'm happy to implement it on top of #8714.
All reactions