fix(coding-agent): kept mid-turn command deferral silent

- Reverted the status-line acknowledgment added for deferred panel
  commands: showStatus mounts a Spacer+Text into the transcript, and any
  mid-turn transcript mount re-renders rows below the growing live block,
  duplicating them in native scrollback (issues #4806/#6767).
- The queue still flushes at every settle, terminal or not.
This commit is contained in:
can1357
2026-08-06 14:18:50 +02:00
parent d4ac069053
commit d9d911a58d
2 changed files with 5 additions and 6 deletions
+1 -1
View File
@@ -20,7 +20,7 @@
### Fixed
- Fixed panel commands (such as `/usage` and `/advisor status`) appearing unresponsive during active turns by acknowledging deferrals in the status line and flushing the queue upon non-terminal settling.
- Fixed panel commands (such as `/usage` and `/advisor status`) appearing unresponsive during active turns by flushing the deferred-panel queue at every settle, terminal or not. The deferral itself stays silent: mounting a status line into the transcript mid-turn re-renders rows below the live block and duplicates them in native scrollback (issues #4806/#6767).
- Fixed the bundled `ts-no-tiny-functions` rule failing to match one-line arrow functions in files with trailing newlines.
- Fixed advisor refusals skipping the model fallback chain, and bounded refusal recovery to a single attempt per model to prevent infinite fallback loops.
- Fixed repeated `/mcp reauth` commands getting stuck by ensuring new reauthorization requests cancel and clean up any pending MCP OAuth login flows.
@@ -4161,11 +4161,10 @@ export class InteractiveMode implements InteractiveModeContext {
this.#pendingCommandOutputSessionId = sessionId;
const items = Array.isArray(content) ? content : [content as Component];
this.#pendingCommandOutput.push(...items);
// Deferring silently reads as a dead command: the panel can be minutes
// away on a long turn, so say where it went. "Pauses" rather than
// "finishes" because an async fan-out settles without ending the run,
// and the queue flushes at that settle too.
this.showStatus("Command output queued until the agent pauses.");
// No feedback here on purpose: mounting anything into the transcript
// mid-turn (even a status line) re-renders rows below the growing live
// block and duplicates them in native scrollback — the exact regression
// issues #4806/#6767 pin. The queue flushes at the next settle.
}
/** Mount every command panel queued for the current session while the agent was streaming. */