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
[#982] Background syncing #985
[#982] Background syncing #985
Conversation
19d7dce
to
62bde1f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Congrats on this long-awaited feature ❤️🎉
- Background processing task implemented - debug version of scheduling for testing purposes (the final one is commented out for now) - Doc for the Background Synchronization added [Electric-Coin-Company#982] Background syncing - changelog update - doc 2nd pass fixes [Electric-Coin-Company#982] Background syncing - refactor - custom wifi check [Electric-Coin-Company#982] Background syncing - code cleanup + refactor [Electric-Coin-Company#982] Background syncing - uni tests fixed [Electric-Coin-Company#982] Background syncing (Electric-Coin-Company#985) - New background task with responsibility to schedule the syncing background task implemented - this is the way the recurrent tasks are implemented because the official API last recurrent scheduling
62bde1f
to
478cc14
Compare
- Background processing task implemented - debug version of scheduling for testing purposes (the final one is commented out for now) - Doc for the Background Synchronization added [Electric-Coin-Company#982] Background syncing - changelog update - doc 2nd pass fixes [Electric-Coin-Company#982] Background syncing - refactor - custom wifi check [Electric-Coin-Company#982] Background syncing - code cleanup + refactor [Electric-Coin-Company#982] Background syncing - uni tests fixed [Electric-Coin-Company#982] Background syncing (Electric-Coin-Company#985) - New background task with responsibility to schedule the syncing background task implemented - this is the way the recurrent tasks are implemented because the official API last recurrent scheduling [Electric-Coin-Company#982] Background syncing (Electric-Coin-Company#985) - MD typo fixed
478cc14
to
70598f1
Compare
I realized we should implement at least one more advanced thing for background syncing - I call it Advanced Background Syncing, see #987. The scheduling in background tasks API lacks recurrence and typically this is solved with another background task that's only purpose is to create the recurrence "manually". Such task doesn't require a network or power and can finish its job real quick. With this extra work we increased the efficiency and meaning of background syncing by a huge leap. I updated the code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mainly reviewed the documentation and left some advice on it.
I have one more general note on the background syncing feature, which could be addressed in a follow-up. Should we provide a straightforward UI for tweaking when the BG sync is triggered? So we ensure this feature is available for everyone because having it restricted on time, power, and connection type could make most of the users asking why the feature is not working. The new settings could have:
- on/off for the whole sync feature (default on)
- required plugged-in power (default on)
- required wifi connection (default on)
- time picker (default 3 am)
|
||
### Steps to make it work | ||
1. Add a capability of `background modes` in the settings of the xcode project. | ||
2. Turn the `Background Processing` mode on in the new capability. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recommend using reset numbering here as it's more future-proof, i.e.
1. Add a capability of `background modes` in the settings of the xcode project.
1. Turn the `Background Processing` mode on in the new capability.
...
Closes #982
Closes #984
Closes #987
This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation). For more in-depth discussion of how we think about code review, please see Code Review Guidelines.
Author
Reviewer