-
-
Notifications
You must be signed in to change notification settings - Fork 650
Description
I don't think we're retrying failed /sendToDevice requests. This comment seems to agree.
This is especially bad when e.g. sharing room keys in encryptAndSendKeysToDevices since we might end up marking a key as sent to a device when in reality the request failed. Though I'm not sure whether the then(...) is executed if the request fails or not.
All call sites:
matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 634 in 96e8f65
return this.baseApis.sendToDevice("m.room.encrypted", contentMap).then(() => { matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 686 in 96e8f65
await this.baseApis.sendToDevice("org.matrix.room_key.withheld", contentMap); matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 780 in 96e8f65
await this.baseApis.sendToDevice("m.room.encrypted", { matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 1552 in 96e8f65
await this.baseApis.sendToDevice("m.room.encrypted", { matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 1635 in 96e8f65
return this.baseApis.sendToDevice("m.room.encrypted", contentMap); matrix-js-sdk/src/crypto/algorithms/megolm.ts
Line 1823 in 96e8f65
await this.baseApis.sendToDevice("m.room.encrypted", contentMap); matrix-js-sdk/src/crypto/index.ts
Line 3313 in 96e8f65
await this.baseApis.sendToDevice("m.room.encrypted", { return this.baseApis.sendToDevice(EventType.RoomKeyRequest, contentMap, txnId); matrix-js-sdk/src/crypto/SecretStorage.ts
Line 402 in 96e8f65
this.baseApis.sendToDevice("m.secret.request", { matrix-js-sdk/src/crypto/SecretStorage.ts
Line 423 in 96e8f65
this.baseApis.sendToDevice("m.secret.request", { matrix-js-sdk/src/crypto/SecretStorage.ts
Line 525 in 96e8f65
this.baseApis.sendToDevice("m.room.encrypted", contentMap);