All files deleted on android application. DeleteAction: sync: deleteLocal

Operating system

Android

Joplin version

3.2.7

Sync target

Nextcloud

What issue do you have?

Hi,

Recently Joplin deleted all of my notes on my android application. I am synchronizing my notes to nextcloud. Luckily the files are still on cloud, but the application does not synchronize them to android again. I do not know how to import them without manually clicking on import on each of them. Can you please help me out.

Log:

04-06T19:48:22: checkDisabledSyncItemsNotification: No errors: Hiding notification
04-06T19:48:22: Synchronizer: Total folders: 0
04-06T19:48:22: Synchronizer: Total notes: 3
04-06T19:48:22: Synchronizer: Total resources: 310
04-06T19:48:22: Synchronizer: Operations completed:
04-06T19:48:22: Synchronizer: fetchingTotal: 14
04-06T19:48:22: Synchronizer: fetchingProcessed: 14
04-06T19:48:22: Synchronizer: deleteLocal: 14
04-06T19:48:22: Synchronizer: Sync: finished: Synchronisation finished [1743961700781]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder0"; Item IDs: ["c88a6d0d32c643668a62872967ec76cc"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder1"; Item IDs: ["7f073e906afd4148afd699add745450f"]
04-06T19:48:22: root: root.biometrics: biometricsDone
04-06T19:48:22: root: root.biometrics: biometricsEnabled
04-06T19:48:22: root: root.biometrics: shouldShowMainContent
04-06T19:48:22: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder2"; Item IDs: ["3a54442b347e443d9a0dc5ebf39b7273"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder3 Notes"; Item IDs: ["31a3fdd2fe1c4d028aa1579841054953"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder4 - MCU and drivers"; Item IDs: ["a3997c25e7894139bd9e2c6c6780c144"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder5- Embedded Systems Programming on ARM Cortex"; Item IDs: ["62274c527b594027a90e6f0c4d17cbca"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder6 Processing"; Item IDs: ["eb66ea30838744acbe4a5a34c362a0bf"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder7"; Item IDs: ["7d0936ae70e74382be7fd302775e4b2b"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder8"; Item IDs: ["7806c891128b47b2a8d405e38d40545c"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder9 Processing Fundamentals"; Item IDs: ["13ec049ece78440d83da5972606b85de"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder10!"; Item IDs: ["d5a14e3b0ccb4e5294a000207eff770e"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder11!"; Item IDs: ["2b2a64b401e24428b6aa93e3015dcdf2"]
04-06T19:48:22: root: root.biometrics: biometricsDone
04-06T19:48:22: root: root.biometrics: biometricsEnabled
04-06T19:48:22: root: root.biometrics: shouldShowMainContent
04-06T19:48:22: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder12's Notebook"; Item IDs: ["1b591a533923437ba7d197d32b7f5f81"]
04-06T19:48:22: DeleteAction: Sync: folder title: "Folder13"; Item IDs: ["12bc8ec6a87543a5aa79659759fd2a52"]
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local c88a6d0d32c643668a62872967ec76cc): (Remote c88a6d0d32c643668a62872967ec76cc.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 7f073e906afd4148afd699add745450f): (Remote 7f073e906afd4148afd699add745450f.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 3a54442b347e443d9a0dc5ebf39b7273): (Remote 3a54442b347e443d9a0dc5ebf39b7273.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 31a3fdd2fe1c4d028aa1579841054953): (Remote 31a3fdd2fe1c4d028aa1579841054953.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local a3997c25e7894139bd9e2c6c6780c144): (Remote a3997c25e7894139bd9e2c6c6780c144.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 62274c527b594027a90e6f0c4d17cbca): (Remote 62274c527b594027a90e6f0c4d17cbca.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local eb66ea30838744acbe4a5a34c362a0bf): (Remote eb66ea30838744acbe4a5a34c362a0bf.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 7d0936ae70e74382be7fd302775e4b2b): (Remote 7d0936ae70e74382be7fd302775e4b2b.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 7806c891128b47b2a8d405e38d40545c): (Remote 7806c891128b47b2a8d405e38d40545c.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 13ec049ece78440d83da5972606b85de): (Remote 13ec049ece78440d83da5972606b85de.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local d5a14e3b0ccb4e5294a000207eff770e): (Remote d5a14e3b0ccb4e5294a000207eff770e.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 2b2a64b401e24428b6aa93e3015dcdf2): (Remote 2b2a64b401e24428b6aa93e3015dcdf2.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 1b591a533923437ba7d197d32b7f5f81): (Remote 1b591a533923437ba7d197d32b7f5f81.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: Sync: deleteLocal: remote has been deleted: Folder: (Local 12bc8ec6a87543a5aa79659759fd2a52): (Remote 12bc8ec6a87543a5aa79659759fd2a52.md)
04-06T19:48:22: Synchronizer: Sync: fetchingProcessed: Processing fetched item
04-06T19:48:22: Synchronizer: supportsDeltaWithItems =
04-06T19:48:22: Synchronizer: Sync: fetchingTotal: Fetching delta items from sync target
04-06T19:48:22: Synchronizer: BasicDelta: Report: {"timestamp":1743961680000,"older":735,"newer":0,"equal":2}
04-06T19:48:21: Synchronizer: TaskQueue.stop: syncDownload: waiting for tasks to complete: 0
04-06T19:48:21: Synchronizer: TaskQueue.stop: syncDownload: Done, waited for 0
04-06T19:48:21: Synchronizer: Sync target local info: {"version":3,"e2ee":{"value":false,"updatedTime":0},"activeMasterKeyId":{"value":"","updatedTime":0},"masterKeys":,"ppk":{"value":null,"updatedTime":0},"appMinVersion":"3.0.0"}
04-06T19:48:21: Synchronizer: Sync target remote info: {"version":3,"e2ee":{"value":false,"updatedTime":0},"activeMasterKeyId":{"value":"","updatedTime":0},"masterKeys":,"ppk":{"value":null,"updatedTime":0},"appMinVersion":"3.0.0"}
04-06T19:48:21: Synchronizer: Sync target is already setup - checking it...
04-06T19:48:21: ResourceService::indexNoteResources: Completed
04-06T19:48:20: Synchronizer: Indexing resources...
04-06T19:48:20: ResourceService::indexNoteResources: Start
04-06T19:48:20: Synchronizer: Sync: starting: Starting synchronisation to target 5... supportsAccurateTimestamp = false; supportsMultiPut = false} [1743961700781]
04-06T19:48:20: root: root.biometrics: shouldShowMainContent
04-06T19:48:20: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:20: root: root.biometrics: biometricsDone
04-06T19:48:20: root: root.biometrics: biometricsEnabled
04-06T19:48:20: Starting scheduled sync
04-06T19:48:20: Preparing scheduled sync
04-06T19:48:18: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:18: root: root.biometrics: biometricsEnabled
04-06T19:48:18: root: root.biometrics: shouldShowMainContent
04-06T19:48:18: root: root.biometrics: biometricsDone
04-06T19:48:16: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:16: root: root.biometrics: biometricsDone
04-06T19:48:16: root: root.biometrics: biometricsEnabled
04-06T19:48:16: root: root.biometrics: shouldShowMainContent
04-06T19:48:12: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:12: root: root.biometrics: shouldShowMainContent
04-06T19:48:12: root: root.biometrics: biometricsEnabled
04-06T19:48:12: root: root.biometrics: biometricsDone
04-06T19:48:11: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:11: root: root.biometrics: biometricsEnabled
04-06T19:48:11: root: root.biometrics: shouldShowMainContent
04-06T19:48:11: root: root.biometrics: biometricsDone
04-06T19:48:08: SearchEngine: Updated FTS table in 38ms. Inserted: 0. Deleted: 0
04-06T19:48:08: Updating items_normalized from {"updated_time":0,"id":""}
04-06T19:48:08: SearchEngine: Updating FTS table...
04-06T19:48:08: DecryptionWorker: cannot start because no master key is currently loaded.
04-06T19:48:07: Updating all notifications...
04-06T19:48:07: Garbage collecting alarms...
04-06T19:48:07: root: root.biometrics: biometricsDone
04-06T19:48:07: root: root.biometrics: biometricsEnabled
04-06T19:48:07: root: root.biometrics: shouldShowMainContent
04-06T19:48:07: root: root.biometrics: this.state.sensorInfo {"enabled":false,"sensorsHaveChanged":false,"supportedSensors":""}
04-06T19:48:07: checkDisabledSyncItemsNotification: No errors: Hiding notification
04-06T19:48:07: Synchronizer: Total folders: 14
04-06T19:48:07: Synchronizer: Total notes: 3
04-06T19:48:07: Synchronizer: Total resources: 310
04-06T19:48:07: Synchronizer: Operations completed:

I tried:

  • deleting all files (cache, data) and reinstalling the app. Delete all initial files that come with Joplin.
  • copy clean Joplin snapshot from server to some folder on server.
  • configure Joplin app synchronization to start synchronizing from that location.
  • After synchronization, nothing happens. No files are shown on the App.

I went then to some other snapshot of the server prior with same result.

On server side I can see the following structure:

  • locks folder that is empty.
  • temp folder that is empty.
  • bunch of .md files
  • info.json

Not sure if important or not, but when the deletion occurred, I was having a phone call and during the call I wanted to access the note on Joplin. Then as I opened the application the deletion started.

Do you have a computer / laptop? Can you try downloading this structure after restoring one of your snapshots, put it in a folder on a pc, then attempt to sync to the directory on Joplin desktop using the file system sync method?

If you are able to restore your notes this way, then you can export them all as a jex file and use that to import them back onto your profile syncing with Nextcloud

I tried, with same result. But I found a different solution, I have some older copy of my files in desktop Joplin. Here I exported files and then imported them to android version and I think I actually did not lose anything.

I am not sure what really happened, it could also be that there was some conflict on nextcloud ... But I did not temper with default setting for synchronization. But I learned my lesson and will try to do backup also via Joplin export. Is see that desktop version has backup option or maybe I can do something with cron and CLI sync -> export.

Thanks for the help. If any logs are needed or some other tests then let me know. But on my part, I have the solution.

1 Like