Repository navigation
fix(sync): mark shows whose Podcast Index IDs differ from their served IDs for the overlay - #1149
Merged
Merged
Conversation
…d IDs for the overlay
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 5 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
When Podcast Index renumbers or duplicates an episode the book already has, the show is now marked for the Worker's ID overlay, so old builds keep getting the episode's original ID everywhere.
Motivation
Since the sync started writing the episode book, a renumbered episode keeps its served ID (its vector keeps its name) and the new Podcast Index ID becomes an alias. The Worker only translates Podcast Index IDs for shows in
served_show, which so far meant shows with recipe-served episodes. For other shows, recommendations returned the served ID while episode lists from Podcast Index returned the new ID, so an old build could see one episode under two IDs. In production this affected 168 aliases in 12 shows; those 12 were marked by hand.What changed
lib/episode-book.js:bootstrapShow(used by the bootstrap and stage 4) adds one statement to its transaction that marks the show inserved_showwhen any of its Podcast Index aliases differs from the row's served ID.served_showtable comment andscripts/README.mddescribe the wider meaning.Behavior & compatibility
Impact (required)
User impact — pick exactly one
user-impact-criticaluser-impact-highuser-impact-mediumuser-impact-lowno-user-impactBackend — optional, pairable with any user-impact level
backend-changeRelease copy (verbatim — highest priority)
CHANGELOG.md (required developer copy)
Fixed
README What's New / Upcoming (required for user-impact changes)
Test plan
npm run test:sync --prefix scripts: 144 tests. 1 is new: a show is marked only when a Podcast Index ID differs from the served ID (renumbered or duplicated), never when they match.