This repository has been archived on 2022-08-19. You can view files and clone it, but cannot push or open issues or pull requests.
hydrogen-web/src/matrix/e2ee/README.md

1.1 KiB

Integratation within the sync lifetime cycle

prepareSync

The session can start its own read/write transactions here, rooms only read from a shared transaction

- session
    - device handler
        - txn
            - write pending encrypted
        - txn
            - olm decryption read
        - olm async decryption
            - dispatch to worker
        - txn
            - olm decryption write / remove pending encrypted
- rooms (with shared read txn)
    - megolm decryption read

afterPrepareSync

- rooms    
    - megolm async decryption   
        - dispatch to worker

writeSync

- rooms (with shared readwrite txn)
    - megolm decryption write, yielding decrypted events
    - use decrypted events to write room summary

afterSync

- rooms
    - emit changes

afterSyncCompleted

- session
    - e2ee account
        - generate more otks if needed
        - upload new otks if needed or device keys if not uploaded before
- rooms
    - share new room keys if needed