fix(coding-agent): make terminal progress escape sequences configurable, disabled by default

Adds terminal.showTerminalProgress setting (default false) and wires it
to /settings. Guards all OSC 9;4 setProgress calls in interactive-mode.

closes #3588
This commit is contained in:
Mario Zechner
2026-04-23 12:27:51 +02:00
parent 010e9acfe9
commit 8cc046f86e
4 changed files with 52 additions and 5 deletions

View File

@@ -27,6 +27,7 @@ export interface TerminalSettings {
showImages?: boolean; // default: true (only relevant if terminal supports images)
imageWidthCells?: number; // default: 60 (preferred inline image width in terminal cells)
clearOnShrink?: boolean; // default: false (clear empty rows when content shrinks)
showTerminalProgress?: boolean; // default: false (OSC 9;4 terminal progress indicators)
}
export interface ImageSettings {
@@ -905,6 +906,19 @@ export class SettingsManager {
this.save();
}
getShowTerminalProgress(): boolean {
return this.settings.terminal?.showTerminalProgress ?? false;
}
setShowTerminalProgress(enabled: boolean): void {
if (!this.globalSettings.terminal) {
this.globalSettings.terminal = {};
}
this.globalSettings.terminal.showTerminalProgress = enabled;
this.markModified("terminal", "showTerminalProgress");
this.save();
}
getImageAutoResize(): boolean {
return this.settings.images?.autoResize ?? true;
}