fix(feed): clear optimistic overrides on refetch

The feed kept per-video optimistic status overrides until filters changed, so a
status reverted elsewhere (e.g. Unwatch from the notification center) was masked
by the stale override and stayed filtered out of the current view. Also clear
overrides when fresh feed data arrives — the server is then authoritative.
This commit is contained in:
npeter83 2026-06-12 17:39:28 +02:00
parent d5dab5377f
commit db0ffc3717

View file

@ -42,7 +42,12 @@ export default function Feed({
getNextPageParam: (last) => (last.has_more ? last.offset + last.limit : undefined), getNextPageParam: (last) => (last.has_more ? last.offset + last.limit : undefined),
}); });
// Drop optimistic status overrides when filters change OR fresh server data
// arrives — after a refetch the server is authoritative, so a stale override
// (e.g. a video reverted to "new" from the notification center) won't keep it
// filtered out of the current view.
useEffect(() => setOverrides({}), [filters]); useEffect(() => setOverrides({}), [filters]);
useEffect(() => setOverrides({}), [query.dataUpdatedAt]);
const countQuery = useQuery({ const countQuery = useQuery({
queryKey: ["feed-count", filters], queryKey: ["feed-count", filters],