[PR #2178] feat: Improve RSS Manager adding Podcast Feed Subscriptions Health Check #3666

Open
opened 2026-04-25 00:16:34 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/2178
Author: @mfcar
Created: 10/3/2023
Status: 🔄 Open

Base: masterHead: mf/rssInboundManager


📝 Commits (10+)

  • 2b3c3cd Add infra to handle with feed healthy
  • 9872937 Creating a controller to return only the podcasts with feedURL
  • 4de5b92 Merge branch 'master' into mf/rssInboundManager
  • 7f5fde1 Fixing the rss incoming server side
  • 2ada293 Feed Healthy indicator
  • aefcc44 RSS Manager code
  • 309f5ef Update the podcastmanager
  • 56ff12e Fix Podcast.js indentation
  • ecdafcd Fix PodcastManager.js indentation
  • 646f66d Merge branch 'master' into mf/rssInboundManager

📊 Changes

11 files changed (+467 additions, -86 deletions)

View changed files

client/components/widgets/FeedHealthyIndicator.vue (+28 -0)
📝 client/components/widgets/PodcastDetailsEdit.vue (+14 -2)
📝 client/pages/config/rss-feeds.vue (+298 -69)
📝 client/pages/item/_id/index.vue (+4 -4)
📝 client/strings/en-us.json (+16 -0)
📝 server/controllers/PodcastController.js (+38 -0)
📝 server/managers/PodcastManager.js (+31 -4)
📝 server/models/Podcast.js (+20 -4)
📝 server/objects/metadata/PodcastMetadata.js (+12 -2)
📝 server/routers/ApiRouter.js (+3 -0)
📝 server/utils/migrations/dbMigration.js (+3 -1)

📄 Description

This pull request introduces a new feature that improves podcast management by allowing users to check the health status of feed URLs for incoming podcasts:

  1. Feed Health Status: Users can now easily determine whether a podcast's feed URL is healthy or not. Every time the AudioBookShelf accesses the feed URL, it performs a verification and marks the feed as either healthy or not.

  2. Manager Page: A new tab has been added on the Confi -> RSS Feeds, where users can view all the podcasts that contain a feed URL. This screen provides the following information:

    • Title/Feed URL
    • Feed URL: The Feed URL. It's truncated because sometimes the URL is gigantic
    • Last Checked: It's the last date and time that the Feed URL was checked
    • Last Successful Check Date (new table column): Displays the date and time of the application able to access the feed URL with success
    • Feed Healthy (new table column): Indicates whether the feed URL is marked as healthy or not.
    • Auto Download Episodes: Indicate if the podcast has the auto download enabled
    • Next Automatic Check: If the feed has a cron, show the next time that the feed will be checked
    • Buttons:
      • Copy to Clipboard: Copy the feed URL to the clipboard
      • Force Recheck: Allows users to manually trigger a recheck of the feed's health status.

Reason for the Changes

This feature was added to provide users with greater transparency and control over the health of incoming podcast feed URLs. It empowers users to make informed decisions about which feeds to subscribe to based on their health status.

How to Test

To test this feature, follow these steps:

  1. Navigate to the Config --> RSS Feeds.
  2. Check the list of podcasts with associated feed URLs.
  3. Click the "Force Recheck" button for a podcast to trigger a manual recheck.
  4. Verify that the health status is updated accordingly.

Additional Notes

  • Every time AudioBookShelf accesses the feed, it saves the feed's healthy status (e.g., for downloading new episodes or displaying them on the Podcast Detail page).

The new Page working

https://github.com/advplyr/audiobookshelf/assets/814828/ea3e45af-7ff2-4bcb-a93a-7b947e2a834b


Subscribed Feeds page

Screenshot 2024-05-12 at 18 28 08

The RSS Page has been renamed to Opened Feeds and now it's a tab on the RSS Page, that includes a new search box to filter by title.

image


Podcast health icon displayed with feed URL and date of last update on details page:

With a healthy feed
Screenshot 2023-10-03 at 01 25 09

With an unhealthy feed
Screenshot 2023-10-03 at 01 31 12

Without a feed URL
Screenshot 2023-10-03 at 01 30 02


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/2178 **Author:** [@mfcar](https://github.com/mfcar) **Created:** 10/3/2023 **Status:** 🔄 Open **Base:** `master` ← **Head:** `mf/rssInboundManager` --- ### 📝 Commits (10+) - [`2b3c3cd`](https://github.com/advplyr/audiobookshelf/commit/2b3c3cd088db9fe4ac98f19ad0e5b85c048382d2) Add infra to handle with feed healthy - [`9872937`](https://github.com/advplyr/audiobookshelf/commit/9872937a9904fe033d843d7cf07dc6c25203a24f) Creating a controller to return only the podcasts with feedURL - [`4de5b92`](https://github.com/advplyr/audiobookshelf/commit/4de5b92fa734227577cbd62803d68f731af296be) Merge branch 'master' into mf/rssInboundManager - [`7f5fde1`](https://github.com/advplyr/audiobookshelf/commit/7f5fde1de25b222aa7cdbeea967ca598c739bb9c) Fixing the rss incoming server side - [`2ada293`](https://github.com/advplyr/audiobookshelf/commit/2ada293e8a02473fa6be1d69ce8e0a6b07f4292b) Feed Healthy indicator - [`aefcc44`](https://github.com/advplyr/audiobookshelf/commit/aefcc4490f65bdc629dd68b13fc8ab26af11d42d) RSS Manager code - [`309f5ef`](https://github.com/advplyr/audiobookshelf/commit/309f5ef5e30d6ee8eefa66f502519130fb02ac4d) Update the podcastmanager - [`56ff12e`](https://github.com/advplyr/audiobookshelf/commit/56ff12eaaf4125fb794cf8ee6bcd3b41c3e51b1a) Fix Podcast.js indentation - [`ecdafcd`](https://github.com/advplyr/audiobookshelf/commit/ecdafcdcc531f2773616ca8b7a41b7cd312561b1) Fix PodcastManager.js indentation - [`646f66d`](https://github.com/advplyr/audiobookshelf/commit/646f66d6102855b0c43e479bf0e075d06d6e914a) Merge branch 'master' into mf/rssInboundManager ### 📊 Changes **11 files changed** (+467 additions, -86 deletions) <details> <summary>View changed files</summary> ➕ `client/components/widgets/FeedHealthyIndicator.vue` (+28 -0) 📝 `client/components/widgets/PodcastDetailsEdit.vue` (+14 -2) 📝 `client/pages/config/rss-feeds.vue` (+298 -69) 📝 `client/pages/item/_id/index.vue` (+4 -4) 📝 `client/strings/en-us.json` (+16 -0) 📝 `server/controllers/PodcastController.js` (+38 -0) 📝 `server/managers/PodcastManager.js` (+31 -4) 📝 `server/models/Podcast.js` (+20 -4) 📝 `server/objects/metadata/PodcastMetadata.js` (+12 -2) 📝 `server/routers/ApiRouter.js` (+3 -0) 📝 `server/utils/migrations/dbMigration.js` (+3 -1) </details> ### 📄 Description This pull request introduces a new feature that improves podcast management by allowing users to check the health status of feed URLs for incoming podcasts: 1. **Feed Health Status**: Users can now easily determine whether a podcast's feed URL is healthy or not. Every time the AudioBookShelf accesses the feed URL, it performs a verification and marks the feed as either healthy or not. 2. **Manager Page**: A new tab has been added on the Confi -> RSS Feeds, where users can view all the podcasts that contain a feed URL. This screen provides the following information: - **Title/Feed URL** - **Feed URL**: The Feed URL. It's truncated because sometimes the URL is gigantic - **Last Checked**: It's the last date and time that the Feed URL was checked - **Last Successful Check Date** (new table column): Displays the date and time of the application able to access the feed URL with success - **Feed Healthy** (new table column): Indicates whether the feed URL is marked as healthy or not. - **Auto Download Episodes**: Indicate if the podcast has the auto download enabled - **Next Automatic Check**: If the feed has a cron, show the next time that the feed will be checked - **Buttons**: - **Copy to Clipboard**: Copy the feed URL to the clipboard - **Force Recheck**: Allows users to manually trigger a recheck of the feed's health status. **Reason for the Changes** This feature was added to provide users with greater transparency and control over the health of incoming podcast feed URLs. It empowers users to make informed decisions about which feeds to subscribe to based on their health status. **How to Test** To test this feature, follow these steps: 1. Navigate to the Config --> RSS Feeds. 2. Check the list of podcasts with associated feed URLs. 2. Click the "Force Recheck" button for a podcast to trigger a manual recheck. 3. Verify that the health status is updated accordingly. **Additional Notes** - Every time AudioBookShelf accesses the feed, it saves the feed's healthy status (e.g., for downloading new episodes or displaying them on the Podcast Detail page). ----- The new Page working https://github.com/advplyr/audiobookshelf/assets/814828/ea3e45af-7ff2-4bcb-a93a-7b947e2a834b ----- Subscribed Feeds page <img width="920" alt="Screenshot 2024-05-12 at 18 28 08" src="https://github.com/advplyr/audiobookshelf/assets/814828/f7ef6143-ac89-4e47-9a6e-84f4b089567c"> ----- The RSS Page has been renamed to Opened Feeds and now it's a tab on the RSS Page, that includes a new search box to filter by title. ![image](https://github.com/advplyr/audiobookshelf/assets/814828/6d69bb7e-e9b3-4183-a74d-8d9a3b5e4693) ----- Podcast health icon displayed with feed URL and date of last update on details page: With a healthy feed <img width="817" alt="Screenshot 2023-10-03 at 01 25 09" src="https://github.com/advplyr/audiobookshelf/assets/814828/77a19ac1-7718-4498-b36f-ee3964aa7cc1"> With an unhealthy feed <img width="817" alt="Screenshot 2023-10-03 at 01 31 12" src="https://github.com/advplyr/audiobookshelf/assets/814828/b76d6f89-f9a4-4f60-9ee9-1e13547ccef3"> Without a feed URL <img width="817" alt="Screenshot 2023-10-03 at 01 30 02" src="https://github.com/advplyr/audiobookshelf/assets/814828/ec4c1a4e-91b4-4897-b492-9d5cb0d443e2"> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:16:34 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3666