From d3d0063cb4d6e2c4c828e892d87ba57c851f884a Mon Sep 17 00:00:00 2001 From: mkelvers Date: Wed, 8 Apr 2026 16:45:49 +0200 Subject: [PATCH] fix: remove preWarmAnimeCache poisoning relations --- internal/jikan/client.go | 15 --------------- internal/jikan/search.go | 2 -- internal/jikan/seasons.go | 3 --- 3 files changed, 20 deletions(-) diff --git a/internal/jikan/client.go b/internal/jikan/client.go index bbb1373..77fdf94 100644 --- a/internal/jikan/client.go +++ b/internal/jikan/client.go @@ -72,21 +72,6 @@ func (c *Client) setCache(key string, data interface{}, ttl time.Duration) { }) } -// preWarmAnimeCache extracts individual anime from list responses and caches them -func (c *Client) preWarmAnimeCache(animes []Anime) { - for _, a := range animes { - cacheKey := fmt.Sprintf("anime:%d", a.MalID) - - // Smart TTL: Finished shows rarely change, cache for 30 days. Airing/Upcoming shows cache for 24 hours. - ttl := time.Hour * 24 - if a.Status == "Finished Airing" { - ttl = time.Hour * 24 * 30 - } - - c.setCache(cacheKey, a, ttl) - } -} - // fetchWithRetry provides robust fetching respecting Jikan's strict 3 req/sec rate limit func (c *Client) fetchWithRetry(urlStr string, out interface{}) error { maxRetries := 5 diff --git a/internal/jikan/search.go b/internal/jikan/search.go index e645b4d..3d814ad 100644 --- a/internal/jikan/search.go +++ b/internal/jikan/search.go @@ -32,7 +32,6 @@ func (c *Client) Search(query string, page int) (SearchResult, error) { HasNextPage: result.Pagination.HasNextPage, } - c.preWarmAnimeCache(result.Data) c.setCache(cacheKey, res, time.Hour*1) return res, nil } @@ -59,7 +58,6 @@ func (c *Client) GetTopAnime(page int) (TopAnimeResult, error) { HasNextPage: result.Pagination.HasNextPage, } - c.preWarmAnimeCache(result.Data) c.setCache(cacheKey, res, time.Hour*1) return res, nil } diff --git a/internal/jikan/seasons.go b/internal/jikan/seasons.go index a1a67a4..fae5296 100644 --- a/internal/jikan/seasons.go +++ b/internal/jikan/seasons.go @@ -34,7 +34,6 @@ func (c *Client) GetSchedule(day string) (ScheduleResult, error) { HasNextPage: result.Pagination.HasNextPage, } - c.preWarmAnimeCache(result.Data) c.setCache(cacheKey, res, time.Hour*1) return res, nil } @@ -77,7 +76,6 @@ func (c *Client) GetSeasonsNow(page int) (TopAnimeResult, error) { HasNextPage: result.Pagination.HasNextPage, } - c.preWarmAnimeCache(result.Data) c.setCache(cacheKey, res, time.Hour*1) return res, nil } @@ -104,7 +102,6 @@ func (c *Client) GetSeasonsUpcoming(page int) (TopAnimeResult, error) { HasNextPage: result.Pagination.HasNextPage, } - c.preWarmAnimeCache(result.Data) c.setCache(cacheKey, res, time.Hour*1) return res, nil }