From 51284f272f4f71720b7070721773e646b6f186e5 Mon Sep 17 00:00:00 2001 From: pallyoung Date: Tue, 25 Aug 2026 13:32:49 +0800 Subject: [PATCH] Allow WSL follow-up bootstrap to settle --- scripts/verify-desktop-installed-update.ps1 | 3 ++- scripts/verify-desktop-installed-update.test.ts | 5 +++++ scripts/verify-desktop-installed-update.ts | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/verify-desktop-installed-update.ps1 b/scripts/verify-desktop-installed-update.ps1 index ae6ef647..9fef7e87 100644 --- a/scripts/verify-desktop-installed-update.ps1 +++ b/scripts/verify-desktop-installed-update.ps1 @@ -543,7 +543,8 @@ try { } $desktopProcess = Start-AcceptanceDesktop $desktopExecutable $userDataDirectory $cdpPort $restartScenario $WslDistro $desktopOut $desktopErr $desktopProcess.Handle | Out-Null - $restartPages = Wait-Cdp $cdpPort + $restartTimeoutSeconds = if ($phase -eq 'wsl-follow') { 300 } else { 90 } + $restartPages = Wait-Cdp $cdpPort $restartTimeoutSeconds $restartSidecarUrl = Get-SidecarUrl $restartPages $sidecarUrl = $restartSidecarUrl $journalAfter = Read-JournalIdentity $journalPath diff --git a/scripts/verify-desktop-installed-update.test.ts b/scripts/verify-desktop-installed-update.test.ts index ffa75f7e..d9b64863 100644 --- a/scripts/verify-desktop-installed-update.test.ts +++ b/scripts/verify-desktop-installed-update.test.ts @@ -113,6 +113,10 @@ describe("verify-desktop-installed-update", () => { expect(runner).toContain("-RedirectStandardOutput $StandardOut"); expect(runner).toContain("$startupTimeoutSeconds = if ($isWslScenario) { 300 } else { 90 }"); expect(runner).toContain("Wait-Cdp $cdpPort $startupTimeoutSeconds"); + expect(runner).toContain( + "$restartTimeoutSeconds = if ($phase -eq 'wsl-follow') { 300 } else { 90 }" + ); + expect(runner).toContain("Wait-Cdp $cdpPort $restartTimeoutSeconds"); expect(desktopMain).toContain('console.error("Unable to start Coder Studio", details)'); expect(desktopMain).toContain("[desktop-acceptance:environment]"); expect(desktopMain).toContain( @@ -183,6 +187,7 @@ describe("verify-desktop-installed-update", () => { expect(driver).toContain("activeSidecarUrl = relaunch.sidecarUrl ?? activeSidecarUrl;"); expect(driver).toContain("await session.close().catch(() => undefined);"); expect(driver).toContain("session = await connectBrowser(activeCdpUrl);"); + expect(driver).toContain('phase === "wsl-follow" ? 360_000 : 120_000'); expect(driver).toContain("allowFailedFrozenState?: boolean;"); expect(driver).toContain('values.get("allow-failed-frozen-state") === "true"'); expect(driver).toContain( diff --git a/scripts/verify-desktop-installed-update.ts b/scripts/verify-desktop-installed-update.ts index 4ce14fe0..80b669b0 100644 --- a/scripts/verify-desktop-installed-update.ts +++ b/scripts/verify-desktop-installed-update.ts @@ -611,7 +611,8 @@ async function waitForRelaunch( ): Promise { if (!path) throw new Error(`Installed Desktop interruption control is required for ${phase}`); const controlPath = resolve(path); - const deadline = Date.now() + 120_000; + const relaunchTimeoutMs = phase === "wsl-follow" ? 360_000 : 120_000; + const deadline = Date.now() + relaunchTimeoutMs; while (Date.now() < deadline) { try { const state = JSON.parse(