Playing an undownloaded episode "did nothing": while the background warmup cache
is active (≈always), shouldDeferToOfflineCacheUI suppressed every
"Downloading…/not downloaded" banner — so the offline "not downloaded" message
and the stream-mode on-demand download both ran invisibly, looking frozen.
- ensureLocalCopies now always sets actionMessage for the on-demand playback
fetch (it's the user's own play action, not the warmup) instead of deferring.
- LibraryView no longer filters those messages (it has no separate download UI;
PlayerView keeps its suppression since it has a dedicated dock strip).
- awaitDownload reports live progress via onStatus, so a stream-mode fetch that
routes through the priority lane (behind the warmup) shows a moving
"Downloading <ep> to play… N%" banner instead of going silent after "Prioritized".
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Surface the existing pin (keep-from-cull) and per-file delete actions as
visible inline buttons on each offline cache row instead of context-menu-only:
a star toggles protection from auto-cull (and restore-if-missing), a trash
culls that file early. Aligns wording/icons to the star metaphor.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Renames Sources/PlumTV→TVAnarchy and PlumTVCore→TVAnarchyCore (the rename
the auto-commit service couldn't stage — it git-add'd the old, now-gone
paths and aborted every cycle), and commits the accumulated work:
- Library: black-built index fast path (LibraryIndex + scanFromIndex) with
NFS-walk fallback; incremental --add on download-complete; mtime staleness
gate; loose-file series-collapse fix; determinate scan/index progress.
- Cover art: keyless TVmaze cartoon-vs-live-action disambiguation (type/year).
- Player: sleep timer (timed + end-of-episode); visibility-gated polling.
- Home: Continue Watching cover art + live refresh; Recently Added; adult gate.
- Logs: multi-line selection + copy; truncated giant tx-list errors.
- Hover previews (opt-in) via black ffmpeg + scp.
Also gitignores foreign project trees (governor/mcp/fleet/recommender) that
sit in this directory but belong to their own repos.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>