Initial sync to mobile is dangerous: deletes hotkeys.json app.json

Steps to reproduce

  1. Use Obsidian on desktop. Among other things, set some hotkeys.
  2. Sync the vault to Obsidian Sync
  3. Uninstall Obsidian on iOS, which was previously synced via Obsidian Sync.
  4. Re-Install Obsidian on iOS
  5. Login to Obsidian on iPhone
  6. Sync the vault from the desktop
  7. Wait for the sync to finish
  8. Start to use the mobile app
  9. Notice that community plugins aren’t enabled. Go into settings and turn on Community Settings.
  10. Notice that my usual plugins still aren’t there. Go into Sync Settings and notice very late that Sync doesn’t sync much by default. Turn on every possible Sync toggle, including Settings and plugins.
  11. Sync again
  12. Go back to Obsidian Desktop
  13. Notice thanks to the Sync log and to the lifesaving obsidian-git plugin that app.json were hotkeys.json were either deleted or emptied out.

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

Y

Expected result

  1. My Obsidian Desktop hotkeys are unaffected by the mobile sync.
  2. My previous Obsidian mobile app settings are restored.

Actual result

  1. I lose all my hotkeys in Obsidian desktop
  2. My previous Obsidian mobile app settings are not restored.

Environment

  • macOS 14.4.1 23E224 (Sonoma) MacBookPro18,2 (Apple M1 Max, arm64)
  • iOS 17.4.1 iPhone 12 Pro Max

Additional information

I’ve noticed these issues back 2 years ago. I fully expected that they would be fixed since they’re so obvious. I guess they’re not obvious enough and I have to file explicit requests:

  1. Make it obvious to the user that the default sync is very selective and doesn’t include everything else. Pop up a dialog that makes me select all the toggles before clicking a Sync Now button. Or maybe even pop up a dialog with the option of syncing everything.
  2. Do NOT consider that the mobile’s brand new empty files such as app.json and hotkeys.json are newer than the server’s copy.