diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 245c2b898..bd81a6f64 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -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. diff --git a/packages/coding-agent/src/modes/interactive-mode.ts b/packages/coding-agent/src/modes/interactive-mode.ts index 0a170d3a3..72fd2d5f5 100644 --- a/packages/coding-agent/src/modes/interactive-mode.ts +++ b/packages/coding-agent/src/modes/interactive-mode.ts @@ -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. */