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

Synchronisation on Android is supposed to happen every 5 minutes but does not #11081

Open
dejafait opened this issue Sep 19, 2024 · 6 comments
Open
Labels
bug It's a bug high High priority issues mobile All mobile platforms

Comments

@dejafait
Copy link
Sponsor

dejafait commented Sep 19, 2024

Operating system

Android

Joplin version

3.0.8

Desktop version info

No response

Current behaviour

Simplest steps to reproduce: use a new profile with the Welcome notebook. Sync it to any target (e.g. Dropbox). After the initial sync completes, leave the app open as shown in screenshot.

Current behavior: the app never syncs again unless the user interacts to manually trigger it. Screenshot proves it (last sync happened at 11:51 but it's now 12:00).
Screenshot_20240919-120017

Expected behaviour

It should sync every 5 minutes even without user interaction as long as the app stays open as shown in the screenshot.

Why it matters

Users have to keep "babysitting" (got that term from another user) the sync on all their android devices. It's been my case for one year. Really wish android sync would be more seamless thus here I am reporting the issue narrowed down to its simplest form.

Logs

No response

@dejafait dejafait added the bug It's a bug label Sep 19, 2024
@laurent22
Copy link
Owner

It is designed this way - if you interact with the app and more than 5 minutes have passed it will sync. But it's true that if you just leave it open without touching it, it won't happen. I guess we're making the assumption that the user actually interacts with the app when it's opened, which in most cases is a correct assumption on mobile.

@dejafait
Copy link
Sponsor Author

dejafait commented Sep 19, 2024

I keep Joplin open on several android devices and keep switching between them. Everytime I switch to a different device, I have to worry about syncing recent changes and waste 5-10sec (Joplin Cloud, E2EE, 10k notes), waiting for the triggered sync to complete. It happens maybe 50+ times a day (I use Joplin a lot, it is a central tool in my life). I'm sorry to insist.

Waiting a few seconds 50+ times a day is a bummer, when this sync could just proactively happen every 5 minutes, like the Interface claims it is, but is not.

As a side note, I will soon migrate from Joplin Cloud to my own Joplin Server Docker. I already tested it with my 10k notes, syncs 2-3x faster, because LAN and no more E2EE needed I guess.

This will alleviate the present issue but even there imho it would still make sense to offer an option to sync even when the user does not interact.

Afair Evernote still syncs (every N minutes) when there is no interaction. Also Todoist (instantly). Also Google Docs (instantly). This is the first time I encounter this unexpected degraded syncing pattern.

If the user has an app, any app with some sync, open on two devices, once the user makes a change on device A, the change should eventually propagate to device B without any user interaction. It may take a few minutes but it eventually happens. Imho.

@dejafait
Copy link
Sponsor Author

we're making the assumption that the user actually interacts with the app when it's opened, which in most cases is a correct assumption on mobile.

Then why not have the same logic on desktop and mobile ? Current behavior on desktop is automatic syncing every 5 minutes even without user interaction. Why punish mobile users vs desktop users? I don't understand.

@laurent22
Copy link
Owner

laurent22 commented Sep 19, 2024

Then why not have the same logic on desktop and mobile ? Current behavior on desktop is automatic syncing every 5 minutes even without user interaction. Why punish mobile users vs desktop users? I don't understand.

Originally this is because long running timers with the framework we're using are not reliable, so we have this technique that is based on user interactions and that assumption that if the app is open it's to be used.

I don't really understand your use case though - you mean that your phone is on all the time with the app opened, but you don't use your phone? Also normally when you open the app, it should sync too, it shouldn't wait 5 minutes.

@dejafait
Copy link
Sponsor Author

dejafait commented Sep 19, 2024

I mostly use Joplin on several (2-4) eink android tablets permanently open on my desk. I multitask between them. Let's say I completed some tasks and joplin changes on device A an hour ago. I switch to device B which already had Joplin open (usually 1-3 of my tablets have Joplin open). I always have to worry about syncing first, even if changes happened one hour ago. This is why I have developed the habit of not trusting Joplin sync and having to babysit it. I don't have this issue with any other app (Evernote, Todoist, gmail, Google doc, any app with user data sync).

Yes when I open the app it syncs. When I edit a note it syncs. When I interact it syncs.

@laurent22 laurent22 added mobile All mobile platforms high High priority issues labels Sep 19, 2024
@laurent22
Copy link
Owner

That makes sense. This workaround with interaction-based timers was implemented years ago and maybe today the framework timers are more reliable so it would be good to revisit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug It's a bug high High priority issues mobile All mobile platforms
Projects
None yet
Development

No branches or pull requests

2 participants