-
Notifications
You must be signed in to change notification settings - Fork 12
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
Automatic Sync stops after running in the background for a while #93
Comments
Hi @DoraTrix, first of all: Sorry for the late reply. I am currently on a business trip in India and hence barely found time looking into any updates on the "private side" of life 😉 Regarding the issue you describe: This sounds strange. Basically, the background sync is done by triggering periodically in the background a sync on each library. I also have to admit I didn't notice such symptoms recently, but then, I personally use the app on another set of devices (macOS and iOS; mainly). If possible:
Thanks a lot in advance! |
No worries, I have no strong expectations for response times on free projects! When I went and checked, the Android app had in fact stopped again after I tweaked the background/power settings for it, so that didn't help. Here is a c/p of the sync log from there - https://pastebin.com/raw/wWcW6pqt. I'm not clear on what you mean by "done by using add, if possible". I've left it running in the "not syncing" state if there's anything that can help there, a memdump or whatnot? I'll change the startup for the PC installs to a sub-call from a command window and get those logs in here once it happens again. |
Is the --enable-console switch actually making it log to stdout? I tried using a >> to dump to a log file, and it's not and still showing in the command window, which I've never run into before. Anyway, here's just a snip from the cmd window, after a successful sync, but maybe relevant?
|
Ok - after it stops syncing, it's just regular repetitions of this, with no success messages. There are two different QUuid's being referenced if that makes a difference, but possibly Account and Library are supposed to be different?
|
Hi @DoraTrix, sorry again for the long days of silence, the last few days were quite busy plus I caught a bad cold on top 🤧 Thanks for gathering the logs. It looks a little bit, like the Dropbox token refresh somehow "hangs". Some words of explanation here: Dropbox uses OAuth for authenticating clients towards the server. When you set up a Dropbox account in the app, a long living token is generated and stored locally. In addition, the app needs to generate a short lived token (for which the long lived one can be used) to run any queries against the REST API of Dropbox. This "refresh" of the short lived token happens in the connectivity check mentioned in the logs. For whatever reason, it seems the last network request in the refresh still is pending. I'll try to have a look into this, maybe some kind of timeout already would help to solve this issue. For your reference, this is the ticket over on GitLab to track development of a fix: https://gitlab.com/rpdev/opentodolist/-/issues/641 |
Yeah, maybe when a sync trigger encounters a refresh that is still
pending, rather than continuing to wait, something that just does a
fallback to a state reset of the Dropbox auth and then an immediate retry?
Since a complete restart of the app itself does always resolve it,
something like that ought to cover it too.
I tried to set up a Windows dev environment to see if I could catch it in
a debugger, but I couldn't get a clean build, I'll keep poking at that so
maybe I can pitch in.
…On Sun, Oct 22, 2023, 7:04 AM Martin Höher ***@***.***> wrote:
Hi @DoraTrix <https://github.com/DoraTrix>,
sorry again for the long days of silence, the last few days were quite
busy plus I caught a bad cold on top 🤧
Thanks for gathering the logs. It looks a little bit, like the Dropbox
token refresh somehow "hangs". Some words of explanation here:
Dropbox uses OAuth for authenticating clients towards the server. When you
set up a Dropbox account in the app, a long living token is generated and
stored locally. In addition, the app needs to generate a short lived token
(for which the long lived one can be used) to run any queries against the
REST API of Dropbox. This "refresh" of the short lived token happens in the
connectivity check mentioned in the logs. For whatever reason, it seems the
last network request in the refresh still is pending. I'll try to have a
look into this, maybe some kind of timeout already would help to solve this
issue.
For your reference, this is the ticket over on GitLab to track development
of a fix: https://gitlab.com/rpdev/opentodolist/-/issues/641
—
Reply to this email directly, view it on GitHub
<#93 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOAHWNHEIWAVKX7BPQGDTKTYAT4UNAVCNFSM6AAAAAA5V5OONKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZUGA3DGMZYHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Hi @DoraTrix, I tried to implement a fix for the sync issue. If possible, could you please try to download a pre-built version from this pipeline over on GitLab and see if the problem still occurs? Basically, I added a watchdog timer which - after a minute - stops the online check (so it would be restarted eventually, instead of letting the app run into a dead end). If you're interested, here's the actual change: https://gitlab.com/rpdev/opentodolist/-/merge_requests/399/diffs Thanks a lot in advance! |
Ok, I've got those running on windows and Android, I'll report back in a
couple days to see if they've kept going!
…On Wed, Oct 25, 2023 at 3:58 PM Martin Höher ***@***.***> wrote:
Hi @DoraTrix <https://github.com/DoraTrix>,
I tried to implement a fix for the sync issue. If possible, could you
please try to download a pre-built version from this pipeline over on
GitLab <https://gitlab.com/rpdev/opentodolist/-/pipelines/1049532003> and
see if the problem still occurs?
Basically, I added a watchdog timer which - after a minute - stops the
online check (so it would be restarted eventually, instead of letting the
app run into a dead end).
If you're interested, here's the actual change:
https://gitlab.com/rpdev/opentodolist/-/merge_requests/399/diffs
Thanks a lot in advance!
—
Reply to this email directly, view it on GitHub
<#93 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOAHWNF4R2SFG6IAWDKTMVLYBFVNZAVCNFSM6AAAAAA5V5OONKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZZHE3DCOJWGA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
So far so good! The watchdog is kicking in and it's still syncing on both Windows and Android. |
Thanks for testing! That’s good news, I’ll go ahead and merge the change now.
It’ll be part of the next release.
If you encounter further issues with the sync, please let me know 😉
… On 30. Oct 2023, at 08:58, DoraTrix ***@***.***> wrote:
So far so good! The watchdog is kicking in and it's still syncing on both Windows and Android.
—
Reply to this email directly, view it on GitHub <#93 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAOSSX2QZVGDSE6QNUJPQ5DYB5MYZAVCNFSM6AAAAAA5V5OONKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBUGY2TQNZUGE>.
You are receiving this because you commented.
|
New user of the app, it's great so far, thanks!
One pain-point: I am using the app on two separate Windows boxes, plus my Android phone, with Dropbox as the sync medium. On all of these devices, after the app has been running for some amount of time (by the logs, ~29 hrs on PC, ~46 on Android), automatic syncing stops. There's no failure in the log, it just stops triggering? On both platforms, this can be resolved (once noticed) by closing (force-closing, on Android) the app and restarting it.
Version:
OS:
Things I'm not sure are relevant:
The text was updated successfully, but these errors were encountered: