Merge remote-tracking branch 'origin/develop' into dbkr/support_no_ssss
						commit
						a82253ec96
					
				|  | @ -45,8 +45,17 @@ export class SetupEncryptionStore extends EventEmitter { | |||
|         // Descriptor of the key that the secrets we want are encrypted with
 | ||||
|         this.keyInfo = null; | ||||
| 
 | ||||
|         MatrixClientPeg.get().on("crypto.verification.request", this.onVerificationRequest); | ||||
|         MatrixClientPeg.get().on('userTrustStatusChanged', this._onUserTrustStatusChanged); | ||||
|         const cli = MatrixClientPeg.get(); | ||||
|         cli.on("crypto.verification.request", this.onVerificationRequest); | ||||
|         cli.on('userTrustStatusChanged', this._onUserTrustStatusChanged); | ||||
| 
 | ||||
|         const requestsInProgress = cli.getVerificationRequestsToDeviceInProgress(cli.getUserId()); | ||||
|         if (requestsInProgress.length) { | ||||
|             // If there are multiple, we take the most recent. Equally if the user sends another request from
 | ||||
|             // another device after this screen has been shown, we'll switch to the new one, so this
 | ||||
|             // generally doesn't support multiple requests.
 | ||||
|             this._setActiveVerificationRequest(requestsInProgress[requestsInProgress.length - 1]); | ||||
|         } | ||||
| 
 | ||||
|         this.fetchKeyInfo(); | ||||
|     } | ||||
|  | @ -137,16 +146,8 @@ export class SetupEncryptionStore extends EventEmitter { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     onVerificationRequest = async (request) => { | ||||
|         if (request.otherUserId !== MatrixClientPeg.get().getUserId()) return; | ||||
| 
 | ||||
|         if (this.verificationRequest) { | ||||
|             this.verificationRequest.off("change", this.onVerificationRequestChange); | ||||
|         } | ||||
|         this.verificationRequest = request; | ||||
|         await request.accept(); | ||||
|         request.on("change", this.onVerificationRequestChange); | ||||
|         this.emit("update"); | ||||
|     onVerificationRequest = (request) => { | ||||
|         this._setActiveVerificationRequest(request); | ||||
|     } | ||||
| 
 | ||||
|     onVerificationRequestChange = async () => { | ||||
|  | @ -187,4 +188,16 @@ export class SetupEncryptionStore extends EventEmitter { | |||
|         // async - ask other clients for keys, if necessary
 | ||||
|         MatrixClientPeg.get()._crypto.cancelAndResendAllOutgoingKeyRequests(); | ||||
|     } | ||||
| 
 | ||||
|     async _setActiveVerificationRequest(request) { | ||||
|         if (request.otherUserId !== MatrixClientPeg.get().getUserId()) return; | ||||
| 
 | ||||
|         if (this.verificationRequest) { | ||||
|             this.verificationRequest.off("change", this.onVerificationRequestChange); | ||||
|         } | ||||
|         this.verificationRequest = request; | ||||
|         await request.accept(); | ||||
|         request.on("change", this.onVerificationRequestChange); | ||||
|         this.emit("update"); | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 David Baker
						David Baker