sequenceDiagram
participant TravisR
participant ExampleUser
ExampleUser->>TravisR: Create DM room
TravisR->>ExampleUser: Establish Olm session (claim key, etc)
TravisR->>ExampleUser: Send Megolm key
TravisR->>ExampleUser: Send encrypted message
ExampleUser->>ExampleUser: Query keys for joined members of the room (`updateTrackedUsers`)
ExampleUser->>ExampleUser: Create room key & send it (`shareRoomKey` followed by a loop over `outgoingRequests`)
ExampleUser->>ExampleUser: `encryptRoomEvent`
ExampleUser->>TravisR: Send encrypted message