From 11e29bcdb8f93d87d06b1cf292cc35e4f0c9fb45 Mon Sep 17 00:00:00 2001 From: m4air Date: Mon, 7 Sep 2026 17:42:36 -0700 Subject: [PATCH] refactor: simplify provider snapshot timeout handling --- ...alize-terminal-buffer-from-available-state.ts | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/runtime/orca-runtime-serialize-terminal-buffer-from-available-state.ts b/src/main/runtime/orca-runtime-serialize-terminal-buffer-from-available-state.ts index b6eda4acf0f..031dd90e3fb 100644 --- a/src/main/runtime/orca-runtime-serialize-terminal-buffer-from-available-state.ts +++ b/src/main/runtime/orca-runtime-serialize-terminal-buffer-from-available-state.ts @@ -143,25 +143,21 @@ export class OrcaRuntimeWithSerializeTerminalBufferFromAvailableState extends Or } }) } - if (acquisition.timedOut) { - return null - } if (typeof wait.timeoutMs !== 'number') { return acquisition.promise } - const result = await withTimeout< - { settled: true; value: PtyProviderBufferSnapshot | null } | { settled: false } - >( - acquisition.promise.then((value) => ({ settled: true as const, value })), + // Undefined marks a timeout; null is a settled provider with no snapshot. + const result = await withTimeout( + acquisition.promise, wait.timeoutMs, - { settled: false as const } + undefined ) - if (!result.settled) { + if (result === undefined) { if (wait.retireOnTimeout) { acquisition.timedOut = true } return null } - return result.value + return result } }