summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2023-11-17 23:25:29 +0100
committerRaindropsSys <raindrops@equestria.dev>2023-11-17 23:25:29 +0100
commit953ddd82e48dd206cef5ac94456549aed13b3ad5 (patch)
tree8f003106ee2e7f422e5a22d2ee04d0db302e66c0 /includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js
parent62a9199846b0c07c03218703b33e8385764f42d9 (diff)
downloadpluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.tar.gz
pluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.tar.bz2
pluralconnect-953ddd82e48dd206cef5ac94456549aed13b3ad5.zip
Updated 30 files and deleted 2976 files (automated)
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js')
-rw-r--r--includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js78
1 files changed, 0 insertions, 78 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js b/includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js
deleted file mode 100644
index 6565745..0000000
--- a/includes/external/matrix/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js
+++ /dev/null
@@ -1,78 +0,0 @@
-"use strict";
-
-var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.KeyClaimManager = void 0;
-var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
-/*
-Copyright 2023 The Matrix.org Foundation C.I.C.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-/**
- * KeyClaimManager: linearises calls to OlmMachine.getMissingSessions to avoid races
- *
- * We have one of these per `RustCrypto` (and hence per `MatrixClient`).
- */
-class KeyClaimManager {
- constructor(olmMachine, outgoingRequestProcessor) {
- this.olmMachine = olmMachine;
- this.outgoingRequestProcessor = outgoingRequestProcessor;
- (0, _defineProperty2.default)(this, "currentClaimPromise", void 0);
- (0, _defineProperty2.default)(this, "stopped", false);
- this.currentClaimPromise = Promise.resolve();
- }
-
- /**
- * Tell the KeyClaimManager to immediately stop processing requests.
- *
- * Any further calls, and any still in the queue, will fail with an error.
- */
- stop() {
- this.stopped = true;
- }
-
- /**
- * Given a list of users, attempt to ensure that we have Olm Sessions active with each of their devices
- *
- * If we don't have an active olm session, we will claim a one-time key and start one.
- *
- * @param userList - list of userIDs to claim
- */
- ensureSessionsForUsers(userList) {
- // The Rust-SDK requires that we only have one getMissingSessions process in flight at once. This little dance
- // ensures that, by only having one call to ensureSessionsForUsersInner active at once (and making them
- // queue up in order).
- const prom = this.currentClaimPromise.catch(() => {
- // any errors in the previous claim will have been reported already, so there is nothing to do here.
- // we just throw away the error and start anew.
- }).then(() => this.ensureSessionsForUsersInner(userList));
- this.currentClaimPromise = prom;
- return prom;
- }
- async ensureSessionsForUsersInner(userList) {
- // bail out quickly if we've been stopped.
- if (this.stopped) {
- throw new Error(`Cannot ensure Olm sessions: shutting down`);
- }
- const claimRequest = await this.olmMachine.getMissingSessions(userList);
- if (claimRequest) {
- await this.outgoingRequestProcessor.makeOutgoingRequest(claimRequest);
- }
- }
-}
-exports.KeyClaimManager = KeyClaimManager;
-//# sourceMappingURL=KeyClaimManager.js.map \ No newline at end of file