Synchronization broken how to recover

Operating system

Windows

Joplin version

3.2.12

Desktop version info

Joplin 3.2.12 (prod, win32)

Client ID: 535a556699144fa590a7d99171622c2e
Sync Version: 3
Profile Version: 47
Keychain Supported: No

Revision: d6f1ca4

Freehand Drawing: 2.14.0

Sync target

OneDrive

Editor

Markdown Editor

What issue do you have?

Both desktop and Android app fail to sync to OneDrive complain about something but not clear which note.
I ended up with different versions of notes on Desktop and on mobile, so I can't use "Delete local data and re-download from sync target" or "Re-upload local data to sync target" because something will be lost either way, and it's not clear what, so I can't even backup and restore later.
How to recover from this situation?

Attachments
Not downloaded: 0
Downloading: 0
Downloaded and decrypted: 21
Downloaded and encrypted: 0
Created locally: 4542
Error: 0
Sync status (synced items / total items)
Note: 1854/1854
Folder: 4/4
Resource: 4563/4563
Tag: 45/46
NoteTag: 1024/1054
Revision: 463/466
Total: 7953/7987
 
Conflicted: 0
To delete: 0

I used "Export debug report", on desktop all it shows is rows like this which is not very helpful:

type,id,updated_time,sync_time,is_conflict
1,5333047d9ec442c19aa7c8eadb01267c,1737422221265,1737422221265,

I see the log lists that everything has changed, all 2000 notes, but this is incorrect, I have perhaps touched only 1 note:

2025-03-02 00:01:16: Synchronizer: Sync: updateRemote: local has changes: Resource: (Local 4a1b51ce86d08a4ff9636e95f7ad5498): (Remote 4a1b51ce86d08a4ff9636e95f7ad5498.md)
2025-03-02 00:01:18: Synchronizer: Sync: updateRemote: local has changes: Resource: (Local ab62b077b3206617468c3fee8abdac0c): (Remote ab62b077b3206617468c3fee8abdac0c.md)
2025-03-02 00:01:19: Synchronizer: Sync: updateRemote: local has changes: Resource: (Local bf2f4b7bd87bf6855366f1071061c9cb): (Remote bf2f4b7bd87bf6855366f1071061c9cb.md)
2025-03-02 00:01:20: Synchronizer: Sync: updateRemote: local has changes: Resource: (Local 01147605ae8fe42a5dfc72f6d73211a6): (Remote 01147605ae8fe42a5dfc72f6d73211a6.md)
2025-03-02 00:01:22: Synchronizer: Sync: updateRemote: local has changes: Resource: (Local e6165456c889e1c76c6e36e79cbc7838): (Remote e6165456c889e1c76c6e36e79cbc7838.md)
....
2025-03-02 00:06:46: Synchronizer: Sync: finished: Synchronisation finished [1740891666357]
2025-03-02 00:06:46: Synchronizer: Operations completed: 
2025-03-02 00:06:46: Synchronizer: createRemote: 1
2025-03-02 00:06:46: Synchronizer: updateRemote: 193
2025-03-02 00:06:46: Synchronizer: Total folders: 4
2025-03-02 00:06:46: Synchronizer: Total notes: 1854
2025-03-02 00:06:46: Synchronizer: Total resources: 4563

</style><div id="sw_content"><div class="panda" data-tag="bing_panda"><img src="data:image/png;base64,iVBORw0KGgoAAAANSU...=="/></div><div class="title">Something went wrong</div><div class="sc_error"><p>This is a temporary issue, so try again in a few minutes.</p></div>
<div class="sc_errD" data-tag="refcode"><p>Technical details [SpoGrMSIT]:</><p>Ref A: 7B1AF0078DAA49FDA2CD0B6A1AE8384A Ref B: BL2AA2010201007 Ref C: 2025-03-02T05:06:26Z</p></div><div class="bing_logo"></div></div><!--AppServer--></body></html></body></html>
    at OneDriveApi.oneDriveErrorResponseToError (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\onedrive-api.js:121:28)
    at OneDriveApi.exec (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\onedrive-api.js:328:36)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async OneDriveApi.execText (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\onedrive-api.js:425:26)
    at async FileApiDriverOneDrive.get (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\file-api-driver-onedrive.js:113:21)
    at async tryAndRepeat (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\file-api.js:52:28)
    at async Synchronizer.apiCall (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\Synchronizer.js:338:28)
    at async Synchronizer.start (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\Synchronizer.js:582:49)
    at async timeoutCallback (C:\Users\dima\AppData\Local\Temp\2s3Bv3Vqmle0h34XzEtDRo89wZF\resources\app.asar\node_modules\@joplin\lib\registry.js:125:52)
