{"record":{"id":"01e19282acba1d58","repo":"t8y2/dbx","slug":"invalid-hive-browserresponsetimeout-q-expected-p","errorCode":null,"errorMessage":"invalid Hive browserResponseTimeout %q: expected positive seconds","messagePattern":"invalid Hive browserResponseTimeout %q: expected positive seconds","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/argo-go/config.go","lineNumber":574,"sourceCode":"\tconfig.RequestTracking = parameterBool(values, \"requesttrack\")\n\tif value, exists := firstParameter(values, \"cookieauth\"); exists {\n\t\tconfig.CookieAuth = !strings.EqualFold(value, \"false\")\n\t}\n\tconfig.CookieName = firstNonEmpty(parameter(values, \"cookiename\"), defaultCookieName)\n\tconfig.JWT = firstNonEmpty(parameter(values, \"jwt\"), os.Getenv(\"JWT\"))\n\tconfig.BrowserToken = firstNonEmpty(parameter(values, \"browsertoken\"), parameter(values, \"token\"))\n\tconfig.BrowserClientID = parameter(values, \"browserclientidentifier\")\n\tif value := parameter(values, \"browserresponseport\"); value != \"\" {\n\t\tparsed, err := strconv.Atoi(value)\n\t\tif err != nil || parsed < 0 || parsed > 65535 {\n\t\t\treturn fmt.Errorf(\"invalid Hive browserResponsePort %q: expected 0-65535\", value)\n\t\t}\n\t\tconfig.BrowserResponsePort = parsed\n\t}\n\tif value := parameter(values, \"browserresponsetimeout\"); value != \"\" {\n\t\tparsed, err := strconv.ParseInt(value, 10, 64)\n\t\tif err != nil || parsed <= 0 {\n\t\t\treturn fmt.Errorf(\"invalid Hive browserResponseTimeout %q: expected positive seconds\", value)\n\t\t}\n\t\tconfig.BrowserResponseTimeout = time.Duration(parsed) * time.Second\n\t}\n\tconfig.BrowserDisableSSLCheck = parameterBool(values, \"browserdisablesslcheck\")\n\tif strings.EqualFold(config.Auth, \"JWT\") && config.JWT == \"\" {\n\t\treturn errors.New(\"Hive JWT authentication requires jwt or the JWT environment variable\")\n\t}\n\tif value := parameter(values, \"fetchsize\"); value != \"\" {\n\t\tparsed, err := strconv.Atoi(value)\n\t\tif err != nil || parsed <= 0 {\n\t\t\treturn fmt.Errorf(\"invalid Hive fetchSize %q: expected a positive integer\", value)\n\t\t}\n\t\tconfig.FetchSize = parsed\n\t}\n\tif value := parameter(values, \"sockettimeout\"); value != \"\" {\n\t\tparsed, err := strconv.ParseInt(value, 10, 64)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"invalid Hive socketTimeout %q: expected seconds\", value)","sourceCodeStart":556,"sourceCodeEnd":592,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/argo-go/config.go#L556-L592","documentation":"The browserResponseTimeout parameter is parsed as an int64 number of seconds and must be strictly positive; a non-numeric, zero, or negative value stops config parsing. The value is later converted to a time.Duration in seconds.","triggerScenarios":"Passing browserresponsetimeout with a non-integer (e.g. '30s', '1.5', '') or a value <= 0 (e.g. 0, -10) in Hive connection parameters.","commonSituations":"Including Go-style duration units ('30s') in a plain-seconds field, expecting 0 to mean 'default', or negative values copied from retry settings.","solutions":["Provide a plain positive integer of seconds, e.g. browserresponsetimeout=30","Remove the parameter to use the built-in default","Strip duration suffixes ('30s' -> '30') before passing","Validate with strconv.ParseInt and v > 0 in your config layer"],"exampleFix":"// before\nbrowserResponseTimeout=30s\n// after\nbrowserResponseTimeout=30","handlingStrategy":"validation","validationCode":"if v := params.Get(\"browserresponsetimeout\"); v != \"\" {\n    n, err := strconv.ParseInt(v, 10, 64)\n    if err != nil || n <= 0 {\n        return fmt.Errorf(\"browserresponsetimeout %q must be positive integer seconds\", v)\n    }\n}","typeGuard":"func validResponseTimeout(v string) bool {\n    n, err := strconv.ParseInt(v, 10, 64)\n    return err == nil && n > 0\n}","tryCatchPattern":"if err := applyHiveParameters(cfg, raw); err != nil {\n    if strings.Contains(err.Error(), \"browserResponseTimeout\") {\n        return fmt.Errorf(\"browserresponsetimeout must be plain positive seconds (e.g. 30): %w\", err)\n    }\n    return err\n}","preventionTips":["Pass bare integers; strip 's'/'ms' suffixes from inputs","Treat missing value as default instead of sending 0","Use time.ParseDuration on your side and convert .Seconds() before passing","Add schema validation for all browser* parameters at config load"],"tags":["hive","config","timeout","validation"],"backgroundTag":"invalid-timeout","analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}