From 4126651020539e349bdad1f5102e6d80b3852a7b Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 8 Oct 2026 10:16:39 -0400 Subject: [PATCH] fix(settings): a catalog fetch that fails logs one line, not a traceback every retry (#5359) 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 --- steward/core/plugin_index.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/steward/core/plugin_index.py b/steward/core/plugin_index.py index 5fb7e1c..d7de14a 100644 --- a/steward/core/plugin_index.py +++ b/steward/core/plugin_index.py @@ -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())