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
handle race between sending and await next event from other party
This commit is contained in:
@@ -122,6 +122,11 @@ export class VerificationBase extends EventEmitter {
|
|||||||
if (this._done) {
|
if (this._done) {
|
||||||
return Promise.reject(new Error("Verification is already done"));
|
return Promise.reject(new Error("Verification is already done"));
|
||||||
}
|
}
|
||||||
|
const existingEvent = this.request.getEventFromOtherParty(type);
|
||||||
|
if (existingEvent) {
|
||||||
|
return Promise.resolve(existingEvent);
|
||||||
|
}
|
||||||
|
|
||||||
this._expectedEvent = type;
|
this._expectedEvent = type;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this._resolveEvent = resolve;
|
this._resolveEvent = resolve;
|
||||||
|
|||||||
@@ -877,4 +877,8 @@ export class VerificationRequest extends EventEmitter {
|
|||||||
this._setPhase(newTransitions[newTransitions.length - 1].phase);
|
this._setPhase(newTransitions[newTransitions.length - 1].phase);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getEventFromOtherParty(type) {
|
||||||
|
return this._eventsByThem.get(type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user