Dropbox inconsistent syncing issue

OS: Mac and Android
Version: 1.0.21 (Mac), 1.0.324 (Android | Tablet), 1.0329 (Android | Phone)

I’m having trouble locating where the database file is on Android. I’m having syncing issues between devices, with my mac unable to load the notes through Dropbox, but my tablet being able to perfectly. My phone is also having issues and is only getting a very small subset (<1%) of the notes.

I’m not clear on how Dropbox stores Joplin files, since I cannot find the files in my dropbox, yet syncing on my tablet was successfully able to get all the notes. Furthermore, I do not even have Dropbox on my tablet, yet my sync target on that device is Dropbox. I’m very unclear on how this whole process is working, and am interested in clarification on how it works.

I have gone through the documentation and the forums and have come up empty handed

Edit: made title focused accurate to the problem

In Dropbox your data is stored in Apps/Joplin. Android app (and any other for that matter) uses Dropbox REST API do download notes/attachments and stores notes in sqlite database and attachments in .resources directory somewhere.

On Android these would be in the app’s directory somewhere under /data – you won’t be able to accesss these files without rooting your device.

Can you find a note that is not synced to your phone or tablet, get its ID (in note properties) and then find the corresponding file in Dropbox (will be named <ID>.md). This will tell whether the issue is with uploading or downloading.

1 Like

Hey roman_r_m, thanks for the response! Your explanation makes sense, and it’s good to have that extra insight.

I’ve checked out note properties on my Android phone, but there is no ID to be found there. When I look in dropbox/Apps/Joplin, there are only about 30 md files there, yet as I mentioned, my tablet has successfully gotten all the notes. Do you have any insight on this? Does this not imply that the issue is with downloading, since my tablet gets the files?

Is there anything else we can do to check where the issue lies?

You can use the "Copy Markdown link" function -- when you paste the result somewhere it'll look like this [note title](:/note id) and you can get the id from there.

That's really strange. I'm sure you've checked this already but the only possible explanation I can think of is your tablet using some other way of syncing, maybe another dropbox account or some other way entirely.

Btw when you say you look in dropbox/apps/joplin are you looking at dropbox dir on your computer? Any chance it might be out of date somehow?

Hey roman_r_rm, thanks for the continued help.

I finally figured it out! You were right in assuming that I already checked if I had used a different account already. However, I had a 3rd email that I use for Google logins exclusively, and never use that for accounts. It turns out that this was the account I apparently have been using for dropbox sync all along. There are some interesting things to note here:

  1. I was not signed into this gmail account for dropbox on my Mac, yet somehow it was syncing anyway
  2. I don’t have dropbox installed on my tablet. This is what kind of made me realize that it was in fact that gmail account that was responsible here, since that was the only account I’d ever signed into on my tablet. Nonetheless it is interesting that even though you don’t have dropbox on your Tablet, you can still sync. I suppose this makes sense with your previous comment that Android joplin just connects via a REST api (I think?).

These are good things to understand and consider for anyone who may stumble upon this thread in the future.

Thanks again for your help!!

Great, thanks for confirming.

You don't need to be logged in your dropbox account or have the app installed. You might remember when you first set up synchronization Joplin it would redirect you to log on to dropbox and confirm you allow joplin access to your account (or rather judt one folder in your account).
Dropbox then gives you a token which Joplin stores and that token is all that's needed to sync.