Decrypt initial message after joining new DM #151
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Suppose that Alice logs in using Element. Before this change, when Bob would send a DM to Alice through Pantalaimon, Alice would not be able to decrypt Bob's initial message. Instead, she would see
and Pantalaimon's
olmsessions
table would have no associated records. Any future messages would be visible however. On the other hand, when Alice (using Element) is the one to send the first DM to Bob, he can decrypt the initial message.For Pantalaimon to execute
/keys/claim
,get_missing_sessions
must return the invitee's device (and logMissing session for device
). If Pantalaimon calls this method too soon, thenself.device_store
will not have the device. To populateself.device_store
before Pantalaimon callsget_missing_sessions
, it must execute/keys/query
(and invoke_handle_key_query
) earlier, during the/createRoom
request. Pantalaimon does execute the/keys/query
request during a sync after the server finishes creating the DM (and logsAdding new device to the device store for user
), but only after checking unsuccessfully for the device inself.device_store
.After this change, Pantalaimon executes
/keys/claim
, there is one record inolmsessions
, and Alice can decrypt Bob's initial message.