The browse grid listens for DeletionEvents and decrements each show's
leafCount, evicting the show when the count hits zero. Download-only
deletions (isDownloadOnly: true) fired one event per episode, so deleting
every downloaded episode of a show drove its leafCount to zero and removed
it from browse - even though the content still exists on the server.
Browse is online-only (the Libraries tab is hidden when offline) and always
reflects server-side content, so it must ignore download-only deletions.
Add a guard at the top of onDeletionEvent, matching the existing
isDownloadOnly contract already honored by media_detail_screen.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>