Decryption is so slow on Android (2 minutes per 1MB note) that it makes E2EE unusable

My setup:

  • joplin cloud, Pro account, with Encryption enabled
  • sample dataset of 300 notes, approx 1 image file per note, approx 500MB total, 1-2MB per note
  • main desktop app is on Mac (2.11.11)
  • android device is a fast tablet (Boox Tab Ultra) released end of 2022, also tried a different android device, same issue
  • android app version is the latest stable one (2.11.32)

Steps:

  • started with an empty dataset on the Mac app, enabled encryption
  • added the 300 notes from the Mac app, sync ok and fast
  • setup Android app and encryption, sync ok and fast but decryption of items is super slow, takes hours and hours

Thanks to the "sync status" stats (super helpful! good job here :blush:) and its "Downloaded and encrypted" and "Downloaded and decrypted" counters I was able to follow what was happening on my Android device. Sync itself was fast and ok. But local decryption takes forever. I noted down those stats every hour or so, and basically decryption takes easily 2min+ per item, which is not normal. Decryption of a 1MB file should take a fraction of a second afaiu not several minutes.

This totally ruins E2EE from the start for me. This 500MB dataset is just a sample of my 10GB dataset that I was using to test the waters with Joplin. I am a Evernote power user jumping ship.

Should I just give up about E2EE and enable it again in a few months/years when it becomes usable on Android?

Other than that everything seems ok so far. I am very grateful this app exists.

Thanks

PS: Suggestion: when decrypting takes more than (1 second maybe), add a line about it in the logs, specifying the total duration of the item decryption and the item file size. That would help better understand and report about decryption performance.

Maybe it's stuck decrypting particularly large items? Then once it's done, the rest should be fast. I've used E2EE on Android devices 5 years older than that and never had such issue, so not sure what's specific to your data. Is there any error in the log?

1-2MB per note is indeed only the average for my 300 notes. The largest note is 18MB, 4 notes only are above 10MB and 90 notes are above 1MB. What would you consider "particularly large items"?

I see some errors in the log, "Aborted deletion of old revisions - Error: one of the revisions to be deleted is encrypted" but it seems related to a RevisionService maintenance job, I don't think it is related to my issue but I may be wrong.

I let it run on and off for four hours already. I suspect the decryption no longer happens when the app is in the background but I let it on the foreground for most of the four hours.

Strangely the same decryption was much faster on a much older Android device of mine (a Yotaphone 3+, released 2017). When I say faster I mean 2x+. It completed in less than two hours.

Some more stats: 290 notes, 300 resources, 3 folders, 0 tags, 0 notetags, 11 revisions, total 604.

After four hours, only 120 items are decrypted, 177 are still encrypted.

Hmm, yes now that I'm checking on my device it seems to be slower to decrypt. We did change the encryption method from AES-128 to AES-256 but I wouldn't think it could make the decryption that much slower

I am disabling E2EE for now (I really wish I did not have to). I will keep a close eye on the changelog for E2EE related changes and as soon as some performance improvement is implemented I will stress test it again with a sample on a secondary account thanks to the "Multi profile" feature. Have a nice weekend.

This has been converted to a GitHub issue:

We'll try to resolve this by version 2.12.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.