fix(coding-agent): restore compaction summary and dedupe edit errors

This commit is contained in:
Mario Zechner
2026-03-27 04:00:21 +01:00
parent a0734bd162
commit f456a7a4db
4 changed files with 28 additions and 4 deletions

View File

@@ -215,7 +215,14 @@ function formatEditResult(
.filter((c) => c.type === "text")
.map((c) => c.text || "")
.join("\n");
return errorText ? `\n${theme.fg("error", errorText)}` : undefined;
let previewError: string | undefined;
if (state.preview && "error" in state.preview) {
previewError = state.preview.error;
}
if (!errorText || errorText === previewError) {
return undefined;
}
return `\n${theme.fg("error", errorText)}`;
}
const previewDiff = state.preview && !("error" in state.preview) ? state.preview.diff : undefined;

View File

@@ -57,7 +57,7 @@ import type {
} from "../../core/extensions/index.js";
import { FooterDataProvider, type ReadonlyFooterDataProvider } from "../../core/footer-data-provider.js";
import { type AppKeybinding, KeybindingsManager } from "../../core/keybindings.js";
import { createCompactionSummaryMessage } from "../../core/messages.js";
import { findExactModelReferenceMatch, resolveModelScope } from "../../core/model-resolver.js";
import { DefaultPackageManager } from "../../core/package-manager.js";
import type { ResourceDiagnostic } from "../../core/resource-loader.js";
@@ -2438,6 +2438,13 @@ export class InteractiveMode {
} else if (event.result) {
this.chatContainer.clear();
this.rebuildChatFromMessages();
this.addMessageToChat(
createCompactionSummaryMessage(
event.result.summary,
event.result.tokensBefore,
new Date().toISOString(),
),
);
this.footer.invalidate();
} else if (event.errorMessage) {
if (event.reason === "manual") {