{"record":{"id":"d81e4f8b3739052c","repo":"garrytan/gstack","slug":"unknown-viewport-flag-args-i","errorCode":null,"errorMessage":"Unknown viewport flag: ${args[i]}","messagePattern":"Unknown viewport flag: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"browse/src/write-commands.ts","lineNumber":517,"sourceCode":"    }\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      }\n\n      // Resolve width/height: either from sizeArg or from current viewport if --scale-only.\n      let w: number, h: number;\n      if (sizeArg) {\n        if (!sizeArg.includes('x')) throw new Error('Usage: browse viewport [<WxH>] [--scale <n>] (e.g., 375x812)');\n        const [rawW, rawH] = sizeArg.split('x').map(Number);\n        w = Math.min(Math.max(Math.round(rawW) || 1280, 1), 16384);\n        h = Math.min(Math.max(Math.round(rawH) || 720, 1), 16384);","sourceCodeStart":499,"sourceCodeEnd":535,"githubUrl":"https://github.com/garrytan/gstack/blob/94993f74012782fd94416dd44b8314f6363a13a4/browse/src/write-commands.ts#L499-L535","documentation":"Error \"Unknown viewport flag: ${args[i]}\" thrown in garrytan/gstack.","triggerScenarios":"Thrown at browse/src/write-commands.ts:517 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"}