{"record":{"id":"d4ca8928c674d3be","repo":"garrytan/gstack","slug":"usage-browse-wait-selector-networkidle-load","errorCode":null,"errorMessage":"Usage: browse wait <selector|--networkidle|--load|--domcontentloaded>","messagePattern":"Usage: browse wait <selector\\|--networkidle\\|--load\\|--domcontentloaded>","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"browse/src/write-commands.ts","lineNumber":473,"sourceCode":"      }\n\n      // Single scroll (original behavior)\n      if (selector) {\n        const resolved = await session.resolveRef(selector);\n        if ('locator' in resolved) {\n          await resolved.locator.scrollIntoViewIfNeeded({ timeout: 5000 });\n        } else {\n          await target.locator(resolved.selector).scrollIntoViewIfNeeded({ timeout: 5000 });\n        }\n        return `Scrolled ${selector} into view`;\n      }\n      await target.evaluate(() => window.scrollTo(0, document.body.scrollHeight));\n      return 'Scrolled to bottom';\n    }\n\n    case 'wait': {\n      const selector = args[0];\n      if (!selector) throw new Error('Usage: browse wait <selector|--networkidle|--load|--domcontentloaded>');\n      if (selector === '--networkidle') {\n        const MAX_WAIT_MS = 300_000;\n        const MIN_WAIT_MS = 1_000;\n        const timeout = Math.min(Math.max(args[1] ? parseInt(args[1], 10) || MIN_WAIT_MS : 15000, MIN_WAIT_MS), MAX_WAIT_MS);\n        await page.waitForLoadState('networkidle', { timeout });\n        return 'Network idle';\n      }\n      if (selector === '--load') {\n        await page.waitForLoadState('load');\n        return 'Page loaded';\n      }\n      if (selector === '--domcontentloaded') {\n        await page.waitForLoadState('domcontentloaded');\n        return 'DOM content loaded';\n      }\n      const MAX_WAIT_MS = 300_000;\n      const MIN_WAIT_MS = 1_000;\n      const timeout = Math.min(Math.max(args[1] ? parseInt(args[1], 10) || MIN_WAIT_MS : 15000, MIN_WAIT_MS), MAX_WAIT_MS);","sourceCodeStart":455,"sourceCodeEnd":491,"githubUrl":"https://github.com/garrytan/gstack/blob/94993f74012782fd94416dd44b8314f6363a13a4/browse/src/write-commands.ts#L455-L491","documentation":"Error \"Usage: browse wait <selector|--networkidle|--load|--domcontentloaded>\" thrown in garrytan/gstack.","triggerScenarios":"Thrown at browse/src/write-commands.ts:473 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"94993f74012782fd94416dd44b8314f6363a13a4","analyzedAt":"2026-08-12T04:06:23.140Z","schemaVersion":2},"datasetVersion":"2026-08-12T12:31:55.035Z"}