Skip to content

feat(parser): support phase 8 podcast image#4

Open
nathangathright wants to merge 1 commit into
podverse:developfrom
TeamPodlink:codex/add-podcast-image-phase8
Open

feat(parser): support phase 8 podcast image#4
nathangathright wants to merge 1 commit into
podverse:developfrom
TeamPodlink:codex/add-podcast-image-phase8

Conversation

@nathangathright

Copy link
Copy Markdown

Summary

  • Add parser support for the phase 8 podcast:image tag.
  • Parse channel-level, item-level, and live item images.
  • Include optional image metadata: alt, aspectRatio, width, height, type, and purpose.
  • Report phase 8 support for image only when at least one valid href attribute is present.
  • Add tests for missing tags, missing hrefs, multiple channel images, item images, and live item images.

Verification

  • npm test -- src/parser/phase/__test__/phase-8.test.ts

Add parsing for the formalized Phase 8 <podcast:image> tag at channel, item, and liveItem level. The tag can appear multiple times, so parsed values are exposed as a podcastImage array with href plus optional alt, aspectRatio, width, height, type, and purpose attributes.

Regression test feeds: phase-8 tests splice channel-level, item-level, and liveItem-level <podcast:image> examples into the sample feed, including multiple channel images and video/mp4 media.

Verified with: npm test -- --runTestsByPath src/parser/phase/__test__/phase-8.test.ts --runInBand; npm run lint:typecheck
@nathangathright nathangathright force-pushed the codex/add-podcast-image-phase8 branch from 67ae142 to 3081405 Compare May 29, 2026 23:46
@nathangathright

Copy link
Copy Markdown
Author

Follow-up validation after the latest force-push:

  • Added mixed-validity item-level coverage to confirm <podcast:image> entries without href are filtered while valid sibling image tags are retained.
  • Parser behavior is unchanged.
  • Re-ran npm test -- --runTestsByPath src/parser/phase/__test__/phase-8.test.ts --runInBand, npm run lint:typecheck, npm run lint:lint, and npm run build.
  • Live-feed validation from the adoption crawl remains: 91 feeds still had raw <podcast:image>; 80 parsed successfully. Misses were existing parser safety limits or non-PR tag shapes such as srcset/url instead of href.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant