laurent22 / joplin

Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.
https://joplinapp.org
Other
46.1k stars 5.02k forks source link

Synchronization to Android takes long and doesn't sync tags #9110

Closed leo-carmo closed 1 year ago

leo-carmo commented 1 year ago

Greetings,

Foreinfo

I made the decision to move on from Evernote after 11 years using it. Joplin is the appealing option. I'm giving it a thorough try, with all the goodwill.

To shorten the story, I installed the desktop version on Windows 10 and the Android version on my phone. I imported my .enex Evernote notebooks onto the desktop app, then I set the encryption, then I set the sync to OneDrive.

All set, I installed the Android app. First, I deleted the five default, pre-populated welcome notes (since they're already on the desktop), after which I went ahead on the settings and had it begin syncing with OneDrive. That's when the

Problems

began. They are:

  1. There is no way to leave Joplin syncing on the background. The app must be active all the time. Eventually, the phone will lock, and upon unlocking the screen, you'll be disappointed to see there was no progress.
  2. The notices on the lower left regarding the sync process are cryptic. We can't make sense of the numbers or the definitions:
    • "Created local items: 120" <-- 120 out of how much? What exactly is an item? A note, an attachment or either?
    • "Fetched items: 120/150" <-- the second number keeps growing. We can never know the real ETA. Same for the third line ("Fetching resources").
  3. The messages above also sometimes display a nonsensical event: "created remote items: [a number]". Nonsensical because I am positive that I did not modify or create any new notes on Android prior to syncing, so I don't know why it created 'remote' items.
  4. The whole sync process to the phone took a long time, over six hours. It's about 2000 notes and 1000 images or pdfs in total. In perspective, that's not an excessive amount; on Evernote, when I installed on a freshly-installed Windows, it took no more than 10 minutes to sync it all from Evernote's servers; OneDrive shouldn't lag that much behind.
  5. Even after all notes being seemingly present, I was disappointed to see the tags were not imported. This is not a new thing: No Tags in Android App.
  6. I tried uninstalling Joplin from Android, deleting all local data and then reinstalling and syncing again, this time continuously, with Android's developer options enabled so that the phone could remain with the screen on while charging. This time, the tags (about 200) were there.
  7. Hours later, I checked Joplin on Android. To my shock, the notes were there, but the tags were gone, all but the first 7, in alphabetical order.

Environment

Joplin version: 2.12.13 Platform: Android OS specifics: Android 13, One UI 5 on a Samsung Galaxy phone; desktop version is 2.12.18 on Windows 10.

Steps to reproduce

  1. Install Joplin on Windows desktop.
  2. Import .enex files exported from Evernote.
  3. After your notes tree is built, go to Options -> Encryption, set a master password.
  4. Set the sync options on Sync settings -> Synchronization target: OneDrive.
  5. Follow the steps on screen to login into OneDrive.
  6. Watch the sync progress.
  7. [Optional] launch a Linux virtual machine, install Joplin, go to options, specify the sync service (OneDrive, in my case), and let it download your notes until you have a mirror of the Windows desktop setup.
  8. Verify that the tags on the notes imported from Evernote are present on the desktop; if you followed the previous step, check on the guest OS too.
  9. Install Joplin on Android.
  10. Delete the five welcome notes.
  11. On the configuration screen, select OneDrive as the synchronization target.
  12. Follow the steps to authenticate.
  13. At some point, you'll be prompted to insert the decryption password, do it.
  14. Hit the sync button.
  15. Plug the charger on your phone and, leaving the screen on (use the Android developer options to enabled it if necessary), go to sleep and let it sync.
  16. You'll see your notes, but no tags imported..
  17. Wait a few hours. From this point on, things get blurry. The tags will still be nowhere to be seen.
  18. Eventually you'll see the tags got imported, but don't get cozy.
  19. Wait a few hours again.
  20. The tags will be gone. Maybe a small portion remains.

Expected behaviour

  1. Synchronization taking place in a timely manner, not hours;
  2. Tags being properly imported and sticking to the Android app.

Logfile

I wish. The log button just displays the raw log but with no option to export or share. I can only toggle "all" or "errors only". Looking closely, I see the contents are gibberish consistent with encryption (I even saw some "begin RSA public key").

laurent22 commented 1 year ago

OneDrive is slow. You'll get better performances using Joplin Server

leo-carmo commented 1 year ago

OneDrive is slow. You'll get better performances using Joplin Server

Laurent! Thanks for your response!

Ok, but why exactly? I understand Joplin Server might be a fine solution, but right now I can't be spending much; that's why I moved from Evernote to begin with. I ask because, for the regular sync activities, OneDrive has a decent transfer speed; I have hundreds of thousands of files in approx 500GB and in hours I can sync them. My Joplin data set, on the other hand, isn't that large: ~2GB in 2000 notes plus some attachments.

Still, the tags-showing-up-then-going behaviour is worth looking at IMHO.

When possible, I would suggest giving a tweak to the messages displayed on the sync notice on the bottom left; they're a bit confusing. =)

laurent22 commented 1 year ago

Joplin creates a lot of small files and it's possible that OneDrive isn't quite optimised for this, and maybe they throttle the connection too after a while. Once the initial sync is done, sync should be reasonably fast.

The tag issue I don't know, you need to make sure that all data is fully synced and if you have any errors we'd need to see the log.

leo-carmo commented 1 year ago

Joplin creates a lot of small files and it's possible that OneDrive isn't quite optimised for this, and maybe they throttle the connection too after a while. Once the initial sync is done, sync should be reasonably fast.

The tag issue I don't know, you need to make sure that all data is fully synced and if you have any errors we'd need to see the log.

I see, it indeed creates a lot of files, as seen in the properties for the two Windows folders, respectively: C:\Users\me\.config\joplin-desktop Joplin 1 (Arquivos = files; Pastas = folders) and C:\Users\me\OneDrive\Apps\Joplin Joplin 2

But, on average, those files inside the second Joplin folder are 133KB in size. I don't think OneDrive would have a problem handling those. Also, I don't understand why the two folders are so different. I thought the one under OneDrive should reflect the one inside the userfolder/.config.

As for the log, I don't see a way to export it, and right now the Joplin site is down so I can't check the docs about it, but scrolling a bit, I found this interesting piece that I could take a screenshot of my phone: Screenshot_20231024_030000_Joplin

Any thoughts about how this could be the problem interfering with importing the tags?

leo-carmo commented 1 year ago

Just to let be known that, after a while, the tags synchronized to the Android app. :)

yarnairb commented 10 months ago

I am new Joplin user who has almost the exact scenario as the OP but I am using the Joplin cloud server. I still have the same painfully slow sync speed to my android device. I am on the fast wifi in my home. In contrast I can edit an Evernote note on my desktop then have the changes appear on my android tablet in near real time. I'm switching anyway because having the cost of Evernote go from $37 -> $50 -> $130 in 3 years is too much to take. Next year it will be $200