advplyr / audiobookshelf-app

Mobile application for Audiobookshelf
https://audiobookshelf.org
GNU General Public License v3.0
1.18k stars 164 forks source link

[Bug]: Mobile app ignores external progress when playing #1161

Open KRSogaard opened 5 months ago

KRSogaard commented 5 months ago

Describe the issue

When moving from Web to Mobile decide, the mobile deceive will show the correct progress, but as soon as i click pay it will reset. This happens to me almost every time i listen to an audiobook and switch device, example last night i was listening to a book up until "2:38:00" on my mobile phone, during the day today i have been listening via the web up until "5:07:02". When i open my mobile app, it shows the correct time "5:07:02" as the current progress, but as soon as i click pay on the mobile device it resets to "2:38:00" and continues from there. To make the problem worse it "reports" this to set server as the current progress, overwriting my actual progress.

Steps to reproduce the issue

  1. Listen on the mobile app, stop at a give time frame, called X time
  2. Listen on the webapp, stop at any given time frame a little more into the book, called Y time
  3. Open the mobile app, see that the time should match where you left off on the web app, should match Y time
  4. Click pay, see it reset to X time and continue playing from there

Audiobookshelf version

v2.8.1

How are you running audiobookshelf?

Docker, Android App

nichwall commented 5 months ago

Did you close the mobile app completely while listening on the web app?

advplyr commented 5 months ago

Please provide both the server version you have installed and the android app version you have installed. It is also helpful if you provide the android OS version you are using.

Also, it is important to add if you are experiencing this with downloaded books or streaming books or both.

KRSogaard commented 5 months ago

I was able to catch it on video today: https://www.youtube.com/shorts/o7nfUfMNsHM I have been listening on my laptop, and wanted to switch to my mobile. I stopped the playback on the web browser at 7:36:40, i then waited roughly 2 min to make sure the server has been updated. I then started the screen recording above, You will see that is set the current progress to 7:36:08 (a bit off the 7:36:40 on the web browser but this is ok), i then click the play button and i feel the phone vibrate twice and i see the progress jump back to 6:23:00 the progress i had when i stopped listening on my phone last time.

The android app is the latest from the Google Play store, version 0.9.73-beta, and i am streaming the book.

nichwall commented 5 months ago

Did you completely close the mobile app while you were listening on the computer? The video looks like the player was not closed (this can be done by either closing the player or force closing the app)

If so, this is the same behavior as https://github.com/advplyr/audiobookshelf-app/issues/1146?

advplyr commented 5 months ago

In this case since the player has correctly synced the progress from the web in real-time using websockets that should not have jumped back like that. I'll look into it

KRSogaard commented 5 months ago

@nichwall no i did not clock the app fully, it was running in the background. However i have seen it do the same thing when i force close the app first. Also it is clear it got the update from the server as it is a the right place before i push play, so i don't think that is the issue.

JReming85 commented 4 months ago

I can confirm, if you close the app (force close) and reopen it will continue from where the web app is currently at.

History seems to only log the mobile app's progress, as I cant see the option on the browser version but would be great if it could sync both.

Not the biggest of issues, but an annoying QoL request/fix

Inevitable commented 1 month ago

Confirming that I also see this behavior; essentially I MUST force stop the Android app, or any progress state on the server is overwritten. This is quite a big annoyance as I move between the two players (web and mobile app) several times a day, and a server-authoritative progress sync was one of the top reasons I was interested in running this service!