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
8 lines
481 B
XML
8 lines
481 B
XML
<?xml version="1.0"?>
|
|
<rss version="2.0"><channel><title>Picture Blog</title><link>http://127.0.0.1:8792/</link>
|
|
<description>A text blog whose entries carry a header image, as Substack does.</description>
|
|
<item><title>An Article</title><guid>pic-1</guid>
|
|
<pubDate>Mon, 01 Sep 2026 10:00:00 +0000</pubDate>
|
|
<description><p>Words, not audio.</p></description>
|
|
<enclosure url="http://127.0.0.1:8792/art.jpg" length="3020" type="image/jpeg"/></item>
|
|
</channel></rss> |