Mobile Sync "Modifying" Large Quantity of files

Steps to reproduce

  • Create and/or modify files in the desktop app
  • Open the mobile app
  • Leave mobile app and continue on to work on desktop
  • Come back to the mobile app many days or week later
  • Find large chunk of files have been modified based on the date of the last open on Mobile

Expected result

Would expect to not see any modification to these files as they were not altered

Actual result

Files have modified metadata about them based on the mobile sync

Environment

  • Operating system: macOS 12.5, iOS 15, iCloud Sync
  • Debug info: SYSTEM INFO:
    Obsidian version: v0.15.9
    Installer version: v0.15.9
    Operating system: Darwin Kernel Version 21.6.0: Sat Jun 18 17:07:25 PDT 2022; root:xnu-8020.140.41~1/RELEASE_X86_64 21.6.0
    Login status: not logged in
    Insider build toggle: off
    Live preview: on
    Legacy editor: off
    Base theme: dark
    Community theme: Minimal
    Snippets enabled: 5
    Restricted mode: off
    Plugins installed: 64
    Plugins enabled: 55
    1: Admonition v9.0.3
    2: Better Word Count v0.8.1
    3: Paste URL into selection v1.7.0
    4: Natural Language Dates v0.6.1
    5: Dataview v0.5.41
    6: Mind Map v1.1.0
    7: Advanced Tables v0.17.3
    8: Calendar v1.5.10
    9: Tag Wrangler v0.5.3
    10: Periodic Notes v0.0.17
    11: Review v1.6.4
    12: Recent Files v1.3.3
    13: Folder Note v0.7.3
    14: Cycle through Panes v0.1.0
    15: Reading Time v1.1.1
    16: Icons v0.3.0
    17: Quick Switcher++ v2.0.3
    18: Extract Highlights v0.0.18
    19: Tracker v1.10.9
    20: Vantage - Advanced search builder v1.4.1
    21: Smart Random Note v0.2.1
    22: Show Whitespace v0.3.1
    23: QuickAdd v0.5.5
    24: Maximise Active Pane v0.0.3
    25: Hotkey Helper v0.3.11
    26: Discordian Theme v0.7.1
    27: Daily Activity v0.4.0
    28: Advanced URI v1.23.0
    29: Extract url content v0.12.1
    30: PlantUML v1.6.6
    31: Recall v0.1.1
    32: Sliding Panes (Andy’s Mode) v3.3.0
    33: Checklist v2.2.3
    34: Editor Syntax Highlight v0.1.3
    35: Outliner v2.3.0
    36: Copy Image and URL in Preview v1.3.4
    37: macOS Keyboard Navigation v1.1.2
    38: Templater v1.12.0
    39: Auto Link Title v1.2.5
    40: Todoist Plugin v1.9.0
    41: Hotkeys for templates v1.4.3
    42: Buttons v0.4.16
    43: Supercharged Links v0.8.0
    44: Tasks v1.9.0
    45: Style Settings v0.4.10
    46: Lumberjack :axe: :wood: v1.2.1
    47: Kanban v1.3.10
    48: Minimal Theme Settings v5.3.2
    49: Contextual Typography v2.2.4
    50: MetaEdit v1.7.2
    51: Excalidraw v1.7.8
    52: Hover Editor v0.11.2
    53: Sidebar Expand on Hover v1.0.1
    54: Commander v0.1.0
    55: Version History Diff v2.0.5

RECOMMENDATIONS:
Custom theme: for cosmetic issues, please first try updating your theme to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.


Additional information

The only similar description I’ve found was something like this user experienced: A Very serious BUG when synchronizing Win and Android
I’m trying to work out more specifics, but it’s difficult based on the “period” that needs to pass for it to happen. My best guess is that the mobile app maintains some sort of a “stale” sync state, and when that state is seen on the mobile app after opening after a long period, it actually does something in “touching” these files, but I don’t believe information is being lost or overwritten at all - more just that it’s modifying metadata around “last modified” on the files. I only noticed this recently as I created a daily log with a Dataview list of files modified on a day. One day after I had opened the mobile app (and noticed the loading screen at start - “syncing plugin data”) then seen my daily note get flooded with something like 100+ items.

Happy to dig into any specific areas of interest that can help identify this. I’m hoping when I’m home again I can also pull outputs to show from a backup I do using Git on the backend to see the changes and/or what specifically changed on the files individually. As mentioned, the only thing I really can see changing is simply the metadata at this point.

AFAIK there is nothing in my plugins that would be retro-actively modify or alter any of my files, especially not on Mobile only. Additionally worth noting, NO modifications are actually being made to the files from the Mobile app, especially not on that scale.

1 Like

There is no app-wise stale sync state.
Is this simply a case that you hadn’t open the mobile app in a long time and it was catching up?

I am not sure I understand what is the problem?
What does it mean modified metadata?
Are you using Obsidian Sync or Icloud?

It would be better if you have a single file reproducible procedure and attach some sync logs.

