diff --git a/src/renderer/src/components/terminal-pane/use-terminal-window-wake-recovery.ts b/src/renderer/src/components/terminal-pane/use-terminal-window-wake-recovery.ts index 46b0099369c..8d07259f7ae 100644 --- a/src/renderer/src/components/terminal-pane/use-terminal-window-wake-recovery.ts +++ b/src/renderer/src/components/terminal-pane/use-terminal-window-wake-recovery.ts @@ -29,6 +29,10 @@ export function useTerminalWindowWakeRecovery({ wakeRecoveryFrameId = null } const recoverVisibleWake = (): void => { + // Focus and visibility often fire together; keep one immediate recovery and one settled RAF pass. + if (wakeRecoveryFrameId !== null) { + return + } const manager = managerRef.current if (!manager) { return @@ -37,7 +41,6 @@ export function useTerminalWindowWakeRecovery({ manager, isActive: isActiveRef.current }) - cancelScheduledWakeRecovery() if (typeof requestAnimationFrame !== 'function') { return }