From 46a9caafcb0fa715a9ccaf0762d563322ca4e37d Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 20:29:01 +0000 Subject: [PATCH] fix: keep competition order when merging cached standings Co-Authored-By: Itamar Sharify --- convex/football.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/convex/football.ts b/convex/football.ts index 10f9bdf..84deb80 100644 --- a/convex/football.ts +++ b/convex/football.ts @@ -159,14 +159,15 @@ function mergeWithPrevious( const nextId = next.matchDetails?.id; const sameMatch = nextId != null && nextId === prev?.matchDetails?.id; - const freshLeagueIds = new Set(fresh.leaguesData.map((l) => l.leagueId)); - const keptLeagues = (previous.leaguesData ?? []).filter( - (l) => requestedLeagueIds.includes(l.leagueId) && !freshLeagueIds.has(l.leagueId), - ); + const freshLeagues = new Map(fresh.leaguesData.map((entry) => [entry.leagueId, entry])); + const previousLeagues = new Map((previous.leaguesData ?? []).map((entry) => [entry.leagueId, entry])); return { team: fresh.team, - leaguesData: [...fresh.leaguesData, ...keptLeagues], + leaguesData: requestedLeagueIds.flatMap((leagueId) => { + const entry = freshLeagues.get(leagueId) ?? previousLeagues.get(leagueId); + return entry ? [entry] : []; + }), nextMatchData: !fixturesFetched && prev ? prev