Reproduction
Parse a valid RSS 2.0 podcast whose episode contains an audio enclosure:
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
<channel>
<title>Example Podcast</title>
<itunes:author>Example Host</itunes:author>
<item>
<title>Episode 1</title>
<enclosure url="https://example.com/episode-1.mp3" type="audio/mpeg" />
</item>
</channel>
</rss>
parseFeedDocument() returns a successful result with kind: "blog" instead of kind: "podcast".
Root cause
The XML parser removes namespace prefixes, while detectRssKind() looks for itunes:author. It also checks for an enclosure only on the channel, although RSS podcast enclosures normally live on individual items.
Impact
Podcast RSS feeds can be mislabeled in discovery results, affecting filtering and downstream presentation.
Reproduction
Parse a valid RSS 2.0 podcast whose episode contains an audio enclosure:
parseFeedDocument()returns a successful result withkind: "blog"instead ofkind: "podcast".Root cause
The XML parser removes namespace prefixes, while
detectRssKind()looks foritunes:author. It also checks for an enclosure only on the channel, although RSS podcast enclosures normally live on individual items.Impact
Podcast RSS feeds can be mislabeled in discovery results, affecting filtering and downstream presentation.