{"record":{"id":"17a27c72a4b26c51","repo":"diegosouzapw/OmniRoute","slug":"http-settingsres-status","errorCode":null,"errorMessage":"HTTP ${settingsRes.status}","messagePattern":"HTTP \\$\\{settingsRes\\.status\\}","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/app/(dashboard)/dashboard/radar/page.tsx","lineNumber":171,"sourceCode":"      });\n    } catch {\n      // Best-effort only.\n    }\n  }, []);\n\n  // Fetch settings to determine opt-in state (GET /api/radar/settings — FIX 3:\n  // previously there was no settings GET, so an already-opted-in operator saw\n  // the activation screen on every reload).\n  const fetchSettings = useCallback(async () => {\n    try {\n      const settingsRes = await fetch(\"/api/radar/settings\", { cache: \"no-store\" });\n      if (settingsRes.status === 404) {\n        // Flag off\n        setFeatureAvailable(false);\n        setOptIn(null);\n        return;\n      }\n      if (!settingsRes.ok) throw new Error(`HTTP ${settingsRes.status}`);\n      const settingsData = await settingsRes.json();\n      setFeatureAvailable(true);\n      setOptIn(settingsData.optIn === true);\n      setHasSupporterKey(settingsData.hasSupporterKey === true);\n      setSupporterKeyMasked(\n        typeof settingsData.supporterKeyMasked === \"string\" ? settingsData.supporterKeyMasked : null\n      );\n      // F4/T7 — best-effort: keep whatever we already had if the field is\n      // absent (older cached response shape), never fall back to a literal.\n      if (typeof settingsData.contributorClaimUrl === \"string\") {\n        setContributorClaimUrl(settingsData.contributorClaimUrl);\n      }\n      if (typeof settingsData.supporterPlansUrl === \"string\") {\n        setSupporterPlansUrl(settingsData.supporterPlansUrl);\n      }\n\n      if (settingsData.optIn === true) {\n        // Already opted in — load the catalog now so the populated/empty","sourceCodeStart":153,"sourceCodeEnd":189,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/(dashboard)/dashboard/radar/page.tsx#L153-L189","documentation":"Error \"HTTP ${settingsRes.status}\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/(dashboard)/dashboard/radar/page.tsx:171 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":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}