@textrp/briij-js-sdk 41.0.1 → 43.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -1
- package/LICENSE +177 -177
- package/README.md +85 -3
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -1
- package/lib/@types/IIdentityServerProvider.js.map +1 -1
- package/lib/@types/PushRules.js +14 -14
- package/lib/@types/PushRules.js.map +1 -1
- package/lib/@types/another-json.d.js.map +1 -1
- package/lib/@types/auth.d.ts +72 -1
- package/lib/@types/auth.d.ts.map +1 -1
- package/lib/@types/auth.js +57 -54
- package/lib/@types/auth.js.map +1 -1
- package/lib/@types/beacon.js +100 -100
- package/lib/@types/beacon.js.map +1 -1
- package/lib/@types/common.js.map +1 -1
- package/lib/@types/crypto.js.map +1 -1
- package/lib/@types/event.d.ts +59 -0
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +105 -102
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/events.js.map +1 -1
- package/lib/@types/extensible_events.js +53 -53
- package/lib/@types/extensible_events.js.map +1 -1
- package/lib/@types/local_notifications.js.map +1 -1
- package/lib/@types/location.js +41 -41
- package/lib/@types/location.js.map +1 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
- package/lib/@types/media.js.map +1 -1
- package/lib/@types/membership.js +39 -39
- package/lib/@types/membership.js.map +1 -1
- package/lib/@types/partials.js +25 -25
- package/lib/@types/partials.js.map +1 -1
- package/lib/@types/polls.js +46 -46
- package/lib/@types/polls.js.map +1 -1
- package/lib/@types/read_receipts.js +14 -14
- package/lib/@types/read_receipts.js.map +1 -1
- package/lib/@types/registration.js.map +1 -1
- package/lib/@types/search.js +14 -14
- package/lib/@types/search.js.map +1 -1
- package/lib/@types/signed.js.map +1 -1
- package/lib/@types/spaces.js.map +1 -1
- package/lib/@types/state_events.js.map +1 -1
- package/lib/@types/synapse.js.map +1 -1
- package/lib/@types/sync.js +18 -18
- package/lib/@types/sync.js.map +1 -1
- package/lib/@types/threepids.js +14 -14
- package/lib/@types/threepids.js.map +1 -1
- package/lib/@types/topic.js +47 -47
- package/lib/@types/topic.js.map +1 -1
- package/lib/@types/uia.js.map +1 -1
- package/lib/NamespacedValue.js +20 -20
- package/lib/NamespacedValue.js.map +1 -1
- package/lib/ReEmitter.js +16 -16
- package/lib/ReEmitter.js.map +1 -1
- package/lib/base64.js +32 -32
- package/lib/base64.js.map +1 -1
- package/lib/briij.d.ts +4 -0
- package/lib/briij.d.ts.map +1 -1
- package/lib/briij.js +4 -0
- package/lib/briij.js.map +1 -1
- package/lib/client.d.ts +48 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +262 -108
- package/lib/client.js.map +1 -1
- package/lib/common-crypto/key-passphrase.js +19 -19
- package/lib/common-crypto/key-passphrase.js.map +1 -1
- package/lib/content-helpers.js +57 -57
- package/lib/content-helpers.js.map +1 -1
- package/lib/content-repo.js +36 -36
- package/lib/content-repo.js.map +1 -1
- package/lib/crypto/store/base.js +69 -69
- package/lib/crypto/store/base.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +58 -58
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +193 -193
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/lib/crypto/store/localStorage-crypto-store.js +72 -72
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/lib/crypto/store/memory-crypto-store.js +74 -74
- package/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -1
- package/lib/crypto-api/key-passphrase.js +22 -22
- package/lib/crypto-api/key-passphrase.js.map +1 -1
- package/lib/crypto-api/keybackup.js.map +1 -1
- package/lib/crypto-api/recovery-key.js +20 -20
- package/lib/crypto-api/recovery-key.js.map +1 -1
- package/lib/digest.js +21 -21
- package/lib/digest.js.map +1 -1
- package/lib/extensible_events_v1/ExtensibleEvent.js +39 -39
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/lib/extensible_events_v1/InvalidEventError.js +16 -16
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/lib/extensible_events_v1/MessageEvent.js +39 -39
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollEndEvent.js +29 -29
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollResponseEvent.js +39 -39
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollStartEvent.js +52 -52
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/lib/extensible_events_v1/utilities.js +22 -22
- package/lib/extensible_events_v1/utilities.js.map +1 -1
- package/lib/feature.js +16 -16
- package/lib/feature.js.map +1 -1
- package/lib/http-api/method.js +14 -14
- package/lib/http-api/method.js.map +1 -1
- package/lib/http-api/prefix.js +26 -26
- package/lib/http-api/prefix.js.map +1 -1
- package/lib/indexeddb-helpers.js +21 -21
- package/lib/indexeddb-helpers.js.map +1 -1
- package/lib/indexeddb-worker.js +18 -18
- package/lib/indexeddb-worker.js.map +1 -1
- package/lib/matrixrtc/IKeyTransport.js +17 -17
- package/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/lib/matrixrtc/IMembershipManager.js +27 -27
- package/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/lib/matrixrtc/LivekitTransport.js +19 -19
- package/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/lib/matrixrtc/index.js +14 -14
- package/lib/matrixrtc/index.js.map +1 -1
- package/lib/matrixrtc/utils.js +27 -27
- package/lib/matrixrtc/utils.js.map +1 -1
- package/lib/models/ToDeviceMessage.js.map +1 -1
- package/lib/models/device.js +24 -24
- package/lib/models/device.js.map +1 -1
- package/lib/models/event-status.js +17 -17
- package/lib/models/event-status.js.map +1 -1
- package/lib/models/invites-ignorer-types.js +25 -25
- package/lib/models/invites-ignorer-types.js.map +1 -1
- package/lib/models/profile-keys.js +26 -26
- package/lib/models/profile-keys.js.map +1 -1
- package/lib/models/room-summary.js +26 -26
- package/lib/models/room-summary.js.map +1 -1
- package/lib/models/search-result.js +22 -22
- package/lib/models/search-result.js.map +1 -1
- package/lib/models/typed-event-emitter.js +122 -122
- package/lib/models/typed-event-emitter.js.map +1 -1
- package/lib/oidc/authorize.js +76 -76
- package/lib/oidc/authorize.js.map +1 -1
- package/lib/oidc/error.js +17 -17
- package/lib/oidc/error.js.map +1 -1
- package/lib/oidc/index.js +17 -17
- package/lib/oidc/index.js.map +1 -1
- package/lib/oidc/register.js +41 -41
- package/lib/oidc/register.js.map +1 -1
- package/lib/oidc/tokenRefresher.js +51 -51
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/oidc/validate.js +59 -59
- package/lib/oidc/validate.js.map +1 -1
- package/lib/randomstring.js +35 -35
- package/lib/randomstring.js.map +1 -1
- package/lib/realtime-callbacks.js +39 -39
- package/lib/realtime-callbacks.js.map +1 -1
- package/lib/receipt-accumulator.js +44 -44
- package/lib/receipt-accumulator.js.map +1 -1
- package/lib/rendezvous/RendezvousChannel.js.map +1 -1
- package/lib/rendezvous/RendezvousCode.js.map +1 -1
- package/lib/rendezvous/RendezvousError.js +14 -14
- package/lib/rendezvous/RendezvousError.js.map +1 -1
- package/lib/rendezvous/RendezvousFailureReason.js +14 -14
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/lib/rendezvous/RendezvousIntent.js +14 -14
- package/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/lib/rendezvous/RendezvousTransport.js.map +1 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +63 -63
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/lib/rendezvous/channels/index.js +14 -14
- package/lib/rendezvous/channels/index.js.map +1 -1
- package/lib/rendezvous/index.js +14 -14
- package/lib/rendezvous/index.js.map +1 -1
- package/lib/rendezvous/transports/index.js +14 -14
- package/lib/rendezvous/transports/index.js.map +1 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +29 -29
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +37 -37
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/lib/rust-crypto/device-converter.js +30 -30
- package/lib/rust-crypto/device-converter.js.map +1 -1
- package/lib/rust-crypto/secret-storage.js +30 -30
- package/lib/rust-crypto/secret-storage.js.map +1 -1
- package/lib/service-types.js +14 -14
- package/lib/service-types.js.map +1 -1
- package/lib/store/local-storage-events-emitter.js +21 -21
- package/lib/store/local-storage-events-emitter.js.map +1 -1
- package/lib/sync-accumulator.js +50 -50
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/thread-utils.js +20 -20
- package/lib/thread-utils.js.map +1 -1
- package/lib/types.js +34 -34
- package/lib/types.js.map +1 -1
- package/lib/utils/decryptAESSecretStorageItem.js +22 -22
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/encryptAESSecretStorageItem.js +26 -26
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/internal/deriveKeys.js +21 -21
- package/lib/utils/internal/deriveKeys.js.map +1 -1
- package/lib/utils/roomVersion.js +26 -26
- package/lib/utils/roomVersion.js.map +1 -1
- package/lib/version-support.js +26 -26
- package/lib/version-support.js.map +1 -1
- package/lib/wallet-recovery.d.ts +24 -0
- package/lib/wallet-recovery.d.ts.map +1 -0
- package/lib/wallet-recovery.js +232 -0
- package/lib/wallet-recovery.js.map +1 -0
- package/lib/webrtc/audioContext.js +24 -24
- package/lib/webrtc/audioContext.js.map +1 -1
- package/lib/webrtc/callEventTypes.js.map +1 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +14 -14
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +14 -14
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -1
- package/lib/webrtc/stats/connectionStats.js +14 -14
- package/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +14 -14
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/lib/webrtc/stats/groupCallStats.js +14 -14
- package/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +14 -14
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +27 -27
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +20 -20
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/lib/webrtc/stats/statsReport.js +14 -14
- package/lib/webrtc/stats/statsReport.js.map +1 -1
- package/lib/webrtc/stats/statsReportEmitter.js +14 -14
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +4 -4
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/transportStats.js.map +1 -1
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/valueFormatter.js +11 -11
- package/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/lib/xrpl/identity.d.ts +28 -0
- package/lib/xrpl/identity.d.ts.map +1 -0
- package/lib/xrpl/identity.js +213 -0
- package/lib/xrpl/identity.js.map +1 -0
- package/lib/xrpl/trust.d.ts +8 -0
- package/lib/xrpl/trust.d.ts.map +1 -0
- package/lib/xrpl/trust.js +61 -0
- package/lib/xrpl/trust.js.map +1 -0
- package/lib/xrpl/verification.d.ts +26 -0
- package/lib/xrpl/verification.d.ts.map +1 -0
- package/lib/xrpl/verification.js +295 -0
- package/lib/xrpl/verification.js.map +1 -0
- package/package.json +130 -129
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -29
- package/src/@types/IIdentityServerProvider.ts +24 -24
- package/src/@types/PushRules.ts +208 -208
- package/src/@types/another-json.d.ts +19 -19
- package/src/@types/auth.ts +340 -258
- package/src/@types/beacon.ts +140 -140
- package/src/@types/common.ts +24 -24
- package/src/@types/crypto.ts +71 -71
- package/src/@types/event.ts +508 -449
- package/src/@types/events.ts +119 -119
- package/src/@types/extensible_events.ts +147 -147
- package/src/@types/local_notifications.ts +19 -19
- package/src/@types/location.ts +92 -92
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -39
- package/src/@types/media.ts +245 -245
- package/src/@types/membership.ts +57 -57
- package/src/@types/partials.ts +103 -103
- package/src/@types/polls.ts +120 -120
- package/src/@types/read_receipts.ts +61 -61
- package/src/@types/registration.ts +102 -102
- package/src/@types/search.ts +119 -119
- package/src/@types/signed.ts +25 -25
- package/src/@types/spaces.ts +37 -37
- package/src/@types/state_events.ts +153 -153
- package/src/@types/synapse.ts +40 -40
- package/src/@types/sync.ts +27 -27
- package/src/@types/threepids.ts +29 -29
- package/src/@types/topic.ts +69 -69
- package/src/@types/uia.ts +24 -24
- package/src/NamespacedValue.ts +121 -121
- package/src/ReEmitter.ts +93 -93
- package/src/base64.ts +86 -86
- package/src/briij.ts +4 -0
- package/src/client.ts +183 -10
- package/src/common-crypto/README.md +4 -4
- package/src/common-crypto/key-passphrase.ts +43 -43
- package/src/content-helpers.ts +298 -298
- package/src/content-repo.ts +122 -122
- package/src/crypto/store/base.ts +388 -388
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -655
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -555
- package/src/crypto/store/localStorage-crypto-store.ts +409 -409
- package/src/crypto/store/memory-crypto-store.ts +326 -326
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -42
- package/src/crypto-api/key-passphrase.ts +58 -58
- package/src/crypto-api/keybackup.ts +114 -114
- package/src/crypto-api/recovery-key.ts +69 -69
- package/src/digest.ts +34 -34
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -58
- package/src/extensible_events_v1/InvalidEventError.ts +24 -24
- package/src/extensible_events_v1/MessageEvent.ts +143 -143
- package/src/extensible_events_v1/PollEndEvent.ts +97 -97
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -148
- package/src/extensible_events_v1/PollStartEvent.ts +207 -207
- package/src/extensible_events_v1/utilities.ts +35 -35
- package/src/feature.ts +88 -88
- package/src/http-api/method.ts +25 -25
- package/src/http-api/prefix.ts +48 -48
- package/src/indexeddb-helpers.ts +50 -50
- package/src/indexeddb-worker.ts +24 -24
- package/src/matrixrtc/IKeyTransport.ts +63 -63
- package/src/matrixrtc/IMembershipManager.ts +120 -120
- package/src/matrixrtc/LivekitTransport.ts +46 -46
- package/src/matrixrtc/index.ts +24 -24
- package/src/matrixrtc/utils.ts +71 -71
- package/src/models/ToDeviceMessage.ts +38 -38
- package/src/models/device.ts +85 -85
- package/src/models/event-status.ts +39 -39
- package/src/models/invites-ignorer-types.ts +58 -58
- package/src/models/profile-keys.ts +33 -33
- package/src/models/room-summary.ts +78 -78
- package/src/models/search-result.ts +57 -57
- package/src/models/typed-event-emitter.ts +246 -246
- package/src/oidc/authorize.ts +279 -279
- package/src/oidc/error.ts +33 -33
- package/src/oidc/index.ts +33 -33
- package/src/oidc/register.ts +163 -163
- package/src/oidc/tokenRefresher.ts +184 -184
- package/src/oidc/validate.ts +265 -265
- package/src/randomstring.ts +103 -103
- package/src/realtime-callbacks.ts +191 -191
- package/src/receipt-accumulator.ts +189 -189
- package/src/rendezvous/RendezvousChannel.ts +48 -48
- package/src/rendezvous/RendezvousCode.ts +25 -25
- package/src/rendezvous/RendezvousError.ts +26 -26
- package/src/rendezvous/RendezvousFailureReason.ts +49 -49
- package/src/rendezvous/RendezvousIntent.ts +20 -20
- package/src/rendezvous/RendezvousTransport.ts +58 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -270
- package/src/rendezvous/channels/index.ts +17 -17
- package/src/rendezvous/index.ts +25 -25
- package/src/rendezvous/transports/index.ts +17 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -195
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -170
- package/src/rust-crypto/device-converter.ts +128 -128
- package/src/rust-crypto/secret-storage.ts +60 -60
- package/src/service-types.ts +20 -20
- package/src/store/local-storage-events-emitter.ts +46 -46
- package/src/sync-accumulator.ts +779 -779
- package/src/thread-utils.ts +31 -31
- package/src/types.ts +59 -59
- package/src/utils/decryptAESSecretStorageItem.ts +54 -54
- package/src/utils/encryptAESSecretStorageItem.ts +73 -73
- package/src/utils/internal/deriveKeys.ts +63 -63
- package/src/utils/roomVersion.ts +35 -35
- package/src/version-support.ts +50 -50
- package/src/wallet-recovery.ts +252 -0
- package/src/webrtc/audioContext.ts +44 -44
- package/src/webrtc/callEventTypes.ts +101 -101
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -91
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -219
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -30
- package/src/webrtc/stats/connectionStats.ts +47 -47
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -28
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -140
- package/src/webrtc/stats/groupCallStats.ts +93 -93
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -57
- package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -70
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -176
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -90
- package/src/webrtc/stats/statsReport.ts +133 -133
- package/src/webrtc/stats/statsReportEmitter.ts +49 -49
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -207
- package/src/webrtc/stats/transportStats.ts +26 -26
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -48
- package/src/webrtc/stats/valueFormatter.ts +27 -27
- package/src/xrpl/identity.ts +245 -0
- package/src/xrpl/trust.ts +64 -0
- package/src/xrpl/verification.ts +284 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
/*
|
|
4
|
-
Copyright 2017 - 2021 The Matrix.org Foundation C.I.C.
|
|
5
|
-
|
|
6
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
you may not use this file except in compliance with the License.
|
|
8
|
-
You may obtain a copy of the License at
|
|
9
|
-
|
|
10
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
|
|
12
|
-
Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
See the License for the specific language governing permissions and
|
|
16
|
-
limitations under the License.
|
|
3
|
+
/*
|
|
4
|
+
Copyright 2017 - 2021 The Matrix.org Foundation C.I.C.
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
See the License for the specific language governing permissions and
|
|
16
|
+
limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import { logger } from "../../logger.js";
|
|
@@ -23,22 +23,22 @@ import * as IndexedDBCryptoStoreBackend from "./indexeddb-crypto-store-backend.j
|
|
|
23
23
|
import { InvalidCryptoStoreError, InvalidCryptoStoreState } from "../../errors.js";
|
|
24
24
|
import * as IndexedDBHelpers from "../../indexeddb-helpers.js";
|
|
25
25
|
import { MigrationState, ACCOUNT_OBJECT_KEY_MIGRATION_STATE } from "./base.js";
|
|
26
|
-
/*
|
|
27
|
-
* Internal module. indexeddb storage for e2e.
|
|
26
|
+
/*
|
|
27
|
+
* Internal module. indexeddb storage for e2e.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
-
/**
|
|
31
|
-
* An implementation of CryptoStore, which is normally backed by an indexeddb,
|
|
32
|
-
* but with fallback to MemoryCryptoStore.
|
|
30
|
+
/**
|
|
31
|
+
* An implementation of CryptoStore, which is normally backed by an indexeddb,
|
|
32
|
+
* but with fallback to MemoryCryptoStore.
|
|
33
33
|
*/
|
|
34
34
|
export class IndexedDBCryptoStore {
|
|
35
35
|
static exists(indexedDB, dbName) {
|
|
36
36
|
return IndexedDBHelpers.exists(indexedDB, dbName);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
/**
|
|
40
|
-
* Utility to check if a legacy crypto store exists and has not been migrated.
|
|
41
|
-
* Returns true if the store exists and has not been migrated, false otherwise.
|
|
39
|
+
/**
|
|
40
|
+
* Utility to check if a legacy crypto store exists and has not been migrated.
|
|
41
|
+
* Returns true if the store exists and has not been migrated, false otherwise.
|
|
42
42
|
*/
|
|
43
43
|
static existsAndIsNotMigrated(indexedDb, dbName) {
|
|
44
44
|
return new Promise((resolve, reject) => {
|
|
@@ -79,11 +79,11 @@ export class IndexedDBCryptoStore {
|
|
|
79
79
|
openDBRequest.onerror = () => reject(openDBRequest.error);
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Create a new IndexedDBCryptoStore
|
|
84
|
-
*
|
|
85
|
-
* @param indexedDB - global indexedDB instance
|
|
86
|
-
* @param dbName - name of db to connect to
|
|
82
|
+
/**
|
|
83
|
+
* Create a new IndexedDBCryptoStore
|
|
84
|
+
*
|
|
85
|
+
* @param indexedDB - global indexedDB instance
|
|
86
|
+
* @param dbName - name of db to connect to
|
|
87
87
|
*/
|
|
88
88
|
constructor(indexedDB, dbName) {
|
|
89
89
|
this.indexedDB = indexedDB;
|
|
@@ -92,12 +92,12 @@ export class IndexedDBCryptoStore {
|
|
|
92
92
|
_defineProperty(this, "backend", void 0);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
/**
|
|
96
|
-
* Returns true if this CryptoStore has ever been initialised (ie, it might contain data).
|
|
97
|
-
*
|
|
98
|
-
* Implementation of {@link CryptoStore.containsData}.
|
|
99
|
-
*
|
|
100
|
-
* @internal
|
|
95
|
+
/**
|
|
96
|
+
* Returns true if this CryptoStore has ever been initialised (ie, it might contain data).
|
|
97
|
+
*
|
|
98
|
+
* Implementation of {@link CryptoStore.containsData}.
|
|
99
|
+
*
|
|
100
|
+
* @internal
|
|
101
101
|
*/
|
|
102
102
|
containsData() {
|
|
103
103
|
var _this = this;
|
|
@@ -106,14 +106,14 @@ export class IndexedDBCryptoStore {
|
|
|
106
106
|
})();
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
/**
|
|
110
|
-
* Ensure the database exists and is up-to-date, or fall back to
|
|
111
|
-
* a local storage or in-memory store.
|
|
112
|
-
*
|
|
113
|
-
* This must be called before the store can be used.
|
|
114
|
-
*
|
|
115
|
-
* @returns resolves to either an IndexedDBCryptoStoreBackend.Backend,
|
|
116
|
-
* or a MemoryCryptoStore
|
|
109
|
+
/**
|
|
110
|
+
* Ensure the database exists and is up-to-date, or fall back to
|
|
111
|
+
* a local storage or in-memory store.
|
|
112
|
+
*
|
|
113
|
+
* This must be called before the store can be used.
|
|
114
|
+
*
|
|
115
|
+
* @returns resolves to either an IndexedDBCryptoStoreBackend.Backend,
|
|
116
|
+
* or a MemoryCryptoStore
|
|
117
117
|
*/
|
|
118
118
|
startup() {
|
|
119
119
|
if (this.backendPromise) {
|
|
@@ -174,10 +174,10 @@ export class IndexedDBCryptoStore {
|
|
|
174
174
|
return this.backendPromise;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
/**
|
|
178
|
-
* Delete all data from this store.
|
|
179
|
-
*
|
|
180
|
-
* @returns resolves when the store has been cleared.
|
|
177
|
+
/**
|
|
178
|
+
* Delete all data from this store.
|
|
179
|
+
*
|
|
180
|
+
* @returns resolves when the store has been cleared.
|
|
181
181
|
*/
|
|
182
182
|
deleteAllData() {
|
|
183
183
|
return new Promise((resolve, reject) => {
|
|
@@ -206,23 +206,23 @@ export class IndexedDBCryptoStore {
|
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
/**
|
|
210
|
-
* Get data on how much of the libolm to Rust Crypto migration has been done.
|
|
211
|
-
*
|
|
212
|
-
* Implementation of {@link CryptoStore.getMigrationState}.
|
|
213
|
-
*
|
|
214
|
-
* @internal
|
|
209
|
+
/**
|
|
210
|
+
* Get data on how much of the libolm to Rust Crypto migration has been done.
|
|
211
|
+
*
|
|
212
|
+
* Implementation of {@link CryptoStore.getMigrationState}.
|
|
213
|
+
*
|
|
214
|
+
* @internal
|
|
215
215
|
*/
|
|
216
216
|
getMigrationState() {
|
|
217
217
|
return this.backend.getMigrationState();
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
/**
|
|
221
|
-
* Set data on how much of the libolm to Rust Crypto migration has been done.
|
|
222
|
-
*
|
|
223
|
-
* Implementation of {@link CryptoStore.setMigrationState}.
|
|
224
|
-
*
|
|
225
|
-
* @internal
|
|
220
|
+
/**
|
|
221
|
+
* Set data on how much of the libolm to Rust Crypto migration has been done.
|
|
222
|
+
*
|
|
223
|
+
* Implementation of {@link CryptoStore.setMigrationState}.
|
|
224
|
+
*
|
|
225
|
+
* @internal
|
|
226
226
|
*/
|
|
227
227
|
setMigrationState(migrationState) {
|
|
228
228
|
return this.backend.setMigrationState(migrationState);
|
|
@@ -230,55 +230,55 @@ export class IndexedDBCryptoStore {
|
|
|
230
230
|
|
|
231
231
|
// Olm Account
|
|
232
232
|
|
|
233
|
-
/*
|
|
234
|
-
* Get the account pickle from the store.
|
|
235
|
-
* This requires an active transaction. See doTxn().
|
|
236
|
-
*
|
|
237
|
-
* @param txn - An active transaction. See doTxn().
|
|
238
|
-
* @param func - Called with the account pickle
|
|
233
|
+
/*
|
|
234
|
+
* Get the account pickle from the store.
|
|
235
|
+
* This requires an active transaction. See doTxn().
|
|
236
|
+
*
|
|
237
|
+
* @param txn - An active transaction. See doTxn().
|
|
238
|
+
* @param func - Called with the account pickle
|
|
239
239
|
*/
|
|
240
240
|
getAccount(txn, func) {
|
|
241
241
|
this.backend.getAccount(txn, func);
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
-
/**
|
|
245
|
-
* Write the account pickle to the store.
|
|
246
|
-
* This requires an active transaction. See doTxn().
|
|
247
|
-
*
|
|
248
|
-
* @param txn - An active transaction. See doTxn().
|
|
249
|
-
* @param accountPickle - The new account pickle to store.
|
|
244
|
+
/**
|
|
245
|
+
* Write the account pickle to the store.
|
|
246
|
+
* This requires an active transaction. See doTxn().
|
|
247
|
+
*
|
|
248
|
+
* @param txn - An active transaction. See doTxn().
|
|
249
|
+
* @param accountPickle - The new account pickle to store.
|
|
250
250
|
*/
|
|
251
251
|
storeAccount(txn, accountPickle) {
|
|
252
252
|
this.backend.storeAccount(txn, accountPickle);
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
-
/**
|
|
256
|
-
* Get the public part of the cross-signing keys (eg. self-signing key,
|
|
257
|
-
* user signing key).
|
|
258
|
-
*
|
|
259
|
-
* @param txn - An active transaction. See doTxn().
|
|
260
|
-
* @param func - Called with the account keys object:
|
|
261
|
-
* `{ key_type: base64 encoded seed }` where key type = user_signing_key_seed or self_signing_key_seed
|
|
255
|
+
/**
|
|
256
|
+
* Get the public part of the cross-signing keys (eg. self-signing key,
|
|
257
|
+
* user signing key).
|
|
258
|
+
*
|
|
259
|
+
* @param txn - An active transaction. See doTxn().
|
|
260
|
+
* @param func - Called with the account keys object:
|
|
261
|
+
* `{ key_type: base64 encoded seed }` where key type = user_signing_key_seed or self_signing_key_seed
|
|
262
262
|
*/
|
|
263
263
|
getCrossSigningKeys(txn, func) {
|
|
264
264
|
this.backend.getCrossSigningKeys(txn, func);
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
/**
|
|
268
|
-
* @param txn - An active transaction. See doTxn().
|
|
269
|
-
* @param func - Called with the private key
|
|
270
|
-
* @param type - A key type
|
|
267
|
+
/**
|
|
268
|
+
* @param txn - An active transaction. See doTxn().
|
|
269
|
+
* @param func - Called with the private key
|
|
270
|
+
* @param type - A key type
|
|
271
271
|
*/
|
|
272
272
|
getSecretStorePrivateKey(txn, func, type) {
|
|
273
273
|
this.backend.getSecretStorePrivateKey(txn, func, type);
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
/**
|
|
277
|
-
* Write the cross-signing private keys back to the store
|
|
278
|
-
*
|
|
279
|
-
* @param txn - An active transaction. See doTxn().
|
|
280
|
-
* @param type - The type of cross-signing private key to store
|
|
281
|
-
* @param key - keys object as getCrossSigningKeys()
|
|
276
|
+
/**
|
|
277
|
+
* Write the cross-signing private keys back to the store
|
|
278
|
+
*
|
|
279
|
+
* @param txn - An active transaction. See doTxn().
|
|
280
|
+
* @param type - The type of cross-signing private key to store
|
|
281
|
+
* @param key - keys object as getCrossSigningKeys()
|
|
282
282
|
*/
|
|
283
283
|
storeSecretStorePrivateKey(txn, type, key) {
|
|
284
284
|
this.backend.storeSecretStorePrivateKey(txn, type, key);
|
|
@@ -286,85 +286,85 @@ export class IndexedDBCryptoStore {
|
|
|
286
286
|
|
|
287
287
|
// Olm sessions
|
|
288
288
|
|
|
289
|
-
/**
|
|
290
|
-
* Returns the number of end-to-end sessions in the store
|
|
291
|
-
* @param txn - An active transaction. See doTxn().
|
|
292
|
-
* @param func - Called with the count of sessions
|
|
289
|
+
/**
|
|
290
|
+
* Returns the number of end-to-end sessions in the store
|
|
291
|
+
* @param txn - An active transaction. See doTxn().
|
|
292
|
+
* @param func - Called with the count of sessions
|
|
293
293
|
*/
|
|
294
294
|
countEndToEndSessions(txn, func) {
|
|
295
295
|
this.backend.countEndToEndSessions(txn, func);
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
/**
|
|
299
|
-
* Retrieve a specific end-to-end session between the logged-in user
|
|
300
|
-
* and another device.
|
|
301
|
-
* @param deviceKey - The public key of the other device.
|
|
302
|
-
* @param sessionId - The ID of the session to retrieve
|
|
303
|
-
* @param txn - An active transaction. See doTxn().
|
|
304
|
-
* @param func - Called with A map from sessionId
|
|
305
|
-
* to session information object with 'session' key being the
|
|
306
|
-
* Base64 end-to-end session and lastReceivedMessageTs being the
|
|
307
|
-
* timestamp in milliseconds at which the session last received
|
|
308
|
-
* a message.
|
|
298
|
+
/**
|
|
299
|
+
* Retrieve a specific end-to-end session between the logged-in user
|
|
300
|
+
* and another device.
|
|
301
|
+
* @param deviceKey - The public key of the other device.
|
|
302
|
+
* @param sessionId - The ID of the session to retrieve
|
|
303
|
+
* @param txn - An active transaction. See doTxn().
|
|
304
|
+
* @param func - Called with A map from sessionId
|
|
305
|
+
* to session information object with 'session' key being the
|
|
306
|
+
* Base64 end-to-end session and lastReceivedMessageTs being the
|
|
307
|
+
* timestamp in milliseconds at which the session last received
|
|
308
|
+
* a message.
|
|
309
309
|
*/
|
|
310
310
|
getEndToEndSession(deviceKey, sessionId, txn, func) {
|
|
311
311
|
this.backend.getEndToEndSession(deviceKey, sessionId, txn, func);
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
/**
|
|
315
|
-
* Retrieve the end-to-end sessions between the logged-in user and another
|
|
316
|
-
* device.
|
|
317
|
-
* @param deviceKey - The public key of the other device.
|
|
318
|
-
* @param txn - An active transaction. See doTxn().
|
|
319
|
-
* @param func - Called with A map from sessionId
|
|
320
|
-
* to session information object with 'session' key being the
|
|
321
|
-
* Base64 end-to-end session and lastReceivedMessageTs being the
|
|
322
|
-
* timestamp in milliseconds at which the session last received
|
|
323
|
-
* a message.
|
|
314
|
+
/**
|
|
315
|
+
* Retrieve the end-to-end sessions between the logged-in user and another
|
|
316
|
+
* device.
|
|
317
|
+
* @param deviceKey - The public key of the other device.
|
|
318
|
+
* @param txn - An active transaction. See doTxn().
|
|
319
|
+
* @param func - Called with A map from sessionId
|
|
320
|
+
* to session information object with 'session' key being the
|
|
321
|
+
* Base64 end-to-end session and lastReceivedMessageTs being the
|
|
322
|
+
* timestamp in milliseconds at which the session last received
|
|
323
|
+
* a message.
|
|
324
324
|
*/
|
|
325
325
|
getEndToEndSessions(deviceKey, txn, func) {
|
|
326
326
|
this.backend.getEndToEndSessions(deviceKey, txn, func);
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
-
/**
|
|
330
|
-
* Store a session between the logged-in user and another device
|
|
331
|
-
* @param deviceKey - The public key of the other device.
|
|
332
|
-
* @param sessionId - The ID for this end-to-end session.
|
|
333
|
-
* @param sessionInfo - Session information object
|
|
334
|
-
* @param txn - An active transaction. See doTxn().
|
|
329
|
+
/**
|
|
330
|
+
* Store a session between the logged-in user and another device
|
|
331
|
+
* @param deviceKey - The public key of the other device.
|
|
332
|
+
* @param sessionId - The ID for this end-to-end session.
|
|
333
|
+
* @param sessionInfo - Session information object
|
|
334
|
+
* @param txn - An active transaction. See doTxn().
|
|
335
335
|
*/
|
|
336
336
|
storeEndToEndSession(deviceKey, sessionId, sessionInfo, txn) {
|
|
337
337
|
this.backend.storeEndToEndSession(deviceKey, sessionId, sessionInfo, txn);
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
/**
|
|
341
|
-
* Count the number of Megolm sessions in the database.
|
|
342
|
-
*
|
|
343
|
-
* Implementation of {@link CryptoStore.countEndToEndInboundGroupSessions}.
|
|
344
|
-
*
|
|
345
|
-
* @internal
|
|
340
|
+
/**
|
|
341
|
+
* Count the number of Megolm sessions in the database.
|
|
342
|
+
*
|
|
343
|
+
* Implementation of {@link CryptoStore.countEndToEndInboundGroupSessions}.
|
|
344
|
+
*
|
|
345
|
+
* @internal
|
|
346
346
|
*/
|
|
347
347
|
countEndToEndInboundGroupSessions() {
|
|
348
348
|
return this.backend.countEndToEndInboundGroupSessions();
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
/**
|
|
352
|
-
* Fetch a batch of Olm sessions from the database.
|
|
353
|
-
*
|
|
354
|
-
* Implementation of {@link CryptoStore.getEndToEndSessionsBatch}.
|
|
355
|
-
*
|
|
356
|
-
* @internal
|
|
351
|
+
/**
|
|
352
|
+
* Fetch a batch of Olm sessions from the database.
|
|
353
|
+
*
|
|
354
|
+
* Implementation of {@link CryptoStore.getEndToEndSessionsBatch}.
|
|
355
|
+
*
|
|
356
|
+
* @internal
|
|
357
357
|
*/
|
|
358
358
|
getEndToEndSessionsBatch() {
|
|
359
359
|
return this.backend.getEndToEndSessionsBatch();
|
|
360
360
|
}
|
|
361
361
|
|
|
362
|
-
/**
|
|
363
|
-
* Delete a batch of Olm sessions from the database.
|
|
364
|
-
*
|
|
365
|
-
* Implementation of {@link CryptoStore.deleteEndToEndSessionsBatch}.
|
|
366
|
-
*
|
|
367
|
-
* @internal
|
|
362
|
+
/**
|
|
363
|
+
* Delete a batch of Olm sessions from the database.
|
|
364
|
+
*
|
|
365
|
+
* Implementation of {@link CryptoStore.deleteEndToEndSessionsBatch}.
|
|
366
|
+
*
|
|
367
|
+
* @internal
|
|
368
368
|
*/
|
|
369
369
|
deleteEndToEndSessionsBatch(sessions) {
|
|
370
370
|
return this.backend.deleteEndToEndSessionsBatch(sessions);
|
|
@@ -372,94 +372,94 @@ export class IndexedDBCryptoStore {
|
|
|
372
372
|
|
|
373
373
|
// Inbound group sessions
|
|
374
374
|
|
|
375
|
-
/**
|
|
376
|
-
* Retrieve the end-to-end inbound group session for a given
|
|
377
|
-
* server key and session ID
|
|
378
|
-
* @param senderCurve25519Key - The sender's curve 25519 key
|
|
379
|
-
* @param sessionId - The ID of the session
|
|
380
|
-
* @param txn - An active transaction. See doTxn().
|
|
381
|
-
* @param func - Called with A map from sessionId
|
|
382
|
-
* to Base64 end-to-end session.
|
|
375
|
+
/**
|
|
376
|
+
* Retrieve the end-to-end inbound group session for a given
|
|
377
|
+
* server key and session ID
|
|
378
|
+
* @param senderCurve25519Key - The sender's curve 25519 key
|
|
379
|
+
* @param sessionId - The ID of the session
|
|
380
|
+
* @param txn - An active transaction. See doTxn().
|
|
381
|
+
* @param func - Called with A map from sessionId
|
|
382
|
+
* to Base64 end-to-end session.
|
|
383
383
|
*/
|
|
384
384
|
getEndToEndInboundGroupSession(senderCurve25519Key, sessionId, txn, func) {
|
|
385
385
|
this.backend.getEndToEndInboundGroupSession(senderCurve25519Key, sessionId, txn, func);
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
/**
|
|
389
|
-
* Writes an end-to-end inbound group session to the store.
|
|
390
|
-
* If there already exists an inbound group session with the same
|
|
391
|
-
* senderCurve25519Key and sessionID, it will be overwritten.
|
|
392
|
-
* @param senderCurve25519Key - The sender's curve 25519 key
|
|
393
|
-
* @param sessionId - The ID of the session
|
|
394
|
-
* @param sessionData - The session data structure
|
|
395
|
-
* @param txn - An active transaction. See doTxn().
|
|
388
|
+
/**
|
|
389
|
+
* Writes an end-to-end inbound group session to the store.
|
|
390
|
+
* If there already exists an inbound group session with the same
|
|
391
|
+
* senderCurve25519Key and sessionID, it will be overwritten.
|
|
392
|
+
* @param senderCurve25519Key - The sender's curve 25519 key
|
|
393
|
+
* @param sessionId - The ID of the session
|
|
394
|
+
* @param sessionData - The session data structure
|
|
395
|
+
* @param txn - An active transaction. See doTxn().
|
|
396
396
|
*/
|
|
397
397
|
storeEndToEndInboundGroupSession(senderCurve25519Key, sessionId, sessionData, txn) {
|
|
398
398
|
this.backend.storeEndToEndInboundGroupSession(senderCurve25519Key, sessionId, sessionData, txn);
|
|
399
399
|
}
|
|
400
400
|
|
|
401
|
-
/**
|
|
402
|
-
* Fetch a batch of Megolm sessions from the database.
|
|
403
|
-
*
|
|
404
|
-
* Implementation of {@link CryptoStore.getEndToEndInboundGroupSessionsBatch}.
|
|
405
|
-
*
|
|
406
|
-
* @internal
|
|
401
|
+
/**
|
|
402
|
+
* Fetch a batch of Megolm sessions from the database.
|
|
403
|
+
*
|
|
404
|
+
* Implementation of {@link CryptoStore.getEndToEndInboundGroupSessionsBatch}.
|
|
405
|
+
*
|
|
406
|
+
* @internal
|
|
407
407
|
*/
|
|
408
408
|
getEndToEndInboundGroupSessionsBatch() {
|
|
409
409
|
return this.backend.getEndToEndInboundGroupSessionsBatch();
|
|
410
410
|
}
|
|
411
411
|
|
|
412
|
-
/**
|
|
413
|
-
* Delete a batch of Megolm sessions from the database.
|
|
414
|
-
*
|
|
415
|
-
* Implementation of {@link CryptoStore.deleteEndToEndInboundGroupSessionsBatch}.
|
|
416
|
-
*
|
|
417
|
-
* @internal
|
|
412
|
+
/**
|
|
413
|
+
* Delete a batch of Megolm sessions from the database.
|
|
414
|
+
*
|
|
415
|
+
* Implementation of {@link CryptoStore.deleteEndToEndInboundGroupSessionsBatch}.
|
|
416
|
+
*
|
|
417
|
+
* @internal
|
|
418
418
|
*/
|
|
419
419
|
deleteEndToEndInboundGroupSessionsBatch(sessions) {
|
|
420
420
|
return this.backend.deleteEndToEndInboundGroupSessionsBatch(sessions);
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
/**
|
|
424
|
-
* Get an object of `roomId->roomInfo` for all e2e rooms in the store
|
|
425
|
-
* @param txn - An active transaction. See doTxn().
|
|
426
|
-
* @param func - Function called with the end-to-end encrypted rooms
|
|
423
|
+
/**
|
|
424
|
+
* Get an object of `roomId->roomInfo` for all e2e rooms in the store
|
|
425
|
+
* @param txn - An active transaction. See doTxn().
|
|
426
|
+
* @param func - Function called with the end-to-end encrypted rooms
|
|
427
427
|
*/
|
|
428
428
|
getEndToEndRooms(txn, func) {
|
|
429
429
|
this.backend.getEndToEndRooms(txn, func);
|
|
430
430
|
}
|
|
431
431
|
|
|
432
|
-
/**
|
|
433
|
-
* Mark sessions as needing to be backed up.
|
|
434
|
-
* @param sessions - The sessions that need to be backed up.
|
|
435
|
-
* @param txn - An active transaction. See doTxn(). (optional)
|
|
436
|
-
* @returns resolves when the sessions are marked
|
|
432
|
+
/**
|
|
433
|
+
* Mark sessions as needing to be backed up.
|
|
434
|
+
* @param sessions - The sessions that need to be backed up.
|
|
435
|
+
* @param txn - An active transaction. See doTxn(). (optional)
|
|
436
|
+
* @returns resolves when the sessions are marked
|
|
437
437
|
*/
|
|
438
438
|
markSessionsNeedingBackup(sessions, txn) {
|
|
439
439
|
return this.backend.markSessionsNeedingBackup(sessions, txn);
|
|
440
440
|
}
|
|
441
441
|
|
|
442
|
-
/**
|
|
443
|
-
* Perform a transaction on the crypto store. Any store methods
|
|
444
|
-
* that require a transaction (txn) object to be passed in may
|
|
445
|
-
* only be called within a callback of either this function or
|
|
446
|
-
* one of the store functions operating on the same transaction.
|
|
447
|
-
*
|
|
448
|
-
* @param mode - 'readwrite' if you need to call setter
|
|
449
|
-
* functions with this transaction. Otherwise, 'readonly'.
|
|
450
|
-
* @param stores - List IndexedDBCryptoStore.STORE_*
|
|
451
|
-
* options representing all types of object that will be
|
|
452
|
-
* accessed or written to with this transaction.
|
|
453
|
-
* @param func - Function called with the
|
|
454
|
-
* transaction object: an opaque object that should be passed
|
|
455
|
-
* to store functions.
|
|
456
|
-
* @param log - A possibly customised log
|
|
457
|
-
* @returns Promise that resolves with the result of the `func`
|
|
458
|
-
* when the transaction is complete. If the backend is
|
|
459
|
-
* async (ie. the indexeddb backend) any of the callback
|
|
460
|
-
* functions throwing an exception will cause this promise to
|
|
461
|
-
* reject with that exception. On synchronous backends, the
|
|
462
|
-
* exception will propagate to the caller of the getFoo method.
|
|
442
|
+
/**
|
|
443
|
+
* Perform a transaction on the crypto store. Any store methods
|
|
444
|
+
* that require a transaction (txn) object to be passed in may
|
|
445
|
+
* only be called within a callback of either this function or
|
|
446
|
+
* one of the store functions operating on the same transaction.
|
|
447
|
+
*
|
|
448
|
+
* @param mode - 'readwrite' if you need to call setter
|
|
449
|
+
* functions with this transaction. Otherwise, 'readonly'.
|
|
450
|
+
* @param stores - List IndexedDBCryptoStore.STORE_*
|
|
451
|
+
* options representing all types of object that will be
|
|
452
|
+
* accessed or written to with this transaction.
|
|
453
|
+
* @param func - Function called with the
|
|
454
|
+
* transaction object: an opaque object that should be passed
|
|
455
|
+
* to store functions.
|
|
456
|
+
* @param log - A possibly customised log
|
|
457
|
+
* @returns Promise that resolves with the result of the `func`
|
|
458
|
+
* when the transaction is complete. If the backend is
|
|
459
|
+
* async (ie. the indexeddb backend) any of the callback
|
|
460
|
+
* functions throwing an exception will cause this promise to
|
|
461
|
+
* reject with that exception. On synchronous backends, the
|
|
462
|
+
* exception will propagate to the caller of the getFoo method.
|
|
463
463
|
*/
|
|
464
464
|
doTxn(mode, stores, func, log) {
|
|
465
465
|
return this.backend.doTxn(mode, stores, func, log);
|