From f4c43e4723020a01d1898c0581f81cc8e85665b1 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sun, 19 Apr 2026 01:11:34 +0200 Subject: [PATCH] fix(relations): ignore canceled context noise --- internal/features/anime/handler.go | 3 +++ internal/jikan/relations.go | 3 +++ 2 files changed, 6 insertions(+) diff --git a/internal/features/anime/handler.go b/internal/features/anime/handler.go index d1df67c..a0ef78c 100644 --- a/internal/features/anime/handler.go +++ b/internal/features/anime/handler.go @@ -194,6 +194,9 @@ func (h *Handler) HandleAPIAnime(w http.ResponseWriter, r *http.Request) { case "relations": relations, err := h.svc.GetRelations(r.Context(), id) if err != nil { + if errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded) { + return + } log.Printf("relations error for %d: %v", id, err) writeInlineLoadError(w, "Failed to load relations.") return diff --git a/internal/jikan/relations.go b/internal/jikan/relations.go index 4af4706..35135d0 100644 --- a/internal/jikan/relations.go +++ b/internal/jikan/relations.go @@ -114,6 +114,9 @@ func (c *Client) GetFullRelations(ctx context.Context, id int) ([]RelationEntry, anime, err := c.GetAnimeByID(ctx, watchOrderEntry.ID) if err != nil { + if errors.Is(err, context.Canceled) || errors.Is(err, context.DeadlineExceeded) { + continue + } c.EnqueueAnimeFetchRetry(ctx, watchOrderEntry.ID, err) log.Printf("relations: skipping related anime %d for root %d: %v", watchOrderEntry.ID, id, err) continue