You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-26 17:03:12 +03:00
Clean up/improve e2e logging
In an attempt to make the rageshake logs a bit more useful, try to make the logging a bit saner. Firstly, make sure we log every decryption failure, and log it exactly once, rather than in several places. Also record when we receive megolm keys. Also add some more explicit logging in the sync loop.
This commit is contained in:
@@ -544,7 +544,11 @@ MegolmDecryption.prototype.decryptEvent = function(event) {
|
||||
if (e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') {
|
||||
this._addEventToPendingList(event);
|
||||
}
|
||||
throw new base.DecryptionError(e);
|
||||
throw new base.DecryptionError(
|
||||
e.toString(), {
|
||||
session: content.sender_key + '|' + content.session_id,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
if (res === null) {
|
||||
@@ -552,6 +556,9 @@ MegolmDecryption.prototype.decryptEvent = function(event) {
|
||||
this._addEventToPendingList(event);
|
||||
throw new base.DecryptionError(
|
||||
"The sender's device has not sent us the keys for this message.",
|
||||
{
|
||||
session: content.sender_key + '|' + content.session_id,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -593,26 +600,27 @@ MegolmDecryption.prototype._addEventToPendingList = function(event) {
|
||||
* @param {module:models/event.MatrixEvent} event key event
|
||||
*/
|
||||
MegolmDecryption.prototype.onRoomKeyEvent = function(event) {
|
||||
console.log("Adding key from ", event);
|
||||
const content = event.getContent();
|
||||
const senderKey = event.getSenderKey();
|
||||
const sessionId = content.session_id;
|
||||
|
||||
if (!content.room_id ||
|
||||
!content.session_id ||
|
||||
!sessionId ||
|
||||
!content.session_key ||
|
||||
!senderKey
|
||||
) {
|
||||
console.error("key event is missing fields");
|
||||
console.error(`key event is missing fields`);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(`Adding key for megolm session ${senderKey}|${sessionId}`);
|
||||
this._olmDevice.addInboundGroupSession(
|
||||
content.room_id, senderKey, content.session_id,
|
||||
content.room_id, senderKey, sessionId,
|
||||
content.session_key, event.getKeysClaimed(),
|
||||
);
|
||||
|
||||
// have another go at decrypting events sent with this session.
|
||||
this._retryDecryption(senderKey, content.session_id);
|
||||
this._retryDecryption(senderKey, sessionId);
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user