Menu

How ABS+ keeps your Audiobookshelf listening position in sync, even offline
πŸ“°

How ABS+ keeps your Audiobookshelf listening position in sync, even offline

DEV Community: iosΒ·borodutch.eth πŸ’ŽπŸ€²Β·1 day ago
#6cJazWsa
#devtoios#devto#dev#server#position
Reading 0:00
15s threshold

ABS+ saves your Audiobookshelf listening position on the phone first and sends it to your server afterwards, so a chapter you listened to in a tunnel or on a plane is not lost and does not overwrite what you heard on another device in the meantime. Each play, pause and finish is written to storage before any network request is made, the server is asked what it already has before the app writes anything, and a failed send is retried with a delay that grows from one second to five minutes and survives the app being killed. This post walks through how that works in the code as it stands in the repository on November 9, 2026 (the sync files are unchanged since the 1.2.4 release of October 28), and why each rule exists.

Why syncing a listening position is harder than it looks

Audiobookshelf stores one progress record per book, and per podcast episode, on your server. The record holds the current time, the duration, a finished flag and a lastUpdate timestamp.…

Continue reading β€” create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.