HomePhabricator
Diffusion Comm 05fcbdfc1ef4

Refactor olm-session-updater to enable to conditionally skip database content…

Description

Refactor olm-session-updater to enable to conditionally skip database content update

Summary:
This differential refactors olm-session-updater so that oit takes optional lambda that tells, based on post encryption content, whether session state at the database should be updated. This will come in handy in a case when we are not sure
whether we will send encrypted data to somebody until we see encrypted content. An example will is teh case of large notifications. Before we decide whether we want to send full notification paylaod or blob ash with encryption key we must encrypt
notification. But if we encrypt notification, then decide to upload it to blob service and send to the client encrypted AES key with blob hash, the client will have to skip one olm key and will keep skipped key forever. However with the changes
introduced in this diff we can easily pass lambda that tells olm-session-updater not to update olm session if notification after encryption is larger than limits. This way we will encrypt AES key and blob hash with the same olm key that we initially
used to encrypt original notification and the client won't have to skip any key.

Test Plan: Currently this feature is not used so the test plan is to check that encrypted notifications work properly without any issues

Reviewers: tomek, bartek, kamil

Reviewed By: bartek

Subscribers: ashoat

Differential Revision: https://phab.comm.dev/D8588

Details

Provenance
marcinAuthored on Jul 21 2023, 2:33 AM
Reviewer
bartek
Differential Revision
D8588: Refactor olm-session-updater to enable to conditionally skip database content update
Parents
rCOMM54034056bcd6: [web] Fix nav info validator
Branches
Unknown
Tags
Unknown