Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Allow syncing progress from the same user over multiple connections #1401

Open
nichwall opened this issue Dec 4, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@nichwall
Copy link
Contributor

nichwall commented Dec 4, 2024

Describe the Feature/Enhancement

Currently, the mobile apps only attempt to sync progress with the server if the user ID and server connection ID match. This was implemented prior to server version 2.3.0 (when the database was changed to be SQLite) because username collisions were relatively common if you logged in to multiple servers from the same device (such as "root" or within a friend group where everyone is running their own server).

After the migration to SQLite, each user now also has a unique UUID, which is "unique" across servers, instead of only the human readable name. There is no global lookup for user IDs, but collisions are very unlikely.

To simplify syncing and as a partial fix for #209 and #1386, we can instead check the user ID instead of the server URL to check whether progress should be synced. This also simplifies things because we do not need to generate unique server IDs and update the API to include this information.

NOTE: if you originally signed in to your ABS server in the app prior to server version 2.3.0 (released summer of 2023), the old user name is still being used instead of the new UUID. To fix this, you will need to delete the connection from your app and sign in again. Any media from that previous connection will need to be downloaded again so it is associated with the UUID instead of the username. The ability to sign in with the old username will be removed within the next few server versions (currently at 2.17.3 at the time of writing). There is not a specific plan on when this will happen, but it is a good idea to fix the connection anyway since it was recommended to be done after upgrading to 2.3.0 and it has been over a year at this point. More discussion in advplyr/audiobookshelf#3490

Why would this be helpful?

Simplifies syncing across multiple connection methods.

Future Implementation (Screenshot)

No changes to interface. The current message about being downloaded by a different user or from a different server will still apply, but only be shown if the user ID does not match instead of also checking the URL.

Audiobookshelf App Version

Android App - 0.9.77

Current Implementation (Screenshot)

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant