[Bug]: Finished podcast episodes still showing in Latest tab #3285

Open
opened 2026-04-25 00:14:45 +02:00 by adam · 1 comment
Owner

Originally created by @7enChan on GitHub (Mar 31, 2026).

What happened?

After marking a podcast episode as finished, it still appears in the Latest tab. Pulling to refresh doesn't help — the episode keeps coming back. This seems to have started with a recent server update.

What did you expect to happen?

The episode should disappear from the Latest list once marked as finished, since the endpoint (GET /api/libraries/:id/recent-episodes) is supposed to exclude finished episodes.

Steps to reproduce the issue

  1. Open a podcast library
  2. Mark an episode as finished
  3. The episode remains visible in the Latest tab
  4. Pull to refresh — episode still appears

Audiobookshelf version

2.33.1

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

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

Chrome

Logs


Additional Notes

My guess is this may be related to duplicate mediaProgress records for the same user + episode. The recent-episodes query uses a LEFT JOIN to filter out finished episodes, but if an older record with isFinished=false exists alongside the newly created one, it can slip through the filter.

Originally created by @7enChan on GitHub (Mar 31, 2026). ### What happened? After marking a podcast episode as finished, it still appears in the Latest tab. Pulling to refresh doesn't help — the episode keeps coming back. This seems to have started with a recent server update. ### What did you expect to happen? The episode should disappear from the Latest list once marked as finished, since the endpoint (GET /api/libraries/:id/recent-episodes) is supposed to exclude finished episodes. ### Steps to reproduce the issue 1. Open a podcast library 2. Mark an episode as finished 3. The episode remains visible in the Latest tab 4. Pull to refresh — episode still appears ### Audiobookshelf version 2.33.1 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? Chrome ### Logs ```shell ``` ### Additional Notes My guess is this may be related to duplicate mediaProgress records for the same user + episode. The recent-episodes query uses a LEFT JOIN to filter out finished episodes, but if an older record with isFinished=false exists alongside the newly created one, it can slip through the filter.
adam added the bug label 2026-04-25 00:14:45 +02:00
Author
Owner

@shepda commented on GitHub (Apr 9, 2026):

FWIW, I'm experiencing this too and also put it down to a recent update as some time ago the finished podcast episodes would always disappear from the Latest tab. Now, they mostly remain for a random amount of time before they disappear, occasionally they'll disappear immediately but there doesn't appear to be any consistency to it.

I get the same thing in both iOS app and web app in Firefox so assume it's server related, perhaps related to caching?

I've not seen anything particularly useful in the logs relating to it but if there is any specific info that I could provide then happy to do so.

@shepda commented on GitHub (Apr 9, 2026): FWIW, I'm experiencing this too and also put it down to a recent update as some time ago the finished podcast episodes would always disappear from the Latest tab. Now, they mostly remain for a random amount of time before they disappear, occasionally they'll disappear immediately but there doesn't appear to be any consistency to it. I get the same thing in both iOS app and web app in Firefox so assume it's server related, perhaps related to caching? I've not seen anything particularly useful in the logs relating to it but if there is any specific info that I could provide then happy to do so.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3285