Do not offer a player for a file that is not audio or video
The media-type filter stopped new image enclosures being fetched, but ones already on disk still got a play button and an <audio> element, because the UI tested for a path rather than for a playable type. Four places did this, including play() itself, which picked the first downloaded enclosure whatever it was. isPlayable() checks audio/* or video/*, falling back to the extension when a feed declares no type. A downloaded non-media file now shows as its kind with Save and Delete, so it stays available without posing as an episode. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdXho5tTkjFLeUXKbEjKBh
This commit is contained in:
20
PROGRESS.md
20
PROGRESS.md
@@ -56,6 +56,26 @@ and until now nothing set them.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 — A file is not the same as a playable file
|
||||
|
||||
Reported: "Abort Retry Fail still shows downloaded and audio playback UI". The media-type filter
|
||||
stopped *new* image enclosures being fetched, but those 20 JPEGs were already on disk from before
|
||||
it existed — and the UI gave a play button and an `<audio>` element to anything with a `path`. An
|
||||
audio element pointed at a JPEG is just a broken player.
|
||||
|
||||
`isPlayable()` now separates having a file from being playable: audio/* or video/*, falling back to
|
||||
the file extension when a feed declares no type. Four places used the wrong test — the row's play
|
||||
button, the artwork's play overlay, `encBox`, and `play()` itself, which picked the first downloaded
|
||||
enclosure regardless of what it was. A downloaded non-media file now shows as
|
||||
`image · downloaded · Save · Delete file`, so it is still there and still retrievable, just not
|
||||
pretending to be an episode.
|
||||
|
||||
Covered by a new browser test with a fixture blog whose entry carries a JPEG enclosure and a feed
|
||||
configured to download it: no play button on the row, no `<audio>` in the detail pane, and the Save
|
||||
button still present.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 — Three-pane layout
|
||||
|
||||
Ray asked for feeds beside, items above, and the selected item's text with its enclosures below —
|
||||
|
||||
Reference in New Issue
Block a user