automatically clear an outbound session, if you are unable to decrypt your own messages

This commit is contained in:
Sorunome 2020-05-18 17:31:40 +02:00
parent 3b1c81b4c7
commit 09da5fa4ca
No known key found for this signature in database
GPG key ID: B19471D07FC9BE9C

View file

@ -1811,6 +1811,10 @@ class Room {
_storeOutboundGroupSession();
decryptedPayload = json.decode(decryptResult.plaintext);
} catch (exception) {
// alright, if this was actually by our own outbound group session, we might as well clear it
if ((_outboundGroupSession?.session_id() ?? '') == event.content['session_id']) {
clearOutboundGroupSession(wipe: true);
}
if (exception.toString() == DecryptError.UNKNOWN_SESSION) {
decryptedPayload = {
'content': event.content,