You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-12-01 04:43:29 +03:00
pass on send errors so request gets cancelled
This commit is contained in:
@@ -295,7 +295,7 @@ export class SAS extends Base {
|
|||||||
const hashCommitment = content.commitment;
|
const hashCommitment = content.commitment;
|
||||||
const olmSAS = new global.Olm.SAS();
|
const olmSAS = new global.Olm.SAS();
|
||||||
try {
|
try {
|
||||||
this._send("m.key.verification.key", {
|
await this._send("m.key.verification.key", {
|
||||||
key: olmSAS.get_pubkey(),
|
key: olmSAS.get_pubkey(),
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -318,9 +318,13 @@ export class SAS extends Base {
|
|||||||
const verifySAS = new Promise((resolve, reject) => {
|
const verifySAS = new Promise((resolve, reject) => {
|
||||||
this.sasEvent = {
|
this.sasEvent = {
|
||||||
sas: generateSas(sasBytes, sasMethods),
|
sas: generateSas(sasBytes, sasMethods),
|
||||||
confirm: () => {
|
confirm: async () => {
|
||||||
this._sendMAC(olmSAS, macMethod);
|
try {
|
||||||
resolve();
|
await this._sendMAC(olmSAS, macMethod);
|
||||||
|
resolve();
|
||||||
|
} catch (err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
cancel: () => reject(newUserCancelledError()),
|
cancel: () => reject(newUserCancelledError()),
|
||||||
mismatch: () => reject(newMismatchedSASError()),
|
mismatch: () => reject(newMismatchedSASError()),
|
||||||
@@ -377,7 +381,7 @@ export class SAS extends Base {
|
|||||||
const olmSAS = new global.Olm.SAS();
|
const olmSAS = new global.Olm.SAS();
|
||||||
try {
|
try {
|
||||||
const commitmentStr = olmSAS.get_pubkey() + anotherjson.stringify(content);
|
const commitmentStr = olmSAS.get_pubkey() + anotherjson.stringify(content);
|
||||||
this._send("m.key.verification.accept", {
|
await this._send("m.key.verification.accept", {
|
||||||
key_agreement_protocol: keyAgreement,
|
key_agreement_protocol: keyAgreement,
|
||||||
hash: hashMethod,
|
hash: hashMethod,
|
||||||
message_authentication_code: macMethod,
|
message_authentication_code: macMethod,
|
||||||
@@ -391,7 +395,7 @@ export class SAS extends Base {
|
|||||||
// FIXME: make sure event is properly formed
|
// FIXME: make sure event is properly formed
|
||||||
content = e.getContent();
|
content = e.getContent();
|
||||||
olmSAS.set_their_key(content.key);
|
olmSAS.set_their_key(content.key);
|
||||||
this._send("m.key.verification.key", {
|
await this._send("m.key.verification.key", {
|
||||||
key: olmSAS.get_pubkey(),
|
key: olmSAS.get_pubkey(),
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -403,9 +407,13 @@ export class SAS extends Base {
|
|||||||
const verifySAS = new Promise((resolve, reject) => {
|
const verifySAS = new Promise((resolve, reject) => {
|
||||||
this.sasEvent = {
|
this.sasEvent = {
|
||||||
sas: generateSas(sasBytes, sasMethods),
|
sas: generateSas(sasBytes, sasMethods),
|
||||||
confirm: () => {
|
confirm: async () => {
|
||||||
this._sendMAC(olmSAS, macMethod);
|
try {
|
||||||
resolve();
|
await this._sendMAC(olmSAS, macMethod);
|
||||||
|
resolve();
|
||||||
|
} catch(err) {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
cancel: () => reject(newUserCancelledError()),
|
cancel: () => reject(newUserCancelledError()),
|
||||||
mismatch: () => reject(newMismatchedSASError()),
|
mismatch: () => reject(newMismatchedSASError()),
|
||||||
@@ -461,7 +469,7 @@ export class SAS extends Base {
|
|||||||
keyList.sort().join(","),
|
keyList.sort().join(","),
|
||||||
baseInfo + "KEY_IDS",
|
baseInfo + "KEY_IDS",
|
||||||
);
|
);
|
||||||
this._send("m.key.verification.mac", { mac, keys });
|
return this._send("m.key.verification.mac", { mac, keys });
|
||||||
}
|
}
|
||||||
|
|
||||||
async _checkMAC(olmSAS, content, method) {
|
async _checkMAC(olmSAS, content, method) {
|
||||||
|
|||||||
Reference in New Issue
Block a user