Obsidian ignores and overwrites non-downloaded iCloud files

Steps to reproduce

  1. Open a vault stored in iCloud
  2. Click “Remove Download” on any currently downloaded files
  3. The file disappears

Did you follow the troubleshooting guide? Y

Expected result

I expect Obsidian to show all files in the file explorer and download them automatically once they are opened. This is the behavior of VS Code and every other app I use.

Actual result

Obsidian causes non-downloaded files to disappear and will actually overwrite them if you create a file with the same name i. e. by clicking on a “broken” link to the non-downloaded file. It doesn’t prompt before overwriting the contents of the online file and this doesn’t seem to be reversible, so it’s a very significant issue for me.

Environment

SYSTEM INFO:
Obsidian version: v1.3.4
Installer version: v1.1.9
Operating system: Darwin Kernel Version 22.3.0: Mon Jan 30 20:39:35 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T8103 22.3.0
Login status: logged in
Catalyst license: insider
Insider build toggle: on
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: Border v1.2.16
Snippets enabled: 6
Restricted mode: on


Additional information

Ugh. Obsidian is supposed to be a local-based program, so problems with sync services tend to happen.

However I do think if you create a vault in iCloud(from the start), these things should be avoided. I wonder how your vault was created.

This is not a bug, Obsidian needs all files to be stored locally on the device.

You can open a feature request, this is unlikely to change, though.

I understand given the need to read all files in the vault. I would really love this feature though. Especially because with iCloud, there is no way of making a folder “offline”—iCloud randomly offloads the folder if space is getting tight. If Obsidian could at least leave a warning before overwriting an online file that would be really important, especially because iCloud is the only cloud option for the mobile app besides Obsidian Sync.