Repository navigation
feat(workspace): stop idle workspace runtimes after a set time - #1307
Conversation
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
|
Is this configurable? I very frequently run agents and their stopping condition is asking a question, right? Losing that question is extremely bad. |
|
I wonder if the better path is not just to push Windows users more towards the ACP ones, where I believe we have better resumption capabilities in any case. So, this feels like a feature that is likely just more harm than good. |
|
It doesn't actually lose the question. What the caveat refers to in this case is something like the AskUserQuestion tool which pops up the multiple-choice. And when you resume a session that stopped on that, it presents the question normally instead of the multiple choice. The functionality here mirrors herdr; the body is updated to reflect that. It's also totally opt-in at the moment, and the default value of 0 means nothing closes automatically. |
058199f to
94700c1
Compare
roborev: Combined Review (
|
roborev: Combined Review (
|
2206b9b to
db25dac
Compare
roborev: Combined Review (
|
|
reviewing |
roborev: Combined Review (
|
roborev: Combined Review (
|
- fix(workspace): guard the stop-mark stat result for nilaway - fix(workspace): only stop terminal agents whose target still resumes them - fix(workspace): skip an idle pass whose timeout a reload cleared - fix: stop idle workspace terminals until their next attach - fix: keep idle terminal stops from blocking other workspaces - fix: let idle ACP chats stop despite stale hook reports - fix: preserve resumable conversations and clear deleted runtime state - fix: keep compaction from marking an agent's conversation as resumable - fix: drop the stop mark when a stopped runtime's tab is closed - refactor: leave the base terminal backend check to the idle pass - fix: keep idle stop tied to user input and resumable agents - fix: keep idle stops aligned with live runtime settings - fix: preserve pending agent work during idle cleanup - fix: keep pending agent work alive across lifecycle reports - fix: preserve pending work and parked session status - fix: accept any background task shape from agent hooks - fix: keep idle stop from parking agents Forge cannot resume - fix: keep idle stop from parking unprompted agents or losing pending work - test: keep idle stop tests passing on the current main - fix: keep resuming idle-stopped runtimes from stalling other workspaces - style: format the phone runtime discovery e2e test - test: make the ACP resume check fail when the target-kind guard is gone Generated with Claude Code (claude-opus-5-5) Generated with Grok 4.7 Co-authored-by: Marius van Niekerk <marius.v.niekerk@gmail.com> Co-authored-by: Wes McKinney <wesmckinn+git@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Grok <noreply@x.ai>
e7a2b08 to
bd861f7
Compare
roborev: Combined Review (
|
With
[workspaces] idle_runtime_stop_hoursset, Forge stops a pty-owner workspace's agents, shell tabs and terminal after that many hours with no visible page view or typing, freeing the memory and hidden consoles they hold on Windows. Opening the page resumes each agent's conversation and starts fresh shells. The default,0, turns it off.With the other #1282 slices, resume covers Claude Code, Codex, OpenCode, Pi, Copilot, Cursor, Droid, Gemini, Hermes and Qwen Code; another agent needs only a thin adapter in kit. A question the agent was asking comes back as a normal message, so Claude Code's multiple-choice picker shows as plain text, as it does in herdr.
Refs #1282, slice 2 (Stop idle runtimes on a timer)