[Bug]: progress percentage not updating #2993

Closed
opened 2026-04-25 00:12:48 +02:00 by adam · 9 comments
Owner

Originally created by @AnonTester on GitHub (Sep 7, 2025).

What happened?

The progress percentage doesn't update on 2.29.0

Progress itself is saved properly, but the percentage is stuck at 4%. Progress is at 7:45h remaining of 12:21h book, so clearly more than 4%.

Image

What did you expect to happen?

Progress percentage updating properly

Steps to reproduce the issue

  1. Play audiobook, pause or stop, progress percentage not updated.

Audiobookshelf version

v2. 29.0

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 for Android

Logs


Additional Notes

Worked fine on 2.28
Shows the same on Android app or browser or retrieving via api call.

Originally created by @AnonTester on GitHub (Sep 7, 2025). ### What happened? The progress percentage doesn't update on 2.29.0 Progress itself is saved properly, but the percentage is stuck at 4%. Progress is at 7:45h remaining of 12:21h book, so clearly more than 4%. ![Image](https://github.com/user-attachments/assets/d4167118-cb6f-4c5a-9bff-66ca74dc96e6) ### What did you expect to happen? Progress percentage updating properly ### Steps to reproduce the issue 1. Play audiobook, pause or stop, progress percentage not updated. ### Audiobookshelf version v2. 29.0 ### 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 for Android ### Logs ```shell ``` ### Additional Notes Worked fine on 2.28 Shows the same on Android app or browser or retrieving via api call.
adam added the bug label 2026-04-25 00:12:49 +02:00
adam closed this issue 2026-04-25 00:12:49 +02:00
Author
Owner

@Vito0912 commented on GitHub (Sep 7, 2025):

Which app do you mainly use to listen?

Also, can you check what happens in the network console when you start listening to the book in the browser? What response code do the sync requests receive (note that it takes about a minute before the client begins actual syncing)?
Also are there any error or warning logs?

@Vito0912 commented on GitHub (Sep 7, 2025): Which app do you mainly use to listen? Also, can you check what happens in the network console when you start listening to the book in the browser? What response code do the sync requests receive (note that it takes about a minute before the client begins actual syncing)? Also are there any error or warning logs?
Author
Owner

@AnonTester commented on GitHub (Sep 7, 2025):

I use mainly the Android app, but I'm also writing a Kodi addon and listening through that and sending progress PATCH updates to ABS. The patch updates respond with OK. The progress itself is stored fine from browser, android app or addon and continuing from the correcr position works fine on all of them. It's only the percentage that doesn't update.

I'll check the network from a browser. I didn't see anything in the logs, but will double-check.

@AnonTester commented on GitHub (Sep 7, 2025): I use mainly the Android app, but I'm also writing a Kodi addon and listening through that and sending progress PATCH updates to ABS. The patch updates respond with OK. The progress itself is stored fine from browser, android app or addon and continuing from the correcr position works fine on all of them. It's only the percentage that doesn't update. I'll check the network from a browser. I didn't see anything in the logs, but will double-check.
Author
Owner

@Vito0912 commented on GitHub (Sep 7, 2025):

writing a Kodi addon

Then it's likely this. If you are an app developer you MUST send the percentage, duration, and current position. ABS does not does that for you. Especially if you use the /progress endpoint (see below)

Also (hard to tell for sure) but in most cases PATCH is the wrong method to update listening progress. It should be done by opening a session and using /sync. If you cannot use /sync and open a session, it should be done through a local session. Updating the progress with PATCH can cause issues with other clients and should only be done as a last resort iirc.

@Vito0912 commented on GitHub (Sep 7, 2025): > writing a Kodi addon Then it's likely this. If you are an app developer you MUST send the percentage, duration, and current position. ABS does not does that for you. Especially if you use the /progress endpoint (see below) Also (hard to tell for sure) but in most cases PATCH is the wrong method to update listening progress. It should be done by opening a session and using /sync. If you cannot use /sync and open a session, it should be done through a local session. Updating the progress with PATCH can cause issues with other clients and should only be done as a last resort iirc.
Author
Owner

@AnonTester commented on GitHub (Sep 7, 2025):

Oh... it was self-updating the previous book I was listening to though.
I was following the documentation on https://api.audiobookshelf.org/#create-update-media-progress which only lists duration and progress for the progress update through PATCH. Is there an updated doc somewhere?

@AnonTester commented on GitHub (Sep 7, 2025): Oh... it was self-updating the previous book I was listening to though. I was following the documentation on https://api.audiobookshelf.org/#create-update-media-progress which only lists duration and progress for the progress update through PATCH. Is there an updated doc somewhere?
Author
Owner

@Vito0912 commented on GitHub (Sep 7, 2025):

No, there is not. Sadly. But I just want to point out that the doc still correctly states currentTime as a parameter you should provide.

But this endpoint is more intended for setting a book finished or update the progress out of an UI. I know it's nowhere stated, but that's why I try to give as much insight as possible (in general for people using the API)

@Vito0912 commented on GitHub (Sep 7, 2025): No, there is not. Sadly. But I just want to point out that the doc still correctly states `currentTime` as a parameter you should provide. But this endpoint is more intended for setting a book finished or update the progress out of an UI. I know it's nowhere stated, but that's why I try to give as much insight as possible (in general for people using the API)
Author
Owner

@AnonTester commented on GitHub (Sep 7, 2025):

thanks. I'll look more into the sync endpoint and adjust the PATCH call in the meantime.

@AnonTester commented on GitHub (Sep 7, 2025): thanks. I'll look more into the sync endpoint and adjust the PATCH call in the meantime.
Author
Owner

@Vito0912 commented on GitHub (Sep 7, 2025):

Unrelated to the issue, but is your Kodi client findable or a personal project?

I am maintaining a list of ABS clients.

@Vito0912 commented on GitHub (Sep 7, 2025): Unrelated to the issue, but is your Kodi client findable or a personal project? I am maintaining a list of ABS clients.
Author
Owner

@AnonTester commented on GitHub (Sep 7, 2025):

It's not ready yet. I found an existing Kodi ABS client, but that had a custom interface doesn't support progress and seems abandoned, so I started writing my own. Got a few more things I want to get working, then I'll publish it and add it to the Kodi repos.

@AnonTester commented on GitHub (Sep 7, 2025): It's not ready yet. I found an existing Kodi ABS client, but that had a custom interface doesn't support progress and seems abandoned, so I started writing my own. Got a few more things I want to get working, then I'll publish it and add it to the Kodi repos.
Author
Owner

@AnonTester commented on GitHub (Sep 7, 2025):

I wasn't playing long enough on web/android app for it to sync. It is updating properly through those.
Found my error.
Adding the isFinished boolean to the PATCH update broke this. The progress time was still getting updated, but the progress percentage wasn't being calculated any longer. But I also seem to need to add duration and progress now and remove the isFinished.
All working properly now again.

Apologies for the wasted time.

@AnonTester commented on GitHub (Sep 7, 2025): I wasn't playing long enough on web/android app for it to sync. It is updating properly through those. Found my error. Adding the isFinished boolean to the PATCH update broke this. The progress time was still getting updated, but the progress percentage wasn't being calculated any longer. But I also seem to need to add duration and progress now and remove the isFinished. All working properly now again. Apologies for the wasted time.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2993