Hey everyone,
I decided to create a page with podcasts about design, I have a community of designers. I added a lot of podcasts and then it turned out that if the link in the episode is not in English - then the episode does not open.
All exported episodes with non-English titles are not link url, links point to the podcast page. My understanding is that the system can't recognize the titles, so it doesn't create links at all.
Are there any plans to fix this problem? Thanks
Fix here:
Comment for #17168
The fix was merged into main.
@varhal if your site is a self-hosted forem, you should be able to update the latest image following the normal process, but you may need to remove and re-import the podcasts to get the full path/link from the episode titles after the update.
Something like this probably would work in a console(it will clear all existing episodes and start a process to import them again with full/usable episode links):
# option 1 - only fix the specific Podcast "Design Takoy":
podcast = Podcast.find_by(slug: 'design_takoy')
# remove existing episodes
podcast.podcast_episodes.destroy_all
Podcasts::Feed.new(podcast).get_episodes(limit: 100, force_update: true)
You possibly have other Podcasts on the site that also have this issue, replace the slug and re-run (or remove all PodcastEpisodes, and use the general tool):
# option 2 - remove all podcast episodes and recreate them
PodcastEpisode.destroy_all
# this will start one feed import per published podcast on the site, asynchronously in background jobs
Podcasts::EnqueueGetEpisodesWorker.perform_async
Otherwise removing the podcast through the site, and adding it again with the same information, should do the same thing (though may require more work on your side).
For hosted (by us) Forem instances this code change should be available after the usual Monday deployment.
Top comments (2)
Hi @varhal - I merged the code change to support the generation of meaningful links for podcast episodes (this is something we did some time ago for posts, but mistakenly left out podcast episodes, thanks for pointing it out).
I left a few more detailed instructions in the bug report @ellativity created, but basically you can either remove the podcast and recreate it (which will start importing all recent episodes), or remove the episodes (via a console if you're self-hosting, or may need our team to do this if you're paying Forem for your site) and reimport the podcast feed.
If you are self-hosting, you'll want to update the site to the latest image before removing the episodes or recreating the podcast. If you're a Forem customer, this should be shipped early next week, and the same fix (remove the podcast and reimport the feed) will be required once that's live.
If I understand the current code, because we'll see we have already added an episode for the same media/audio url, we won't update or re-import with a full usable path, so removing the existing data is required to get the benefit of the code change. New episodes would start working right away when added, but existing episodes with broken/unusable links won't automatically correct themselves.
Hey @varhal, I think the issue is not that the episode is not English (DEV has a lot of non-English podcasts), but that the episode title is in Cyrillic script which can't be rendered effectively as a URL by our codebase.
I've recorded a Loom to explain the issue and created this bug report.
I'd appreciate if you could add some notes to it, describing what behavior you would expect to happen here, based on your understanding that the episode URL is auto-populating from the title of the episode.