From fadb4d92197b8f2bf7e6b3fda21bf50f75c35d05 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Wed, 4 Jul 2018 15:58:45 +0100 Subject: [PATCH] Send OLM_UNKNOWN_MESSAGE_INDEX when possible --- src/crypto/algorithms/megolm.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/crypto/algorithms/megolm.js b/src/crypto/algorithms/megolm.js index 1aaa67af6..64ab61e78 100644 --- a/src/crypto/algorithms/megolm.js +++ b/src/crypto/algorithms/megolm.js @@ -638,12 +638,16 @@ MegolmDecryption.prototype.decryptEvent = async function(event) { event.getId(), event.getTs(), ); } catch (e) { + let errorCode = "OLM_DECRYPT_GROUP_MESSAGE_ERROR"; + if (e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') { this._requestKeysForEvent(event); + + errorCode = 'OLM_UNKNOWN_MESSAGE_INDEX'; } - // TODO: make OlmDevice throw base.DecryptionErrors too + throw new base.DecryptionError( - "OLM_DECRYPT_GROUP_MESSAGE_ERROR", + errorCode, e.toString(), { session: content.sender_key + '|' + content.session_id, },