cryptag / leapchat

Ephemeral, encrypted, in-browser chat rooms
https://www.leapchat.org/
Other
184 stars 32 forks source link

Implement DB schema to support todo lists and tasks #264

Open elimisteve opened 1 year ago

elimisteve commented 1 year ago

Some considerations:

It would be nice to be able to hide from the DB...:

Task titles tend to be small, and thus encrypted tasks will be small (if there are no task descriptions), so maybe just re-encrypt a task every time its assignee or done status changes? Because then the assignee and done status can be stored as metadata stuffed into the filename field, which is where chat messages store who they're from.

Or the status and assignee of a task could simply be stored encryptedly in other blobs, but then tasks wouldn't be as self-contained; there'd be multiple columns per task. That isn't the end of the world, but... it's less elegant. Plus decrypting 3+ small blobs per task will be a lot slower than decrypting 1 slightly larger blob per task that simply contains all the fields. That means that doing what I described above would likely lead to faster app startup times, which is an important thing to optimize for.