Repository navigation
Conversation
… errors Separate connection receipt identity from physical browser ownership. Retain cleanup failures without treating completed failed calls as running work, await all close attempts, and attempt every Host shutdown stage. Generated-by: Codex
Generated-by: Codex
…work Cover completed failing closes, retained Agent cleanup during idle retirement, and continued work after a caught child failure. Assert real retained custody instead of stale parent call counters. Generated-by: Codex
Regenerate the complete native distribution notice catalog and verify the resulting component coverage for the updated CUA pin. Generated-by: Codex
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Explicit browser takeover disconnected the owner IPC because its request field was missing from broker parsing/forwarding. Retained cleanup errors then blocked later Computer calls and could keep Host resident after the last Desktop window closed.
This PR consumes the CUA transport fix, separates receipt identity for each IPC connection while preserving physical tab ownership across live connections, and lets a new Computer evaluation proceed while ended-turn cleanup remains owned.
Idle retirement now distinguishes active work from completed work retained after an error. Host waits for original close attempts and remaining VMs, then attempts transport, access-store and SQL shutdown before returning errors. Computer, JEV, Web, Agent, Workhub, ACP and process idle checks follow the same distinction. Running tasks and other connected clients still keep Host alive. Removed the unrelated fixed 32-process ACP admission cap from this path.
Verification
Linux, Rust 1.99.1, debug information and incremental compilation disabled; no live user browser, Desktop process or database was changed:
Initial concurrent Host tests hit fixture deadlines and were rerun serially. Three stale Host JS assertions about caller failure, forced provider retirement and parent capacity were corrected to check the current custody/continued-work behavior. No production settlement contract was weakened to satisfy them.
Desktop acceptance
AI use
Tool(s) and scope: Codex implemented and tested the changes; a separate GPT-6 Astra advisor reviewed failure isolation and shutdown/reconnection correctness. Material commits include Generated-by trailers.
Checklist
Does this PR entail a change in behavior?