iOS & iCloud Slow to start: "Waiting for iCloud to synchronize Obsidian configuration files…"

Here is a direct link to download the video (~8Mb, the Download button is on upper right)

The main question for me is: why there is some syncronizing when there is no Internet available? Any comments?

I already answered you above.

I can quote this once again. :wink:
Sorry for my ignorance, English is not my native language, so I might missing something obvious, but I don’t see here an answer for the question: why “Obsidian checks to make sure every file in the vault is actually there” while there is no Internet connection and therefore absolutely no way to actually find if “every file in the vault is actually there” and to fix this by downloading the missed files (if any)?

Because Obsidian cannot launch your vault if it is missing any files.

I am guessing that we show that screen to represent both the “check the vault for missing files” and “download missing files” actions. It may be misleading if you don’t have an Internet connection.

You can ask iCloud Drive’s API if a file has been evicted without an internet connection.

Users on the developer beta for the upcoming release of iOS/iPadOS/macOS had some very good news to share:

Image credit: Ivo on the Discord server.

Of course, betas are not guaranteed, but if we all cross our fingers this problem will be resolved in the near future!

9 Likes

Can also report that for me it loads without the multiple loading screens as before. It’s not as fast as native apps, but it’s an improvement.
I did remove all the other vaults from the Obsidian iCloud folder.

Not sure what caused it, but makes Obsidian slightly more usable on mobile.
Still wish for a more native UI/UX and looking forward to iOS18.

thanks, i looked into that a while ago and decided against it because it would create separate configs for my mobile and desktop setup. ideally configs would allow to extend one another (similar to something like docker compose configs). updating the manifests seemed like the least invasive action.

in any case, seeing that apple is going to finally bring the necessary API changes to icloud this year and that this is currently shown as actively being worked on in the obsidian roadmap makes me very much look forward to using obsidian on mobile again.

I will have to find a way to recreate/import ios 18 voice notes in obsidian because these just look so damn good.

1 Like

Yes, I had the same problem (iPhone 15+, 68Gb of 128Gb free). Thank you for this; I’ve tried all of the above options and nothing worked until your suggestion about Omnisearch.

My fix went like this: I keep my vault in iCloud and point my devices to it, and so changes made to the plug-in settings on the desktop will translate over to the other device. (1) I wiped then reloaded the app back onto the phone but left it shut down (2) I disabled Omnisearch on the desktop version of the app and then restarted it (3) Reopened the iPhone app and selected the vault. After that, it synced and indexed normally, working properly again :+1:

Seemingly, in order to keep Omnisearch (which I love), I’ll just have to use it on the desktop on an activate-use-deactivate-reload basis :person_facepalming:

Even with this new function, the load time on iPadOS 18 is still above 10 seconds. My guess is that Obsidian is still taking a long time to verify if the files are still there, even though now it’s guaranteed that they are.

Funnily enough, on my iPhone (not even iOS 18) the load time is quite small, and I almost never see that screen. Any ideas of what may be happening?

1 Like

It actually depends on the other vaults you have in iCloud Drive. There’s no way via Apple’s APIs to scan only the vault you’re opening, so load time scales with the total number of vaults and files.

If you’re using Keep Downloaded, you can hit that skip button to get in faster.

iOS 18 and “keep downloaded” seem to have improved the load time on my ipad from 10 seconds to 5. I also deleted a test vault and that seemed to help slightly

A post was split to a new topic: How to handle large amount of attachments?

Steps to reproduce

  1. Have iCloud vault
  2. Launch Obsidian.

Did you follow the troubleshooting guide? [Y/N]

Y

Expected result

Faster app launch times.

Actual result

Very slow app launch times:

Obsidian start-up time breakdown

Operating system: ios 18.0.1 (Apple iPhone14,5)
Obsidian version: 1.7.4 (167)
API version: v1.7.4

  • Total startup time: 24,848ms
  • Initialization: 590ms
  • iCloud: 24,092ms
  • Vault (0 files): 34ms
  • Workspace (8 tabs, 8 deferred): 75ms
  • Core plugins: 57ms

Environment

SYSTEM INFO:
Operating system: ios 18.0.1 (Apple iPhone14,5)
Obsidian version: 1.7.4 (167)
API version: v1.7.4
Login status: not logged in
Language: en
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: on

RECOMMENDATIONS:
none

Before opening a new bug report, please search the forum for duplicates and follow the Troubleshooting Guide.


Additional information

I have reinstalled the app and created an empty iCloud vault for testing purposes.

I see no noticeable launch time difference from 1.6.7 despite the 1.7.4 changelog saying:

  • Improved app load time for iOS, iPadOS, and Android.
  • iOS: The option to skip iCloud loading will now appear earlier in the startup process.
  • The app is now more responsive while loading iCloud vaults.

Contrary to the dreadful message that still presents you on each launch in 1.7.4, in iOS 18, iCloud now does offer a way to turn off automatic deletion.