2025-03-02 00:06:46: checkDisabledSyncItemsNotification: No errors: Hiding notification
2025-03-02 00:06:47: DecryptionWorker: starting decryption...
2025-03-02 00:06:47: DecryptionWorker: completed decryption.
2025-03-02 00:08:03: useFormNote: Sync has finished and note has never been changed - reloading it
2025-03-02 00:09:24: RevisionService: maintenance: Starting...
2025-03-02 00:09:24: RevisionService: maintenance: Service is enabled
2025-03-02 00:09:25: RevisionService: collectRevisions: Created revisions for 2 notes
2025-03-02 00:09:25: RevisionService: maintenance: Done in 170ms
2025-03-02 00:09:25: OcrService: Found 0 resources to process...
2025-03-02 00:09:25: OcrService: 0 resources have been processed.
2025-03-02 00:14:25: OcrService: Found 0 resources to process...
2025-03-02 00:14:25: OcrService: 0 resources have been processed.

On OneDrive, in the App folder is there both a 'Joplin' folder and a 'Graph' folder, or possibly multiple 'Graph' folders with a number at the end?

No, there's only 1 Graph folder.

I also see that it's syncing, at least some files, judging by timestamps

However I have notes that are different in Desktop and on Android, and one is not later than the other, in other words I can't just delete from one place and sync from the other because they have different sets of data.

A related question is: if I connect my phone to the computer - can I replace JoplinProfile folder from one place to another - are they interchangeable?
I can run sqlite queries and probably determine the intersection/diff of data, and do manual inserts I guess - would that be the best way?
Or does Joplin offer any other way to resolve this.
The question of how it ended up like this is separate.

Thank you for your reply.

Something else that I noticed: for some reason there are 2 encryption keys.

1.I have no idea why there are two, I never changed the password. I did update Android OS if this is relevant.
2.Desktop shows that a30dac is active
3.Android does not make it clear which key is active, but if it's the one on top - it doesn't match the desktop.

This is desktop:

This is Android:

An update:
1.I deleted the key a30dac, and was able to sync several times on both desktop and Android, and notes synced up.
TBD: how did I end up with 2 different encryption keys without any action on my part.

2.I still show that yellow "Some items cannot be synchronized" message on Android, and can't figure out how to get rid of it. I deleted this file from the desktop, and synced - how can I clear it up from Android ? This file acc7c* does not exist either on the desktop (I deleted it from Resources), and not on OneDrive

You can end up with 2 encryption keys if you enter the master password before you connect to a sync target which already has notes synced to it. When you set up a new client, you should set up sync first and then enter the master password when prompted instead.

For the sync error on Android, if you say that you have intentionally deleted that file, you can press the ignore button if there is one on the screen with the retry buttons?

Thank you for your reply.
Re: 2 encryption keys - this was not what happened. I have setup encryption properly like you describe some months ago when I started using Joplin, and never touched it since.
So, it's still a mystery how I ended up with 2 encryption keys.

For the sync error in Android, there's no ignore button.
I deleted from all tables in sqlite where I saw that resource_id mentioned, and then followed the joins to other tables and delete from them, not sure if I cleared it up completely or not, this was tedious and risky exercise.
But looks like what I had to do instead was go to OneDrive, find that acc7c* file, and delete from there, and sync both desktop and Android.
After that the error disappeared.
Now, I will try restoring that note that caused the issue

1 Like