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'); } }