diff --git a/config/platform-infra/webterm.yaml b/config/platform-infra/webterm.yaml index 7979dbf3..bf44a4e6 100644 --- a/config/platform-infra/webterm.yaml +++ b/config/platform-infra/webterm.yaml @@ -37,6 +37,14 @@ browserTerminalHistory: browserOutputPolicy: maxFramesPerSecond: 10 maxFrameBytes: 65536 + compression: + enabled: true + thresholdBytes: 1024 + level: 3 + memLevel: 7 + concurrencyLimit: 4 + serverContextTakeover: true + clientContextTakeover: false browserPerformance: animationsEnabled: true diff --git a/scripts/src/platform-infra-webterm.ts b/scripts/src/platform-infra-webterm.ts index 9a59593e..9918127b 100644 --- a/scripts/src/platform-infra-webterm.ts +++ b/scripts/src/platform-infra-webterm.ts @@ -51,6 +51,7 @@ interface BrowserTerminalHistory { interface BrowserOutputPolicy { maxFramesPerSecond: number; maxFrameBytes: number; + compression: { enabled: boolean; thresholdBytes: number; level: number; memLevel: number; concurrencyLimit: number; serverContextTakeover: boolean; clientContextTakeover: boolean }; } interface BrowserPerformance { @@ -757,9 +758,19 @@ function parseBrowserTerminalHistory(record: Record, path: stri } function parseBrowserOutputPolicy(record: Record, path: string): BrowserOutputPolicy { + const compression = recordField(record, "compression", path); return { maxFramesPerSecond: positiveIntegerField(record, "maxFramesPerSecond", path), maxFrameBytes: positiveIntegerField(record, "maxFrameBytes", path), + compression: { + enabled: booleanField(compression, "enabled", `${path}.compression`), + thresholdBytes: positiveIntegerField(compression, "thresholdBytes", `${path}.compression`), + level: positiveIntegerField(compression, "level", `${path}.compression`), + memLevel: positiveIntegerField(compression, "memLevel", `${path}.compression`), + concurrencyLimit: positiveIntegerField(compression, "concurrencyLimit", `${path}.compression`), + serverContextTakeover: booleanField(compression, "serverContextTakeover", `${path}.compression`), + clientContextTakeover: booleanField(compression, "clientContextTakeover", `${path}.compression`), + }, }; }