{"record":{"id":"ec9ba951bd7dcdbe","repo":"garrytan/gstack","slug":"viewport-scale-missing-value-usage-viewport","errorCode":null,"errorMessage":"viewport --scale: missing value. Usage: viewport [WxH] --scale <n>","messagePattern":"viewport --scale: missing value\\. Usage: viewport \\[WxH\\] --scale <n>","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"browse/src/write-commands.ts","lineNumber":509,"sourceCode":"      const timeout = Math.min(Math.max(args[1] ? parseInt(args[1], 10) || MIN_WAIT_MS : 15000, MIN_WAIT_MS), MAX_WAIT_MS);\n      const resolved = await session.resolveRef(selector);\n      if ('locator' in resolved) {\n        await resolved.locator.waitFor({ state: 'visible', timeout });\n      } else {\n        await target.locator(resolved.selector).waitFor({ state: 'visible', timeout });\n      }\n      return `Element ${selector} appeared`;\n    }\n\n    case 'viewport': {\n      // Parse args: [<WxH>] [--scale <n>]. Either may be omitted, but NOT both.\n      let sizeArg: string | undefined;\n      let scaleArg: number | undefined;\n      for (let i = 0; i < args.length; i++) {\n        if (args[i] === '--scale') {\n          const val = args[++i];\n          if (val === undefined || val === '') {\n            throw new Error('viewport --scale: missing value. Usage: viewport [WxH] --scale <n>');\n          }\n          const parsed = Number(val);\n          if (!Number.isFinite(parsed)) {\n            throw new Error(`viewport --scale: value '${val}' is not a finite number.`);\n          }\n          scaleArg = parsed;\n        } else if (args[i].startsWith('--')) {\n          throw new Error(`Unknown viewport flag: ${args[i]}`);\n        } else if (sizeArg === undefined) {\n          sizeArg = args[i];\n        } else {\n          throw new Error(`Unexpected positional arg: ${args[i]}. Usage: viewport [WxH] [--scale <n>]`);\n        }\n      }\n\n      if (sizeArg === undefined && scaleArg === undefined) {\n        throw new Error('Usage: browse viewport [<WxH>] [--scale <n>]  (e.g. 375x812, or --scale 2 to keep current size)');\n      }","sourceCodeStart":491,"sourceCodeEnd":527,"githubUrl":"https://github.com/garrytan/gstack/blob/94993f74012782fd94416dd44b8314f6363a13a4/browse/src/write-commands.ts#L491-L527","documentation":"Error \"viewport --scale: missing value. Usage: viewport [WxH] --scale <n>\" thrown in garrytan/gstack.","triggerScenarios":"Thrown at browse/src/write-commands.ts:509 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-12T13:17:24.610Z"}