[Bug]: Podcasts downloading multiple files #2421

Closed
opened 2026-04-25 00:06:55 +02:00 by adam · 4 comments
Owner

Originally created by @marsbars-marsbars on GitHub (Dec 14, 2024).

What happened?

When manually getting new episodes to download, its almost as audio bookshelf does not recognize there already is a file / episode and it downloads again with a rather long random string to the filename, in some cases.
Screenshot 2024-12-14 at 11 08 14 AM

What did you expect to happen?

To recognize existing episodes and now re-download. (image shows another instance of multiple files )
Screenshot 2024-12-14 at 11 10 02 AM

Steps to reproduce the issue

  1. Edit Podcast
  2. Go to Episodes.
  3. Change date back to ~ couple years to decades.
  4. Set limit to anything from 3 - 3,000
  5. Click the check new downloads

Audiobookshelf version

v2.17.5

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Windows

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

{"timestamp":"2024-12-14 17:15:27.717","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2}
{"timestamp":"2024-12-14 17:15:27.726","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-02-12-conspiracy-podcast-part1\"","levelName":"INFO","level":2}
{"timestamp":"2024-12-14 17:15:37.676","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2}
{"timestamp":"2024-12-14 17:15:37.687","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-02-05-conspiracy-podcast\"","levelName":"INFO","level":2}
{"timestamp":"2024-12-14 17:15:47.691","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2}
{"timestamp":"2024-12-14 17:15:47.702","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-01-29-conspiracy-podcast-part1\"","levelName":"INFO","level":2}

Additional Notes

Running on Synology NAS in Docker w/ most recent DSM

Originally created by @marsbars-marsbars on GitHub (Dec 14, 2024). ### What happened? When manually getting new episodes to download, its almost as audio bookshelf does not recognize there already is a file / episode and it downloads again with a rather long random string to the filename, in some cases. ![Screenshot 2024-12-14 at 11 08 14 AM](https://github.com/user-attachments/assets/fae7f5f0-0ecf-4193-af98-e9e337991baa) ### What did you expect to happen? To recognize existing episodes and now re-download. (image shows another instance of multiple files ) ![Screenshot 2024-12-14 at 11 10 02 AM](https://github.com/user-attachments/assets/c59463b7-b9a1-43f2-8f0e-21f4d0e4ecee) ### Steps to reproduce the issue 1. Edit Podcast 2. Go to Episodes. 3. Change date back to ~ couple years to decades. 4. Set limit to anything from 3 - 3,000 5. Click the check new downloads ### Audiobookshelf version v2.17.5 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Windows ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell {"timestamp":"2024-12-14 17:15:27.717","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2} {"timestamp":"2024-12-14 17:15:27.726","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-02-12-conspiracy-podcast-part1\"","levelName":"INFO","level":2} {"timestamp":"2024-12-14 17:15:37.676","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2} {"timestamp":"2024-12-14 17:15:37.687","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-02-05-conspiracy-podcast\"","levelName":"INFO","level":2} {"timestamp":"2024-12-14 17:15:47.691","source":"LibraryItem.js:398","message":"[LibraryItem] Library item \"bfb226be-9484-4254-8572-91b76a53cd21\" updated","levelName":"INFO","level":2} {"timestamp":"2024-12-14 17:15:47.702","source":"PodcastManager.js:136","message":"[PodcastManager] Successfully downloaded podcast episode \"2017-01-29-conspiracy-podcast-part1\"","levelName":"INFO","level":2} ``` ### Additional Notes Running on Synology NAS in Docker w/ most recent DSM
adam added the bug label 2026-04-25 00:06:55 +02:00
adam closed this issue 2026-04-25 00:06:56 +02:00
Author
Owner

@nichwall commented on GitHub (Dec 14, 2024):

To clarify, is the auto download schedule triggering again before finishing downloading episodes? That could happen depending on how often you are checking for downloads, how many are downloaded per check, and your download speed.

Related to https://github.com/advplyr/audiobookshelf/issues/2672

@nichwall commented on GitHub (Dec 14, 2024): To clarify, is the auto download schedule triggering again before finishing downloading episodes? That could happen depending on how often you are checking for downloads, how many are downloaded per check, and your download speed. Related to https://github.com/advplyr/audiobookshelf/issues/2672
Author
Owner

@marsbars-marsbars commented on GitHub (Dec 14, 2024):

No. I dont have auto download enabled, I just go and request past episodes and this is the result.

I've selected various ranges, from 3 to 3000; same results.

@marsbars-marsbars commented on GitHub (Dec 14, 2024): No. I dont have auto download enabled, I just go and request past episodes and this is the result. I've selected various ranges, from 3 to 3000; same results.
Author
Owner

@advplyr commented on GitHub (Dec 15, 2024):

I'm not able to reproduce this. The way that the check for episodes works is it runs a function that filters out any episodes that you already have.

It primarily uses the guid which is set in the RSS feed for every episode. It falls back on using the enclosure url which is the url to the audio file in the RSS feed.

Those values are only set if the episode is downloaded using Abs. They are not set if the episodes are scanned in from your file system. I suspect something is going on with your setup where the episodes are being scanned in from the file system.

https://github.com/advplyr/audiobookshelf/blob/c4610e61028c9a64c44e6fe6831ad23c8415e580/server/objects/mediaTypes/Podcast.js#L213-L217

The easiest way to check if Abs has linked the podcast episode with an episode in the RSS feed is to use the search button on the podcast page.
image

When the episode is linked to the RSS feed you will see a green checkmark. If it is not linked (or just not downloaded) it will be a checkbox.
image

There is functionality built into Abs to match episodes with an episode in the RSS feed. To match them one-by-one you can press the edit button on any episode and use the "Match" tab.
To match all of the episodes in bulk you can use the quick match all episodes.
image

@advplyr commented on GitHub (Dec 15, 2024): I'm not able to reproduce this. The way that the check for episodes works is it runs a function that filters out any episodes that you already have. It primarily uses the `guid` which is set in the RSS feed for every episode. It falls back on using the enclosure url which is the url to the audio file in the RSS feed. Those values are only set if the episode is downloaded using Abs. They are not set if the episodes are scanned in from your file system. I suspect something is going on with your setup where the episodes are being scanned in from the file system. https://github.com/advplyr/audiobookshelf/blob/c4610e61028c9a64c44e6fe6831ad23c8415e580/server/objects/mediaTypes/Podcast.js#L213-L217 The easiest way to check if Abs has linked the podcast episode with an episode in the RSS feed is to use the search button on the podcast page. ![image](https://github.com/user-attachments/assets/cf070fdc-1592-4e54-9228-47f447a840b2) When the episode is linked to the RSS feed you will see a green checkmark. If it is not linked (or just not downloaded) it will be a checkbox. ![image](https://github.com/user-attachments/assets/bf6f9f7d-f185-419e-baa5-5ec34a8ce4a8) There is functionality built into Abs to match episodes with an episode in the RSS feed. To match them one-by-one you can press the edit button on any episode and use the "Match" tab. To match all of the episodes in bulk you can use the quick match all episodes. ![image](https://github.com/user-attachments/assets/3c732955-54b4-47ee-bb3a-818b79f71dd8)
Author
Owner

@marsbars-marsbars commented on GitHub (Dec 15, 2024):

Interesting, some of those files/series might have come from a copy of other downloads because I frequently received socket errors. I'll re-test with deleting a few series and then downloading only ABS and seeing how it behaves. Thank you !

@marsbars-marsbars commented on GitHub (Dec 15, 2024): Interesting, some of those files/series might have come from a copy of other downloads because I frequently received socket errors. I'll re-test with deleting a few series and then downloading only ABS and seeing how it behaves. Thank you !
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2421