-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Terminal chat.send acknowledgements can leave clients tracking non-running runs #91048
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Problem
chat.sendand forwarded session methods can return a terminal acknowledgement with arunIdandstatus: "ok" | "timeout" | "error". Several clients and helper paths still treat any returnedrunIdas an accepted active run, so they can keep pending UI state, wait for future run events, or release queued state as if the message was still running.Expected behavior
Consumers should branch on the acknowledgement status:
started/in_flight: keep the existing active-run behavior.ok: clear pending state without waiting for future run events.timeout/error: clear or restore optimistic/queued state, surface failure where appropriate, and avoid tracking a non-running run id.Forwarded methods such as
sessions.steershould preserve the same terminal semantics instead of converting the result into a generic success.Impact
The affected paths can leave the user-facing client stuck in a pending or waiting state even though the gateway already returned a terminal acknowledgement. The same status contract should be handled consistently across Web, Android, native Talk surfaces, TUI, ACP, and slash-command forwarding paths.
Scope notes
This issue is about preserving terminal acknowledgement status through in-repo clients and forwarders. It does not try to redesign the public SDK
Session.sendreturn type or settle the exact cross-client UX copy for every terminal status; those can be handled as separate follow-ups if needed.Related context
Related to #84176 and #84306, but this is a separate client/protocol propagation follow-up.