From c3361278647c7516edc2ecee24f5c0b89f4fbebd Mon Sep 17 00:00:00 2001 From: pikastech Date: Tue, 21 Jul 2026 15:16:23 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A3=B0=E6=98=8E=20Webterm=20=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E7=BB=88=E7=AB=AF=E6=AF=94=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/platform-infra/webterm.yaml | 1 + scripts/src/platform-infra-webterm.ts | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/config/platform-infra/webterm.yaml b/config/platform-infra/webterm.yaml index db632607..d3339a65 100644 --- a/config/platform-infra/webterm.yaml +++ b/config/platform-infra/webterm.yaml @@ -49,6 +49,7 @@ browserOutputPolicy: browserPerformance: animationsEnabled: true defaultBackgroundMode: receive-only + defaultMobileTerminalPercent: 40 backgroundModes: disconnect: label: 断开后台连接 diff --git a/scripts/src/platform-infra-webterm.ts b/scripts/src/platform-infra-webterm.ts index d49a14a8..f9de54e8 100644 --- a/scripts/src/platform-infra-webterm.ts +++ b/scripts/src/platform-infra-webterm.ts @@ -67,6 +67,7 @@ interface BrowserOutputPolicy { interface BrowserPerformance { animationsEnabled: boolean; defaultBackgroundMode: "disconnect" | "receive-only" | "low-frequency" | "live"; + defaultMobileTerminalPercent: number; backgroundModes: Array<{ id: "disconnect" | "receive-only" | "low-frequency" | "live"; label: string }>; deferredOutputMaxBytes: number; lowFrequencyRenderIntervalMs: number; @@ -898,6 +899,7 @@ function parseBrowserPerformance(record: Record, path: string): return { animationsEnabled: booleanField(record, "animationsEnabled", path), defaultBackgroundMode: defaultBackgroundMode as BrowserPerformance["defaultBackgroundMode"], + defaultMobileTerminalPercent: integerInRangeField(record, "defaultMobileTerminalPercent", path, 20, 70), backgroundModes, deferredOutputMaxBytes: positiveIntegerField(record, "deferredOutputMaxBytes", path), lowFrequencyRenderIntervalMs: positiveIntegerField(record, "lowFrequencyRenderIntervalMs", path), @@ -913,6 +915,12 @@ function positiveIntegerField(record: Record, key: string, path return value; } +function integerInRangeField(record: Record, key: string, path: string, min: number, max: number): number { + const value = integerField(record, key, path); + if (value < min || value > max) throw new Error(`${path}.${key} must be from ${min} to ${max}`); + return value; +} + function parseLiteral(value: string, expected: T, path: string): T { if (value !== expected) throw new Error(`${path} must be ${expected}`); return expected;