[Feature] Background sync

Platform

[ ] iOS
[x] Android

Obsidian Mobile version: v1.0.4


When I open Obsidian, it syncs. This is good — but it takes time.

I would like Obsidian Mobile to sync in the background instead, so that when I open it, it’s ready to go.

I have two ideas around this:

  1. (Possibly simplest?) Expose an intent/activity, which I could then hook into using Tasker. So I would implement my own cron job with Tasker that would just use the hook.
  2. Implement it internally, “Sync every X minutes”.

Is any of these feasible? Is there already a way to do this which I’m missing?

12 Likes

+1
I always make changes to old version of the note and notice it way too late

This would really be valuable and solve the daily note getting appended when it already exists.

+1

Lack of background sync means I have to open the app and babysit it whenever there are large changes.

Trying to allow Android app to run on background - tried to find a setting on android app and the default app settings of the phone but ended up with nothing. The app stops syncing even when the screen shuts down to save energy…

Does anyone know how to allow the app to sync on a continuous basis?

try to search battery in the App settings and enable allow background activity.

already allowed - but it does not show any background activity (shows 0 min). Something else must be keeping it from running in the background

another try:

  1. run OB, then back to [Home screen]
  2. press the [recent apps] key, then rencent Apps including OB shows
  3. lock the OB App by long press the OB icon in the [recent apps ] screen, thus OB app will not be automatically killed by Android.
    Hope this work.

This would be a great addition for iOS - enabling background refresh. I know other Electron based apps (like Slack) allow for background refresh. Having this in a future iOS release would be excellent.

2 Likes

+1 to this, lack of background sync makes the Android app kind of unusable for me (or at least, not worth the effort at the moment)

1 Like

Same for iOS. Without background sync, it renders the iOS mostly useless when migrating to it the first time. I have ~12k notes from Evernote that I’ve migrated, and I can’t even use iOS until it has completed syncing the first time.

I had to use a work around which was to use selective sync and chose all but one or two folders of notes to sync the first time. Even then, it was several hundred notes and I had to sit and keep my phone alive for the sync process to complete. Then once done, I had to chose to sync the next folder, and repeat the process of syncing and keeping my mobile phone alive.

It made for an annoying number of days, and I’m nowhere near finished.

Unfortunately, iOS background syncing can’t happen the way we hope until changes happen in the underlying OS.

iOS is extremely protective of background data and battery drain.

You can use some features of iOS to sync a little data, but the dream of having the app aways fully synced in the background is currently out of reach.

More discussion here: ios - Periodic background synchronization - Stack Overflow

You probably did that already but for other people with the same issues:
You can disable screen auto lock, turn down brightness, connect to charger and just leave it running over night.

Do you know how long Obsidian on iOS stays active when exiting the app? I’m wondering if it can finish syncing last edits or will quit immediately, leaving last edits unsynced.
I had the situation several times: Made an edit, switched apps right away and edits didn’t sync through to Mac.
Interestingly, when I opened Obsidian on iOS again, the changes didn’t sync for some minutes, only when I did additional edits.

I do not, sorry.

iCloud-based sync should be independent of the app being open, but Obsidian Sync should be dependent on Apple’s iOS constraints:

So, I tried it a couple of times. When I make an edit on iOS and leave the Obsidian app (not closing it but going to homescreen), the very latest edits aren‘t synced (ca. the last second of edits.)

When I open Obsidian again and check sync log, I see following error message:

2022-04-22 11:00 - null is not an object (evaluating ‘this.socket.send’) filename.md

After opening the Obsidian app again, it takes ca. 30 seconds for Obsidian to connect to server and uploading the last edits.

If this is a common bug, I can imagine this 30 second delay may lead to many sync conflicts.
If there was a way to keep Obsidian active in iOS background for another 3 seconds after leaving the app to upload the last edits, that would also solve the issue. Idk if that’s possible at all with iOS’ restrictions.