We sync using Joplin's filesystem sync and an external sync tool. Sometimes things get messed up. Sometimes another persons edits are not synced to my machine. (Maybe some rare sync conflicts are also related.) Most recent case: yesterday.
I figured out that "touch *" (bash command) in the filesystem sync folder motivates Joplin to reexamine all the files. Missing notes appear. But is there a better way than this workaround? Maybe enable Joplin to be more thorough in examining sync files (as after "touch *"), e.g. only at startup???
Wild conjecture: Joplin looks at the change date of the files in the sync folder and ignores anything before the last sync. The external sync tool creates files with original change date. Depending on timing of both Joplin's sync and sync tool's sync across machines, Joplin may ignore some "old" sync files. - To be clear, none of this is confirmed (except for "touch *" helping).
(More info: Both clients Win10. Joplin version was maybe not up to date on one machine. Sync is encrypted.)
Looking forward to any feedback.
PS: Thanks for all your effort in creating and maintaining Joplin!
Joplin indeed relies on the file timestamps so they need to be accurate. I don’t know what caused your particular bug but if you can replicate it consistently, we can a look at it.
I believe I have a similar issue, I am using Synology cloudstation to sync the files between desktop and laptop, joplin note file store in the local HDD, if I make change on the note, it may not sync to the other PC, sometimes partially sync.
To test, I’ve tried to delete all notes on laptop and sync again to make sure it have the latest note, however, it still display the old file, I am not sure where this file is saved or there is a way to clear all the cache?
As this topic is a bit old, just to clarify, I still have this issue. It keeps happening repeatedly. I still don’t have more detailed insight. My conjecture stands, however, that Joplin might ignore changes to the file system sync files that are (a bit?) too old according to file timestamp.
I am not goo don Linux, can you explain the “touch” trick?
“touch *” updates the timestamp of all files to now. After that Joplin’s sync will reevaluate all files in the file system sync folder.
In windows, you can use things like git bash or cygwin to get the touch command - or apply any other (native) way to update file timestamps.