fix(codex): publish Windows system-default sessions (#12611)

* fix(codex): publish Windows system-default sessions

* fix(codex): close launch-scheduling races in session migration scheduler

* fix(codex): bound repeated session migration audits

* fix(codex): preserve delayed session publication passes

* fix(codex): bound failed session audit events

* fix(codex): fence stale session migration markers

* chore: preserve main formatting after merge

* perf(codex): bound launch session migration scans

* perf(codex): preserve coalesced migration scope

* fix(codex): preserve scheduled migration recovery

* fix(codex): preserve session migration recovery

* fix(codex): close session migration launch races

* fix(codex): harden session migration completion
This commit is contained in:
Brennan Benson
2026-08-07 16:53:41 -07:00
committed by GitHub
parent 20aeb0cb99
commit 38275c2aa2
19 changed files with 1890 additions and 230 deletions
@@ -23,6 +23,7 @@ import { registerWorkspaceCleanupHandlers } from '../ipc/workspace-cleanup'
import {
getLocalPtyProvider,
registerPtyHandlers,
type CodexHomePtySpawnedLifecycleArgs,
type GetSelectedCodexHomePath,
type PrepareCodexSessionResume
} from '../ipc/pty'
@@ -98,6 +99,8 @@ export function attachMainWindowServices(
onBeforeRendererReload?: (args: { webContentsId: number; ignoreCache: boolean }) => void
// Why: lets the PTY orphan sweep skip the one crash-recovery reload (#5787).
isRecoveryReloadInFlight?: (webContentsId: number) => boolean
onCodexHomePtySpawned?: (args: CodexHomePtySpawnedLifecycleArgs) => void
onPtyExit?: (id: string, exitSequence: number) => void
onBeforeUpdateQuit?: () => void | Promise<void>
updateInstallMode?: UpdateInstallMode
onWorktreeLifecycle?: (event: RuntimeWorktreeLifecycleEvent) => void
@@ -125,7 +128,9 @@ export function attachMainWindowServices(
prepareCodexSessionResume: options?.prepareCodexSessionResume,
awaitLocalPtyStartup: options?.awaitLocalPtyStartup,
awaitLocalPtyProviderStartup: options?.awaitLocalPtyProviderStartup,
isRecoveryReloadInFlight: options?.isRecoveryReloadInFlight
isRecoveryReloadInFlight: options?.isRecoveryReloadInFlight,
onCodexHomePtySpawned: options?.onCodexHomePtySpawned,
onPtyExit: options?.onPtyExit
}
)
// Why: register after registerPtyHandlers so pty:management:* IPC re-installs on macOS re-activation (docs/daemon-staleness-ux.md §Phase 1).