Questions

  1. If the Obsidian folder is “Kept Downloaded” in the ‘Files’ app, why doesn’t it seem to improve launch times?
  2. Why doesn’t Obsidian encourage you to use this setting? (For Mac, the Troubleshooting Guide encourages one to disable “Optimize Mac storage”.)
  3. Now, one can considerably speed up launch times if they press “Skip”. But what is being skipped exactly? How will one’s experience of using the app differ if one skips? What can one miss out on?
1 Like

Wanted to post pretty much the same thing but didn’t got to it.

I downloaded the hole obsidian-folder and I could not find a case where something wasn’t there.

I can only assume that obsidian is sending a query to iCloud to check if everything is there. iCloud then does it, but it still takes a while even though it’s marked as „keep downloaded“

So what could be done (assuming I am right)

  1. talk to Apple. Maybe they can improve or recommend something from their side

  2. Maybe obsidian can add a option to a iCloud-vault to „always skip“? An automatic skip would solve it. But of course is dangerous. So if obsidian could check the folder and get that information abou if keep downloaded is enables or not would solve it

1 Like

How many vaults do you have in your Obsidian iCloud Drive folder ? :thinking:

It takes longer than 24s on my old iPhone XS (iOS 18+) to open a vault but I discovered very recently that the number of vaults you have within the Obsidian folder also influences (quite a lot) the iCloud loading time :innocent:
(I have 21 vaults in the Obsidian iCloud folder :see_no_evil:)

And if I remember correctly, Obsidian doesn’t have a way to only check the config files for “the last opened vault”, so it goes over the whole Obsidian folder in iCloud (… or something along those lines :innocent: )

I’m also not sure there’s a way for Obsidian to know, out of the box, if the “Keep downloaded” has been enabled or not …(which could also be a reason for the needed check)

After that, not all Obsidian’s users have necessarily access to the “keep downloaded” (either on mobile or Mac)…

I mean, I still have a Mac running on Big Sur and stuck there… It’s dying, slowly but surely… and yet, I use Obsidian on it every day (or almost) :innocent:

So, if you can Skip because you’ve enabled Keep downloaded on the Obsidian iCloud folder and you trust iCloud enough to do its job, I would just say to try and use the Skip button :blush:

1 Like

Let me update you on this issue. There were no changes in Obsidian 1.7.x with regard to iCloud.
The issue that we have is that we need to 1) check if the configuration files are present and 2) download them if they are not. We believe there is a problem in the iCloud API related to the checking part (not downloading). Specifically, checking if a directory is present (the settings directory) takes proportionally longer the more files you have (including files not in that directory and even including files in other vaults!).

The “keep downloaded” toggle in iOS 18+ has not improve the speed of this check. If you have keep download on, in theory, you can safely skip the check/download.

We are currently considering a couple of different approaches to the way Obsidian starts from iCloud vault.

I am gonna add here an excerpt of a note from the CTO:

Maybe it’s good time I give an update on the iCloud situation. I know that the load time has been super frustrating for iCloud users, especially when Apple finally added the “keep downloaded” option but it’ still so damn slow.

The API that Apple gives developers is unfortunately super limited, and also quite buggy. When we first load the iCloud vault, we use the NSMetadataQuery API to scan the vault for any file that is “offloaded” to the cloud. When this API returns results, we will request the OS to download each file. The biggest bug with this API, is that even though we explicitly ask the NSMetadataQuery to ONLY query the files in your vault’s .obsidian folder (meaning, just the configuration files, themes, and plugins, because we need these to exist when booting up the app correctly), the API still actually iterates through every single file in your Obsidian iCloud folder (called the “ubiquitous container”. Because of this, a scan of anything in the iCloud folder, even if we limit the query to a single file, will cause an entire scan of everything in your Obsidian iCloud folder.

Now with iOS 18, and the “keep downloaded” option. Apple has provided no API to know whether that’s enabled. And there also isn’t a way for the app to request it. In fact, an apple developer publicly said that the option is designed to be used by the user, and they have no intention to expose any API for app developers.

8 Likes

The update is much appreciated! I’ll echo @berot3’s request for an auto-skip option.

1 Like

Hey, I’m also running Big Sur still. You can disable “Optimize Mac Storage” in System Preferences → Apple ID.

Travis for the update. I was expecting something like that from Apple. I hope you guys can find a workaround :+1:t2::crossed_fingers:t3:

This is a very nice explanation of the problem. Thank you for sharing it.

I wonder if a toggle could be added to the settings for mobile to skip the file check (like the button does), with the condition that the vault has at least once been fully initialized on the device. So instead of this setting persisting between installs of the vault, it is local to the vault and device.

Why do I mention this? With my vault, it is fully synced locally, I have enabled the keep downloaded feature and is functioning. Likely, the files will always be there on each startup on the device once set up. So if I can then toggle off this startup check, I take responsibility for understanding this condition. The result is likely an improved startup time on mobile.

Again, thank you for the clarification.

4 Likes