From 5f4ed88d1af2f8df46ad3bbf9b8dd1e037c951ae Mon Sep 17 00:00:00 2001 From: mkelvers Date: Wed, 8 Apr 2026 14:10:40 +0200 Subject: [PATCH] fix: deduplicate upcoming seasons returned from recursive query --- internal/features/anime/service.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/features/anime/service.go b/internal/features/anime/service.go index 691beb8..b9946e7 100644 --- a/internal/features/anime/service.go +++ b/internal/features/anime/service.go @@ -96,5 +96,17 @@ func (s *Service) GetUpcomingSeasons(ctx context.Context, userID string) ([]data if err != nil { return nil, fmt.Errorf("failed to get upcoming seasons: %w", err) } - return rows, nil + + // Deduplicate by related anime ID + // Because of the recursive query, multiple prequels can point to the same upcoming season + seen := make(map[int64]bool) + var deduped []database.GetUpcomingSeasonsRow + for _, row := range rows { + if !seen[row.ID] { + seen[row.ID] = true + deduped = append(deduped, row) + } + } + + return deduped, nil }