fix(settings): a catalog fetch that fails logs one line, not a traceback every retry (#5359)
CI / lint (push) Successful in 3s
CI / unit (push) Successful in 1m40s
CI / integration (push) Successful in 1m47s
CI / publish (push) Successful in 1m31s

The plugin_catalog_refresh tick retries a failed repository every 5 minutes;
the configured index URL answers 404, which logged a full traceback each time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 10:16:39 -04:00
co-authored by Claude Opus 5.5
parent de3958a362
commit 4126651020
+4 -2
View File
@@ -75,8 +75,10 @@ async def _fetch_one(url: str) -> bool:
resp = await client.get(url)
resp.raise_for_status()
raw = yaml.safe_load(resp.text) or {}
except Exception:
logger.exception("Failed to fetch plugin catalog from %s", url)
except Exception as exc:
# The tick retries every RETRY_AFTER seconds, so a repository that
# answers 404 or is unreachable is one line each time, not a traceback.
logger.warning("Plugin catalog not fetched from %s: %s", url, exc)
_failed_at[url] = time.monotonic()
return False
_url_cache[url] = (raw, time.monotonic())