Why: The send button, stop button, and queued sends each looked at a different slice of run state.
Evidence: A depth-4 walk keeps busy aligned with an in-flight run. The listener list includes run.check.
Impact: A disconnected stream shows 重连中. The live bubble still waits for an assistant message.
Refs: feature/runstate-shell
Why: The send button, stop button, and queued sends each looked at a different slice of run state.
Evidence: A depth-4 walk keeps busy aligned with an in-flight run. The listener list includes run.check.
Impact: A disconnected stream shows 重连中. The live bubble still waits for an assistant message.
Refs: feature/runstate-shell
Why: The send button, stop button, and queued sends each looked at a different slice of run state, so a reconnect or a late assistant message could disagree.
Evidence: A depth-4 walk of send, HTTP results, SSE, reconnect, conversation switch, and flush keeps busy aligned with an in-flight run, hides the live bubble once an assistant message exists, and keeps one user message per request id.
Impact: The event listener list is exhaustive over the stream contract, including run.check. A disconnected stream shows 重连中.
Refs: feature/runstate-shell
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: The phase type has to be consumed by the screen that branches on it, or the unused-export ratchet fails.
Evidence: knip stays at the existing baseline after the conversation annotates ShellPhase.
Impact: No behavior change.
Refs: feature/runstate-shell
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen
merged commit 3edae0212c into main2026-10-03 16:41:39 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Why: The send button, stop button, and queued sends each looked at a different slice of run state.
Evidence: A depth-4 walk keeps busy aligned with an in-flight run. The listener list includes run.check.
Impact: A disconnected stream shows 重连中. The live bubble still waits for an assistant message.
Refs: feature/runstate-shell