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

Better queue management #18

Open
XenorPLxx opened this issue May 6, 2023 · 0 comments
Open

Better queue management #18

XenorPLxx opened this issue May 6, 2023 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@XenorPLxx
Copy link
Contributor

XenorPLxx commented May 6, 2023

When uses chooses the option to keep the library in sync constantly, and the plugin can't synchronize for whatever reason, the queue of games to synchronize is lost, which means some games might have their data not up to date in Sharenite until those games are synchronized again or a full library synchronization is done.

The goal of this task is to make sure we're doing everything we can on client side to always keep games in sync.

Implementing better queue management should resolve any issues with queue being lost due to server availability and other unforeseen, but temporary, errors. It should also address issues like #17.

CTA:

  • queue should be retried in growing time intervals to make sure all new changes are uploaded.
  • when a game is added to deleted queue, it should be removed from updated queue
  • when option to keep in sync is not checked, update queue should be cleared out and turned off

Questions:

  • what are the reasonable time intervals, so user is not spammed with notifications?
  • should authentication error also be included as standard auto retry? If not:
    • should queue be still maintained, but sync paused (and re-triggered after user authenticates)?
    • or should queue be cleared out as it is if unrecoverable error happens now?

Prerequisites:

BTW: Sharenite does not synchronize changes instantly, instead it keeps a queue and synchronize only if there are no changes for a couple of seconds, to prevent multiple API calls during library updates, hence the 'queue' exists.

@XenorPLxx XenorPLxx added the enhancement New feature or request label May 6, 2023
@XenorPLxx XenorPLxx added this to the Road to 1.0 milestone May 6, 2023
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
Status: 📋 Backlog
Development

No branches or pull requests

1 participant