Local note encryption - week 6

Hey everyone, week 6 update.

Most of this week went into the note lock session PR: Mobile, Desktop, Cli: Resolves #15772: Update note lock session state by keshav0479 · Pull Request #15773 · laurent22/joplin · GitHub

This is the piece I mentioned last week. Instead of notes unlocking on a timer, there is now a clear locked and unlocked state: you unlock encrypted notes when you want to read them and lock them again when you are done, with an optional setting to lock again when you switch notes.

While reworking it I also tightened how the decrypted key is handled. It is only kept around for as long as an operation actually needs it, and anything that writes a note now fails safely if the key changed underneath it, for example right after a password reset. Better to stop than to save something encrypted with the wrong key.

Alongside that I started the desktop side: the settings screen for note lock, where you set up the password, change or reset it, and turn on locking when switching notes. It is still going through review, and a couple of rounds of mrjo's feedback have already made it simpler.

Next I'm carrying on with the desktop lock UI, the unlock flow and lock button, and then starting the smaller mobile settings screen.

More next Friday :slight_smile:

More frequent updates are here: Local note encryption / Keshav

6 Likes