History

Support yes/no env aliases in perf toggle parser

Cursor Agent committed 8 months ago

Commit 1cb08a21 parent c0f80772 files · +37 −6Browse files

Unified · Split

2 files
  1. apps/desktop/src/perfConfig.test.ts +24 −0
  2. apps/desktop/src/perfConfig.ts +13 −6
apps/desktop/src/perfConfig.test.ts+24−0
@@ -36,6 +36,18 @@ describe("shouldRunTerminalPerfInteractions", () => { · 35 unmodified lines
3636 CI: "true",
3737 }),
3838 ).toBe(true);
39+ expect(
40+ shouldRunTerminalPerfInteractions({
41+ T3CODE_DESKTOP_PERF_RUN_TERMINAL: " yes ",
42+ CI: "true",
43+ }),
44+ ).toBe(true);
45+ expect(
46+ shouldRunTerminalPerfInteractions({
47+ T3CODE_DESKTOP_PERF_RUN_TERMINAL: "ON",
48+ CI: "true",
49+ }),
50+ ).toBe(true);
3951 });
4052
4153 it("supports explicit false values", () => {
@@ -57,6 +69,18 @@ describe("shouldRunTerminalPerfInteractions", () => { · 15 unmodified lines
5769 CI: "false",
5870 }),
5971 ).toBe(false);
72+ expect(
73+ shouldRunTerminalPerfInteractions({
74+ T3CODE_DESKTOP_PERF_RUN_TERMINAL: " no ",
75+ CI: "false",
76+ }),
77+ ).toBe(false);
78+ expect(
79+ shouldRunTerminalPerfInteractions({
80+ T3CODE_DESKTOP_PERF_RUN_TERMINAL: "OFF",
81+ CI: "false",
82+ }),
83+ ).toBe(false);
6084 expect(
6185 shouldRunTerminalPerfInteractions({
6286 T3CODE_DESKTOP_PERF_RUN_TERMINAL: "0",
apps/desktop/src/perfConfig.ts+13−6
@@ -3,11 +3,19 @@ type PerfToggleEnv = { · 2 unmodified lines
33 CI?: string | undefined;
44 };
55
6−const CI_TRUE_VALUES = new Set(["1", "true", "yes", "on"]);
6+const TRUE_VALUES = new Set(["1", "true", "yes", "on"]);
7+const FALSE_VALUES = new Set(["0", "false", "no", "off"]);
78
8−function isCiEnvironment(value: string | undefined): boolean {
9+function parseBooleanLike(value: string | undefined): boolean | null {
910 const normalized = value?.trim().toLowerCase();
10− return normalized ? CI_TRUE_VALUES.has(normalized) : false;
11+ if (!normalized) return null;
12+ if (TRUE_VALUES.has(normalized)) return true;
13+ if (FALSE_VALUES.has(normalized)) return false;
14+ return null;
15+}
16+
17+function isCiEnvironment(value: string | undefined): boolean {
18+ return parseBooleanLike(value) === true;
1119 }
1220
1321 /**
@@ -18,8 +26,7 @@ function isCiEnvironment(value: string | undefined): boolean { · 4 unmodified lines
1826 * flaky PTY-dependent interactions in ephemeral Linux runners.
1927 */
2028 export function shouldRunTerminalPerfInteractions(env: PerfToggleEnv): boolean {
21− const raw = env.T3CODE_DESKTOP_PERF_RUN_TERMINAL?.trim().toLowerCase();
22− if (raw === "1" || raw === "true") return true;
23− if (raw === "0" || raw === "false") return false;
29+ const toggleOverride = parseBooleanLike(env.T3CODE_DESKTOP_PERF_RUN_TERMINAL);
30+ if (toggleOverride !== null) return toggleOverride;
2431 return !isCiEnvironment(env.CI);
2532 }