First off, thank you @WhiteNoise for the interest in helping here, and sorry for the confusion. I’ll try to provide a bit more detail and clarity here to spell out the primary issue and how I’ve isolated it to being related to syncing - and perhaps you can help me in how to isolate further or rule out something with Sync based on knowledge of everything at work here.

I’ll start with outlining some of the specific details:

  • Sync: iCloud Sync
  • Primary OS: macOSMonterey 12.5
  • Mobile: iPhone 13 Pro - iOS 15
  • Obsidian: 0.15.9
  • Plugins: Listed above, a bunch - but I’m fairly confident none of them are “automatically” performing any actions on my files in this sort of manner

I found out that I had an issue, based on a data view query I run in my daily notes here:

```dataview
list file.path
from ""
where file.mday = date(this.file.name) AND file.name != this.file.name AND file.cday != date(this.file.name)
sort file.mday asc
```

I’m sure you’re likely familiar with syntax, but its basically looking for files that have changed on the day that matches the date formatted name of the daily note itself. Ordinarily on most days, it works like a charm - handful of notes, maybe a dozen if im cleaning up or doing other things. I’ll focus on 2022-08-08, but on this date I noticed there was a MASSIVE amount of files listed here - around 150. Many of which I can tell your for a fact had not been modified - such as a plethora of previous daily notes shown in a screenshot here:

I don’t have a way to “prove” I didn’t modify these files to you here - but please take me at my word that most of these files beyond just these were NOT modified on that day or even any previous day within a few days of the date on that daily note (2022-08-08).

Now what I do know happened differently that day (and this has happened a few times, but I haven’t isolated a specific timeframe for it to happen) - is I opened up the mobile app on my phone, specifically in this instance to look up some information in my vault. What I noticed was on the iOS app on loading - it had a message indicating that it was waiting for iCloud to synchronize Obsidian Configuration files with a large number of files left to go. It usually shows this message briefly, but sometimes it will also have a large number to go along with it and it takes a moment like this:

Now I don’t think this may specifically be related or have to do with it - but I did notice it upon opening the app of course. Trying to be as comprehensive and complete with the details. And after having opened the app while I was downstairs, I walked back upstairs and at my computer noticed this laundry list of changed files.

Now for the extra validation that I didn’t change anything - I have a script running a git commit as a backup mechanism to always have previous versions of my files in case something gets whacky. Now that I’m home, I have been able to pull up the Git history for that day and can confidently indicate as well that nowhere in the hours leading up to the day, that day, or the day following - did these files get modified. They were not part of a git commit, and show no diff with changes.

Identifying the actual change - I can see that the files that are shown as changed, do have a file timestamp indicating that the files WERE changed on the date in question. So it’s as if something went through and did a “touch” on every single one of these files for some reason. But the file content has not changed.

Is this simply a case that you hadn’t open the mobile app in a long time and it was catching up?

While it is a “haven’t opened in awhile” situation - I don’t understand why the mobile app catching up, would actually touch all these files and indicate they changed? It’s not like they were open on the mobile device and didn’t get to sync their changes for example.

It would be better if you have a single file reproducible procedure and attach some sync logs.

I’m a software sales engineer by trade, so I 100% agree and would love to isolate it into a reproducible scenario - the problem is I haven’t been able to identify a solid timing to know when it does/n’t happen, and unfortunately I can’t NOT use my mobile device to let the time span go longer at times if I need the information in my vault while away from my computer. So I have tried to document as much detail as I can.

Is there a way to get sync logs or enable some other type of logging in the vaults to be able to help me try and get a log when I see it happen again? Or any type of advanced work that would be needed - as I said, I’m quite technical so I can take advanced instructions if there is an option beyond “basic” troubleshooting.

Maybe it was Obsidian, maybe it was plugin, maybe it was a icloud, maybe something else.

At the moment we (as Obsidian) do not provide guarantees on the file metadata (even though we try to preserve it when we can). Files metadata are fragile and I don’t recommend you rely on them. Move this thread to help.

About sync and backup our Obsidian vault, I would like to share some experience. I use Obsidian on iPad and iPhone only. But this work on Mac too.

  • An Obsidian vault sync through iCloud beetwen two devices do not work well on 4g network. In other words, it won’t sync if iPhone is connected to 4G only, or iPhone turn into a personal hotspot to connect iPad to network. Things i changed on iPad don’t appear on iPhone.
  • But if a same note open on both device, and both device connecting on Wi-Fi, then everything back to sync almost instantly and i can see the note change right away in real time.
  • So after realize that, plus rarely for some unknown reason my vault getting stuck at loading screen long time ago, i decide to not only relies on iCloud sync anymore. Once a week, a manually create a zip to backup my vault.
  • And i also found an app called “Sync Folders”. Setup sync mode A—>B, with all checking option. Click sync button two time to make sure everything in my vault getting backup. If anything go wrong, i chose sync mode B—>A to push that backup to iCloud vault to fix it. This is a fast, easy, reliable way to sync and backup my vault.
  • So, i suggest if you vault function normally and perfect, then use my way to back it up. Anytime anything getting ugly, weird or go wrong, just push your backup to fix it right away in one click. It doesn’t matter how large or how much file in your vault, it syncing like crazy good.
    image