fix(plex): address code-review findings (F1-F3, F5, F9)

- F1: refresh grid after playback/collection-edit — invalidate the renamed
  ["plex-library"] query key in PlexPlayer + PlexCollectionEditor (was stale
  ["plex-browse"], a dead no-op)
- F2: exclude hidden movies from facet counts/bounds — the movie facet base now
  always joins watch-state and mirrors unified_library's status branches, so
  facets match the visible grid exactly
- F3: show_detail/item_detail live-Plex enrichment degrades instead of 500ing —
  broaden the best-effort block to except Exception
- F5: don't re-run the heavy facet computation on sort-direction toggles — key
  the facets query only on fields plexFacets actually sends
- F9: optimistic watched-toggle also updates the search Episodes section and
  gives toggleEpisodeWatched an optimistic path (shared optimisticStatus helper)
This commit is contained in:
npeter83 2026-07-11 02:25:14 +02:00
parent 186fdbb0e5
commit 9f8e410033
5 changed files with 37 additions and 21 deletions

View file

@ -489,7 +489,7 @@ export default function PlexPlayer({ itemId, onClose, queue }: Props) {
old ? { ...old, position_seconds: pos } : old,
);
}
qc.invalidateQueries({ queryKey: ["plex-browse"] });
qc.invalidateQueries({ queryKey: ["plex-library"] });
qc.invalidateQueries({ queryKey: ["plex-show"] });
};
}, [id, qc]);