Skip to content

Commit 5bf3623

Browse files
dylanjeffersclaude
andcommitted
fix(contests): prime correct count cache key in useUserRemixContests
The profile Contests tab primed `getRemixesQueryKey({ pageSize: 0, isContestEntry: true })`, but `ContestCard` reads from `useRemixesCount`, which is keyed by `getRemixesCountQueryKey`. The mismatch meant primed counts were never read — every card fell through to its own `/tracks/{id}/remixes?limit=0` request, with the badge showing "0 ENTRIES" until that fetch resolved. This mirrors the fix already applied to `useAllRemixContests` in #14271 ("normalize lineup shape"). The companion hook was missed at the time. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 8edc8d6 commit 5bf3623

1 file changed

Lines changed: 5 additions & 13 deletions

File tree

packages/common/src/api/tan-query/events/useUserRemixContests.ts

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
import { useInfiniteQuery, useQueryClient } from '@tanstack/react-query'
1010

1111
import { eventMetadataFromSDK } from '~/adapters/event'
12-
import { getRemixesQueryKey } from '~/api/tan-query/remixes/useRemixes'
12+
import { getRemixesCountQueryKey } from '~/api/tan-query/remixes/useRemixes'
1313
import { useQueryContext } from '~/api/tan-query/utils'
1414
import { primeRelatedData } from '~/api/tan-query/utils/primeRelatedData'
1515
import { ID } from '~/models'
@@ -88,23 +88,15 @@ export const useUserRemixContests = (
8888
// endpoint).
8989
primeRelatedData({ related, queryClient })
9090

91-
// Prime useRemixes({ trackId, pageSize: 0, isContestEntry: true }) so
92-
// ContestCard's entry-count badge doesn't fire a count-only request
93-
// per card.
91+
// Prime the dedicated `useRemixesCount` cache so ContestCard's
92+
// entry-count badge doesn't fire a count-only request per card.
9493
const entryCounts = related?.entryCounts ?? {}
9594
for (const [hashedTrackId, count] of Object.entries(entryCounts)) {
9695
const trackId = OptionalHashId.parse(hashedTrackId)
9796
if (!trackId) continue
9897
queryClient.setQueryData(
99-
getRemixesQueryKey({
100-
trackId,
101-
pageSize: 0,
102-
isContestEntry: true
103-
}),
104-
{
105-
pages: [{ count, tracks: [] }],
106-
pageParams: [0]
107-
} as unknown as never
98+
getRemixesCountQueryKey({ trackId, isContestEntry: true }),
99+
count
108100
)
109101
}
110102

0 commit comments

Comments
 (0)