{"record":{"id":"430b38f04624956f","repo":"diegosouzapw/OmniRoute","slug":"autorefreshdaemon-credential-expired-for-prov","errorCode":null,"errorMessage":"[AutoRefreshDaemon] Credential expired for \"${providerId}\" (${config.displayName})","messagePattern":"\\[AutoRefreshDaemon\\] Credential expired for \"(.+?)\" \\((.+?)\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"open-sse/services/autoRefreshDaemon.ts","lineNumber":124,"sourceCode":"   */\n  async check(): Promise<void> {\n    this.lastRun = Date.now();\n    const newlyExpired: string[] = [];\n\n    const entries = [...this.credentialStore.entries()];\n\n    for (const [providerId] of entries) {\n      const config = TOKEN_EXTRACTION_CONFIGS.get(providerId);\n      if (!config) {\n        this.credentialStore.delete(providerId);\n        continue;\n      }\n\n      try {\n        const isValid = await this.validateCredential(providerId, config.homeUrl);\n        if (!isValid) {\n          newlyExpired.push(providerId);\n          console.warn(\n            `[AutoRefreshDaemon] Credential expired for \"${providerId}\" (${config.displayName})`\n          );\n        }\n      } catch (err) {\n        // Network errors are non-fatal — retry next cycle. G8: log which\n        // provider failed so credential problems are not silently masked.\n        console.warn(\n          `[AutoRefreshDaemon] Network error validating credential for \"${providerId}\" — retry next cycle`,\n          err instanceof Error ? err.message : err\n        );\n      }\n    }\n\n    // Update expired list\n    for (const id of newlyExpired) {\n      if (!this.expiredCredentials.includes(id)) {\n        this.expiredCredentials.push(id);\n      }","sourceCodeStart":106,"sourceCodeEnd":142,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/open-sse/services/autoRefreshDaemon.ts#L106-L142","documentation":"Error \"[AutoRefreshDaemon] Credential expired for \"${providerId}\" (${config.displayName})\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at open-sse/services/autoRefreshDaemon.ts:124 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"}