fix(cli): affiche les progress reçus après Final sans rouvrir le tour — #216

This commit is contained in:
2026-08-15 18:58:08 +02:00
parent a3699933e9
commit 3582b252bb
2 changed files with 18 additions and 5 deletions

View File

@ -425,19 +425,21 @@ function isRecoverableNoResponseTurn(turn: ChatTurn | undefined): boolean {
}
function turnsIndicateBusy(state: ChatViewState): boolean {
let sawOpenActivity = false;
for (let index = state.turns.length - 1; index >= 0; index -= 1) {
const turn = state.turns[index];
if (turn.role === "final" || turn.role === "error") return false;
if (turn.role === "agent" && turn.pending) return true;
if (turn.role === "user") return sawOpenActivity;
if (turn.role === "agent" && turn.pending) sawOpenActivity = true;
if (
turn.role === "progress" &&
!turn.settled &&
progressStageBucket(turn.progress) !== "completed"
) {
return true;
sawOpenActivity = true;
}
}
return false;
return sawOpenActivity;
}
function insertTextAtSelection(
@ -610,6 +612,14 @@ function foldChunk(
if (isRecoverableNoResponseTurn(last) && raw.kind !== "error") {
return foldChunk({ ...state, turns: turns.slice(0, -1) }, raw, receivedAtMs);
}
if (raw.kind === "progress") {
return appendProgress(state, normalizeProgress(raw.progress) ?? {
source: "ideaLocal",
kind: "other",
stage: "info",
label: unknownChunkLabel(raw),
});
}
return state;
}
switch (raw.kind) {