From 962b126e8b7f91e975f9693f9c867de10d62ecb3 Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 6 Mar 2026 16:11:24 +0000 Subject: [PATCH] fix: networkidle still used in stake.ts login flow (#501) Replace waitForLoadState('networkidle') in the post-login redirect with waitForURL('**/app/stake**'). Persistent WebSocket connections prevent networkidle from ever firing, mirroring the same fix applied to navigate.ts. Co-Authored-By: Claude Sonnet 4.6 --- scripts/harb-evaluator/helpers/stake.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/harb-evaluator/helpers/stake.ts b/scripts/harb-evaluator/helpers/stake.ts index 63f898f..a3cf190 100644 --- a/scripts/harb-evaluator/helpers/stake.ts +++ b/scripts/harb-evaluator/helpers/stake.ts @@ -35,9 +35,11 @@ async function navigateToStakePage(page: Page): Promise { console.log('[stake] Password prompt detected, entering lobsterDao...'); await page.getByLabel('Password').fill('lobsterDao'); await page.getByRole('button', { name: 'Login' }).click(); - // router.push('/') in LoginView → '/' redirects to '/stake' → stake page loads. - // Allow extra time for the two-hop client-side navigation to settle in slow CI. - await page.waitForLoadState('networkidle', { timeout: 20_000 }); + // router.push('/') in LoginView → '/' redirects to '/app/stake' → stake page loads. + // waitForLoadState('networkidle') is avoided here for the same reason as navigate.ts: + // persistent WebSocket connections prevent the network from ever going idle. + // Instead, wait for the URL to settle on the stake page as the readiness signal. + await page.waitForURL('**/app/stake**', { timeout: 20_000 }); console.log('[stake] Authenticated, stake page loading'); } }