diegosouzapw/OmniRoute · error

[OpenRouterProviderStats] Fetch failed, using stale cache:

Error message

[OpenRouterProviderStats] Fetch failed, using stale cache:

What it means

Error "[OpenRouterProviderStats] Fetch failed, using stale cache:" thrown in diegosouzapw/OmniRoute.

Source

Thrown at src/lib/catalog/openrouterProviderStats.ts:268

  fromCache: boolean;
}> {
  const ttl = getTTL();
  const cache = readCache();
  const now = Date.now();

  if (cache && cache.fetchedAt) {
    const age = now - new Date(cache.fetchedAt).getTime();
    if (age < ttl) {
      return { data: cache.data, stale: false, cachedAt: cache.fetchedAt, fromCache: true };
    }
  }

  try {
    const data = await fetchFromAPI();
    writeCache(data);
    return { data, stale: false, cachedAt: null, fromCache: false };
  } catch (err) {
    console.warn("[OpenRouterProviderStats] Fetch failed, using stale cache:", err);
    if (cache) {
      return { data: cache.data, stale: true, cachedAt: cache.fetchedAt, fromCache: true };
    }
    return { data: [], stale: true, cachedAt: null, fromCache: false };
  }
}

/** Force-refresh, ignoring TTL. Used by admin endpoints and manual refresh actions. */
export async function refreshOpenRouterProviderStats(): Promise<{
  data: ProviderPopularityEntry[];
  ok: boolean;
  error?: string;
}> {
  try {
    const data = await fetchFromAPI();
    writeCache(data);
    return { data, ok: true };
  } catch (err) {

View on GitHub (pinned to a179ffed5b)

When it happens

Trigger: Thrown at src/lib/catalog/openrouterProviderStats.ts:268 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25). Data as JSON: /api/errors/d58eaecd898e8be4. Report an issue: GitHub.