@textrp/briij-js-sdk 41.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 +6464 -0
- package/LICENSE +177 -0
- package/README.md +477 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
- package/lib/@types/IIdentityServerProvider.d.ts +9 -0
- package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
- package/lib/@types/IIdentityServerProvider.js +1 -0
- package/lib/@types/IIdentityServerProvider.js.map +1 -0
- package/lib/@types/PushRules.d.ts +140 -0
- package/lib/@types/PushRules.d.ts.map +1 -0
- package/lib/@types/PushRules.js +94 -0
- package/lib/@types/PushRules.js.map +1 -0
- package/lib/@types/another-json.d.js +0 -0
- package/lib/@types/another-json.d.js.map +1 -0
- package/lib/@types/auth.d.ts +213 -0
- package/lib/@types/auth.d.ts.map +1 -0
- package/lib/@types/auth.js +107 -0
- package/lib/@types/auth.js.map +1 -0
- package/lib/@types/beacon.d.ts +106 -0
- package/lib/@types/beacon.d.ts.map +1 -0
- package/lib/@types/beacon.js +119 -0
- package/lib/@types/beacon.js.map +1 -0
- package/lib/@types/common.d.ts +10 -0
- package/lib/@types/common.d.ts.map +1 -0
- package/lib/@types/common.js +1 -0
- package/lib/@types/common.js.map +1 -0
- package/lib/@types/crypto.d.ts +46 -0
- package/lib/@types/crypto.d.ts.map +1 -0
- package/lib/@types/crypto.js +1 -0
- package/lib/@types/crypto.js.map +1 -0
- package/lib/@types/event.d.ts +356 -0
- package/lib/@types/event.d.ts.map +1 -0
- package/lib/@types/event.js +280 -0
- package/lib/@types/event.js.map +1 -0
- package/lib/@types/events.d.ts +92 -0
- package/lib/@types/events.d.ts.map +1 -0
- package/lib/@types/events.js +1 -0
- package/lib/@types/events.js.map +1 -0
- package/lib/@types/extensible_events.d.ts +98 -0
- package/lib/@types/extensible_events.d.ts.map +1 -0
- package/lib/@types/extensible_events.js +116 -0
- package/lib/@types/extensible_events.js.map +1 -0
- package/lib/@types/global.d.js +18 -0
- package/lib/@types/global.d.js.map +1 -0
- package/lib/@types/local_notifications.d.ts +4 -0
- package/lib/@types/local_notifications.d.ts.map +1 -0
- package/lib/@types/local_notifications.js +1 -0
- package/lib/@types/local_notifications.js.map +1 -0
- package/lib/@types/location.d.ts +60 -0
- package/lib/@types/location.d.ts.map +1 -0
- package/lib/@types/location.js +66 -0
- package/lib/@types/location.js.map +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
- package/lib/@types/media.d.ts +220 -0
- package/lib/@types/media.d.ts.map +1 -0
- package/lib/@types/media.js +1 -0
- package/lib/@types/media.js.map +1 -0
- package/lib/@types/membership.d.ts +41 -0
- package/lib/@types/membership.d.ts.map +1 -0
- package/lib/@types/membership.js +58 -0
- package/lib/@types/membership.js.map +1 -0
- package/lib/@types/partials.d.ts +72 -0
- package/lib/@types/partials.d.ts.map +1 -0
- package/lib/@types/partials.js +71 -0
- package/lib/@types/partials.js.map +1 -0
- package/lib/@types/polls.d.ts +89 -0
- package/lib/@types/polls.d.ts.map +1 -0
- package/lib/@types/polls.js +86 -0
- package/lib/@types/polls.js.map +1 -0
- package/lib/@types/read_receipts.d.ts +36 -0
- package/lib/@types/read_receipts.d.ts.map +1 -0
- package/lib/@types/read_receipts.js +27 -0
- package/lib/@types/read_receipts.js.map +1 -0
- package/lib/@types/registration.d.ts +85 -0
- package/lib/@types/registration.d.ts.map +1 -0
- package/lib/@types/registration.js +1 -0
- package/lib/@types/registration.js.map +1 -0
- package/lib/@types/requests.d.ts +267 -0
- package/lib/@types/requests.d.ts.map +1 -0
- package/lib/@types/requests.js +42 -0
- package/lib/@types/requests.js.map +1 -0
- package/lib/@types/search.d.ts +90 -0
- package/lib/@types/search.d.ts.map +1 -0
- package/lib/@types/search.js +30 -0
- package/lib/@types/search.js.map +1 -0
- package/lib/@types/signed.d.ts +9 -0
- package/lib/@types/signed.d.ts.map +1 -0
- package/lib/@types/signed.js +1 -0
- package/lib/@types/signed.js.map +1 -0
- package/lib/@types/spaces.d.ts +16 -0
- package/lib/@types/spaces.d.ts.map +1 -0
- package/lib/@types/spaces.js +1 -0
- package/lib/@types/spaces.js.map +1 -0
- package/lib/@types/state_events.d.ts +121 -0
- package/lib/@types/state_events.d.ts.map +1 -0
- package/lib/@types/state_events.js +1 -0
- package/lib/@types/state_events.js.map +1 -0
- package/lib/@types/synapse.d.ts +19 -0
- package/lib/@types/synapse.d.ts.map +1 -0
- package/lib/@types/synapse.js +1 -0
- package/lib/@types/synapse.js.map +1 -0
- package/lib/@types/sync.d.ts +8 -0
- package/lib/@types/sync.d.ts.map +1 -0
- package/lib/@types/sync.js +25 -0
- package/lib/@types/sync.js.map +1 -0
- package/lib/@types/threepids.d.ts +12 -0
- package/lib/@types/threepids.d.ts.map +1 -0
- package/lib/@types/threepids.js +24 -0
- package/lib/@types/threepids.js.map +1 -0
- package/lib/@types/topic.d.ts +55 -0
- package/lib/@types/topic.d.ts.map +1 -0
- package/lib/@types/topic.js +62 -0
- package/lib/@types/topic.js.map +1 -0
- package/lib/@types/uia.d.ts +8 -0
- package/lib/@types/uia.d.ts.map +1 -0
- package/lib/@types/uia.js +1 -0
- package/lib/@types/uia.js.map +1 -0
- package/lib/NamespacedValue.d.ts +32 -0
- package/lib/NamespacedValue.d.ts.map +1 -0
- package/lib/NamespacedValue.js +113 -0
- package/lib/NamespacedValue.js.map +1 -0
- package/lib/ReEmitter.d.ts +15 -0
- package/lib/ReEmitter.d.ts.map +1 -0
- package/lib/ReEmitter.js +87 -0
- package/lib/ReEmitter.js.map +1 -0
- package/lib/ToDeviceMessageQueue.d.ts +30 -0
- package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
- package/lib/ToDeviceMessageQueue.js +135 -0
- package/lib/ToDeviceMessageQueue.js.map +1 -0
- package/lib/autodiscovery.d.ts +136 -0
- package/lib/autodiscovery.d.ts.map +1 -0
- package/lib/autodiscovery.js +464 -0
- package/lib/autodiscovery.js.map +1 -0
- package/lib/base64.d.ts +25 -0
- package/lib/base64.d.ts.map +1 -0
- package/lib/base64.js +95 -0
- package/lib/base64.js.map +1 -0
- package/lib/briij.d.ts +116 -0
- package/lib/briij.d.ts.map +1 -0
- package/lib/briij.js +145 -0
- package/lib/briij.js.map +1 -0
- package/lib/browser-index.d.ts +8 -0
- package/lib/browser-index.d.ts.map +1 -0
- package/lib/browser-index.js +35 -0
- package/lib/browser-index.js.map +1 -0
- package/lib/client.d.ts +3493 -0
- package/lib/client.d.ts.map +1 -0
- package/lib/client.js +7482 -0
- package/lib/client.js.map +1 -0
- package/lib/common-crypto/CryptoBackend.d.ts +234 -0
- package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
- package/lib/common-crypto/CryptoBackend.js +69 -0
- package/lib/common-crypto/CryptoBackend.js.map +1 -0
- package/lib/common-crypto/key-passphrase.d.ts +14 -0
- package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
- package/lib/common-crypto/key-passphrase.js +33 -0
- package/lib/common-crypto/key-passphrase.js.map +1 -0
- package/lib/content-helpers.d.ts +90 -0
- package/lib/content-helpers.d.ts.map +1 -0
- package/lib/content-helpers.js +262 -0
- package/lib/content-helpers.js.map +1 -0
- package/lib/content-repo.d.ts +25 -0
- package/lib/content-repo.d.ts.map +1 -0
- package/lib/content-repo.js +109 -0
- package/lib/content-repo.js.map +1 -0
- package/lib/crypto/store/base.d.ts +301 -0
- package/lib/crypto/store/base.d.ts.map +1 -0
- package/lib/crypto/store/base.js +145 -0
- package/lib/crypto/store/base.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/localStorage-crypto-store.js +374 -0
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
- package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
- package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
- package/lib/crypto/store/memory-crypto-store.js +311 -0
- package/lib/crypto/store/memory-crypto-store.js.map +1 -0
- package/lib/crypto-api/CryptoEvent.d.ts +120 -0
- package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEvent.js +137 -0
- package/lib/crypto-api/CryptoEvent.js.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
- package/lib/crypto-api/index.d.ts +1160 -0
- package/lib/crypto-api/index.d.ts.map +1 -0
- package/lib/crypto-api/index.js +410 -0
- package/lib/crypto-api/index.js.map +1 -0
- package/lib/crypto-api/key-passphrase.d.ts +11 -0
- package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
- package/lib/crypto-api/key-passphrase.js +51 -0
- package/lib/crypto-api/key-passphrase.js.map +1 -0
- package/lib/crypto-api/keybackup.d.ts +87 -0
- package/lib/crypto-api/keybackup.d.ts.map +1 -0
- package/lib/crypto-api/keybackup.js +1 -0
- package/lib/crypto-api/keybackup.js.map +1 -0
- package/lib/crypto-api/recovery-key.d.ts +11 -0
- package/lib/crypto-api/recovery-key.d.ts.map +1 -0
- package/lib/crypto-api/recovery-key.js +65 -0
- package/lib/crypto-api/recovery-key.js.map +1 -0
- package/lib/crypto-api/verification.d.ts +315 -0
- package/lib/crypto-api/verification.d.ts.map +1 -0
- package/lib/crypto-api/verification.js +130 -0
- package/lib/crypto-api/verification.js.map +1 -0
- package/lib/digest.d.ts +10 -0
- package/lib/digest.d.ts.map +1 -0
- package/lib/digest.js +40 -0
- package/lib/digest.js.map +1 -0
- package/lib/embedded.d.ts +182 -0
- package/lib/embedded.d.ts.map +1 -0
- package/lib/embedded.js +746 -0
- package/lib/embedded.js.map +1 -0
- package/lib/errors.d.ts +38 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +73 -0
- package/lib/errors.js.map +1 -0
- package/lib/event-mapper.d.ts +9 -0
- package/lib/event-mapper.d.ts.map +1 -0
- package/lib/event-mapper.js +74 -0
- package/lib/event-mapper.js.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
- package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
- package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
- package/lib/extensible_events_v1/InvalidEventError.js +25 -0
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts +44 -0
- package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/MessageEvent.js +134 -0
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
- package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollEndEvent.js +88 -0
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
- package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
- package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
- package/lib/extensible_events_v1/PollStartEvent.js +185 -0
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
- package/lib/extensible_events_v1/utilities.d.ts +14 -0
- package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
- package/lib/extensible_events_v1/utilities.js +34 -0
- package/lib/extensible_events_v1/utilities.js.map +1 -0
- package/lib/feature.d.ts +20 -0
- package/lib/feature.d.ts.map +1 -0
- package/lib/feature.js +89 -0
- package/lib/feature.js.map +1 -0
- package/lib/filter-component.d.ts +64 -0
- package/lib/filter-component.d.ts.map +1 -0
- package/lib/filter-component.js +170 -0
- package/lib/filter-component.js.map +1 -0
- package/lib/filter.d.ts +97 -0
- package/lib/filter.d.ts.map +1 -0
- package/lib/filter.js +207 -0
- package/lib/filter.js.map +1 -0
- package/lib/http-api/errors.d.ts +117 -0
- package/lib/http-api/errors.d.ts.map +1 -0
- package/lib/http-api/errors.js +245 -0
- package/lib/http-api/errors.js.map +1 -0
- package/lib/http-api/fetch.d.ts +80 -0
- package/lib/http-api/fetch.d.ts.map +1 -0
- package/lib/http-api/fetch.js +332 -0
- package/lib/http-api/fetch.js.map +1 -0
- package/lib/http-api/index.d.ts +33 -0
- package/lib/http-api/index.d.ts.map +1 -0
- package/lib/http-api/index.js +178 -0
- package/lib/http-api/index.js.map +1 -0
- package/lib/http-api/interface.d.ts +186 -0
- package/lib/http-api/interface.d.ts.map +1 -0
- package/lib/http-api/interface.js +39 -0
- package/lib/http-api/interface.js.map +1 -0
- package/lib/http-api/method.d.ts +10 -0
- package/lib/http-api/method.d.ts.map +1 -0
- package/lib/http-api/method.js +27 -0
- package/lib/http-api/method.js.map +1 -0
- package/lib/http-api/prefix.d.ts +31 -0
- package/lib/http-api/prefix.d.ts.map +1 -0
- package/lib/http-api/prefix.js +50 -0
- package/lib/http-api/prefix.js.map +1 -0
- package/lib/http-api/refresh.d.ts +53 -0
- package/lib/http-api/refresh.d.ts.map +1 -0
- package/lib/http-api/refresh.js +174 -0
- package/lib/http-api/refresh.js.map +1 -0
- package/lib/http-api/utils.d.ts +37 -0
- package/lib/http-api/utils.d.ts.map +1 -0
- package/lib/http-api/utils.js +182 -0
- package/lib/http-api/utils.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +24 -0
- package/lib/index.js.map +1 -0
- package/lib/indexeddb-helpers.d.ts +10 -0
- package/lib/indexeddb-helpers.d.ts.map +1 -0
- package/lib/indexeddb-helpers.js +51 -0
- package/lib/indexeddb-helpers.js.map +1 -0
- package/lib/indexeddb-worker.d.ts +7 -0
- package/lib/indexeddb-worker.d.ts.map +1 -0
- package/lib/indexeddb-worker.js +25 -0
- package/lib/indexeddb-worker.js.map +1 -0
- package/lib/interactive-auth.d.ts +341 -0
- package/lib/interactive-auth.d.ts.map +1 -0
- package/lib/interactive-auth.js +563 -0
- package/lib/interactive-auth.js.map +1 -0
- package/lib/logger.d.ts +124 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +230 -0
- package/lib/logger.js.map +1 -0
- package/lib/matrixrtc/CallMembership.d.ts +154 -0
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
- package/lib/matrixrtc/CallMembership.js +469 -0
- package/lib/matrixrtc/CallMembership.js.map +1 -0
- package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
- package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/EncryptionManager.js +13 -0
- package/lib/matrixrtc/EncryptionManager.js.map +1 -0
- package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
- package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/IKeyTransport.js +27 -0
- package/lib/matrixrtc/IKeyTransport.js.map +1 -0
- package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
- package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/IMembershipManager.js +40 -0
- package/lib/matrixrtc/IMembershipManager.js.map +1 -0
- package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
- package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
- package/lib/matrixrtc/LivekitTransport.js +29 -0
- package/lib/matrixrtc/LivekitTransport.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSession.js +623 -0
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManager.d.ts +210 -0
- package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManager.js +977 -0
- package/lib/matrixrtc/MembershipManager.js.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
- package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
- package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
- package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
- package/lib/matrixrtc/index.d.ts +9 -0
- package/lib/matrixrtc/index.d.ts.map +1 -0
- package/lib/matrixrtc/index.js +23 -0
- package/lib/matrixrtc/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/common.d.ts +8 -0
- package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/common.js +26 -0
- package/lib/matrixrtc/membershipData/common.js.map +1 -0
- package/lib/matrixrtc/membershipData/index.d.ts +4 -0
- package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/index.js +20 -0
- package/lib/matrixrtc/membershipData/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.js +137 -0
- package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
- package/lib/matrixrtc/membershipData/session.d.ts +77 -0
- package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/session.js +62 -0
- package/lib/matrixrtc/membershipData/session.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +169 -0
- package/lib/matrixrtc/types.d.ts.map +1 -0
- package/lib/matrixrtc/types.js +117 -0
- package/lib/matrixrtc/types.js.map +1 -0
- package/lib/matrixrtc/utils.d.ts +27 -0
- package/lib/matrixrtc/utils.d.ts.map +1 -0
- package/lib/matrixrtc/utils.js +72 -0
- package/lib/matrixrtc/utils.js.map +1 -0
- package/lib/models/MSC3089Branch.d.ts +98 -0
- package/lib/models/MSC3089Branch.d.ts.map +1 -0
- package/lib/models/MSC3089Branch.js +240 -0
- package/lib/models/MSC3089Branch.js.map +1 -0
- package/lib/models/MSC3089TreeSpace.d.ts +166 -0
- package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
- package/lib/models/MSC3089TreeSpace.js +521 -0
- package/lib/models/MSC3089TreeSpace.js.map +1 -0
- package/lib/models/ToDeviceMessage.d.ts +17 -0
- package/lib/models/ToDeviceMessage.d.ts.map +1 -0
- package/lib/models/ToDeviceMessage.js +1 -0
- package/lib/models/ToDeviceMessage.js.map +1 -0
- package/lib/models/beacon.d.ts +52 -0
- package/lib/models/beacon.d.ts.map +1 -0
- package/lib/models/beacon.js +174 -0
- package/lib/models/beacon.js.map +1 -0
- package/lib/models/compare-event-ordering.d.ts +24 -0
- package/lib/models/compare-event-ordering.d.ts.map +1 -0
- package/lib/models/compare-event-ordering.js +120 -0
- package/lib/models/compare-event-ordering.js.map +1 -0
- package/lib/models/device.d.ts +45 -0
- package/lib/models/device.d.ts.map +1 -0
- package/lib/models/device.js +77 -0
- package/lib/models/device.js.map +1 -0
- package/lib/models/event-context.d.ts +62 -0
- package/lib/models/event-context.d.ts.map +1 -0
- package/lib/models/event-context.js +113 -0
- package/lib/models/event-context.js.map +1 -0
- package/lib/models/event-status.d.ts +19 -0
- package/lib/models/event-status.d.ts.map +1 -0
- package/lib/models/event-status.js +36 -0
- package/lib/models/event-status.js.map +1 -0
- package/lib/models/event-timeline-set.d.ts +308 -0
- package/lib/models/event-timeline-set.d.ts.map +1 -0
- package/lib/models/event-timeline-set.js +805 -0
- package/lib/models/event-timeline-set.js.map +1 -0
- package/lib/models/event-timeline.d.ts +224 -0
- package/lib/models/event-timeline.d.ts.map +1 -0
- package/lib/models/event-timeline.js +434 -0
- package/lib/models/event-timeline.js.map +1 -0
- package/lib/models/event.d.ts +844 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +1600 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/invites-ignorer-types.d.ts +27 -0
- package/lib/models/invites-ignorer-types.d.ts.map +1 -0
- package/lib/models/invites-ignorer-types.js +56 -0
- package/lib/models/invites-ignorer-types.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +112 -0
- package/lib/models/invites-ignorer.d.ts.map +1 -0
- package/lib/models/invites-ignorer.js +357 -0
- package/lib/models/invites-ignorer.js.map +1 -0
- package/lib/models/poll.d.ts +67 -0
- package/lib/models/poll.d.ts.map +1 -0
- package/lib/models/poll.js +241 -0
- package/lib/models/poll.js.map +1 -0
- package/lib/models/profile-keys.d.ts +17 -0
- package/lib/models/profile-keys.d.ts.map +1 -0
- package/lib/models/profile-keys.js +34 -0
- package/lib/models/profile-keys.js.map +1 -0
- package/lib/models/read-receipt.d.ts +115 -0
- package/lib/models/read-receipt.d.ts.map +1 -0
- package/lib/models/read-receipt.js +366 -0
- package/lib/models/read-receipt.js.map +1 -0
- package/lib/models/related-relations.d.ts +11 -0
- package/lib/models/related-relations.d.ts.map +1 -0
- package/lib/models/related-relations.js +33 -0
- package/lib/models/related-relations.js.map +1 -0
- package/lib/models/relations-container.d.ts +44 -0
- package/lib/models/relations-container.d.ts.map +1 -0
- package/lib/models/relations-container.js +132 -0
- package/lib/models/relations-container.js.map +1 -0
- package/lib/models/relations.d.ts +123 -0
- package/lib/models/relations.d.ts.map +1 -0
- package/lib/models/relations.js +378 -0
- package/lib/models/relations.js.map +1 -0
- package/lib/models/room-member.d.ts +221 -0
- package/lib/models/room-member.d.ts.map +1 -0
- package/lib/models/room-member.js +376 -0
- package/lib/models/room-member.js.map +1 -0
- package/lib/models/room-receipts.d.ts +39 -0
- package/lib/models/room-receipts.d.ts.map +1 -0
- package/lib/models/room-receipts.js +392 -0
- package/lib/models/room-receipts.js.map +1 -0
- package/lib/models/room-state.d.ts +463 -0
- package/lib/models/room-state.d.ts.map +1 -0
- package/lib/models/room-state.js +1066 -0
- package/lib/models/room-state.js.map +1 -0
- package/lib/models/room-sticky-events.d.ts +110 -0
- package/lib/models/room-sticky-events.d.ts.map +1 -0
- package/lib/models/room-sticky-events.js +353 -0
- package/lib/models/room-sticky-events.js.map +1 -0
- package/lib/models/room-summary.d.ts +59 -0
- package/lib/models/room-summary.d.ts.map +1 -0
- package/lib/models/room-summary.js +39 -0
- package/lib/models/room-summary.js.map +1 -0
- package/lib/models/room.d.ts +1285 -0
- package/lib/models/room.d.ts.map +1 -0
- package/lib/models/room.js +3548 -0
- package/lib/models/room.js.map +1 -0
- package/lib/models/search-result.d.ts +20 -0
- package/lib/models/search-result.d.ts.map +1 -0
- package/lib/models/search-result.js +52 -0
- package/lib/models/search-result.js.map +1 -0
- package/lib/models/thread.d.ts +245 -0
- package/lib/models/thread.d.ts.map +1 -0
- package/lib/models/thread.js +866 -0
- package/lib/models/thread.js.map +1 -0
- package/lib/models/typed-event-emitter.d.ts +157 -0
- package/lib/models/typed-event-emitter.d.ts.map +1 -0
- package/lib/models/typed-event-emitter.js +227 -0
- package/lib/models/typed-event-emitter.js.map +1 -0
- package/lib/models/user.d.ts +195 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +218 -0
- package/lib/models/user.js.map +1 -0
- package/lib/oidc/authorize.d.ts +93 -0
- package/lib/oidc/authorize.d.ts.map +1 -0
- package/lib/oidc/authorize.js +282 -0
- package/lib/oidc/authorize.js.map +1 -0
- package/lib/oidc/discovery.d.ts +22 -0
- package/lib/oidc/discovery.d.ts.map +1 -0
- package/lib/oidc/discovery.js +78 -0
- package/lib/oidc/discovery.js.map +1 -0
- package/lib/oidc/error.d.ts +18 -0
- package/lib/oidc/error.d.ts.map +1 -0
- package/lib/oidc/error.js +35 -0
- package/lib/oidc/error.js.map +1 -0
- package/lib/oidc/index.d.ts +16 -0
- package/lib/oidc/index.d.ts.map +1 -0
- package/lib/oidc/index.js +29 -0
- package/lib/oidc/index.js.map +1 -0
- package/lib/oidc/register.d.ts +70 -0
- package/lib/oidc/register.d.ts.map +1 -0
- package/lib/oidc/register.js +135 -0
- package/lib/oidc/register.js.map +1 -0
- package/lib/oidc/tokenRefresher.d.ts +91 -0
- package/lib/oidc/tokenRefresher.d.ts.map +1 -0
- package/lib/oidc/tokenRefresher.js +187 -0
- package/lib/oidc/tokenRefresher.js.map +1 -0
- package/lib/oidc/validate.d.ts +78 -0
- package/lib/oidc/validate.d.ts.map +1 -0
- package/lib/oidc/validate.js +181 -0
- package/lib/oidc/validate.js.map +1 -0
- package/lib/pushprocessor.d.ts +140 -0
- package/lib/pushprocessor.d.ts.map +1 -0
- package/lib/pushprocessor.js +702 -0
- package/lib/pushprocessor.js.map +1 -0
- package/lib/randomstring.d.ts +32 -0
- package/lib/randomstring.d.ts.map +1 -0
- package/lib/randomstring.js +97 -0
- package/lib/randomstring.js.map +1 -0
- package/lib/realtime-callbacks.d.ts +18 -0
- package/lib/realtime-callbacks.d.ts.map +1 -0
- package/lib/realtime-callbacks.js +177 -0
- package/lib/realtime-callbacks.js.map +1 -0
- package/lib/receipt-accumulator.d.ts +51 -0
- package/lib/receipt-accumulator.d.ts.map +1 -0
- package/lib/receipt-accumulator.js +164 -0
- package/lib/receipt-accumulator.js.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js +389 -0
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
- package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
- package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousChannel.js +1 -0
- package/lib/rendezvous/RendezvousChannel.js.map +1 -0
- package/lib/rendezvous/RendezvousCode.d.ts +9 -0
- package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousCode.js +1 -0
- package/lib/rendezvous/RendezvousCode.js.map +1 -0
- package/lib/rendezvous/RendezvousError.d.ts +6 -0
- package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousError.js +23 -0
- package/lib/rendezvous/RendezvousError.js.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousFailureReason.js +47 -0
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
- package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
- package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousIntent.js +22 -0
- package/lib/rendezvous/RendezvousIntent.js.map +1 -0
- package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
- package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
- package/lib/rendezvous/RendezvousTransport.js +1 -0
- package/lib/rendezvous/RendezvousTransport.js.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
- package/lib/rendezvous/channels/index.d.ts +2 -0
- package/lib/rendezvous/channels/index.d.ts.map +1 -0
- package/lib/rendezvous/channels/index.js +18 -0
- package/lib/rendezvous/channels/index.js.map +1 -0
- package/lib/rendezvous/index.d.ts +10 -0
- package/lib/rendezvous/index.d.ts.map +1 -0
- package/lib/rendezvous/index.js +23 -0
- package/lib/rendezvous/index.js.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +254 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
- package/lib/rendezvous/transports/index.d.ts +2 -0
- package/lib/rendezvous/transports/index.d.ts.map +1 -0
- package/lib/rendezvous/transports/index.js +18 -0
- package/lib/rendezvous/transports/index.js.map +1 -0
- package/lib/room-hierarchy.d.ts +35 -0
- package/lib/room-hierarchy.d.ts.map +1 -0
- package/lib/room-hierarchy.js +136 -0
- package/lib/room-hierarchy.js.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +35 -0
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
- package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js +361 -0
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
- package/lib/rust-crypto/KeyClaimManager.js +82 -0
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +36 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -0
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js +175 -0
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +469 -0
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
- package/lib/rust-crypto/RoomEncryptor.js +308 -0
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +278 -0
- package/lib/rust-crypto/backup.d.ts.map +1 -0
- package/lib/rust-crypto/backup.js +898 -0
- package/lib/rust-crypto/backup.js.map +1 -0
- package/lib/rust-crypto/constants.d.ts +3 -0
- package/lib/rust-crypto/constants.d.ts.map +1 -0
- package/lib/rust-crypto/constants.js +19 -0
- package/lib/rust-crypto/constants.js.map +1 -0
- package/lib/rust-crypto/device-converter.d.ts +28 -0
- package/lib/rust-crypto/device-converter.d.ts.map +1 -0
- package/lib/rust-crypto/device-converter.js +123 -0
- package/lib/rust-crypto/device-converter.js.map +1 -0
- package/lib/rust-crypto/index.d.ts +65 -0
- package/lib/rust-crypto/index.d.ts.map +1 -0
- package/lib/rust-crypto/index.js +149 -0
- package/lib/rust-crypto/index.js.map +1 -0
- package/lib/rust-crypto/libolm_migration.d.ts +81 -0
- package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
- package/lib/rust-crypto/libolm_migration.js +456 -0
- package/lib/rust-crypto/libolm_migration.js.map +1 -0
- package/lib/rust-crypto/rust-crypto.d.ts +576 -0
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
- package/lib/rust-crypto/rust-crypto.js +2324 -0
- package/lib/rust-crypto/rust-crypto.js.map +1 -0
- package/lib/rust-crypto/secret-storage.d.ts +22 -0
- package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
- package/lib/rust-crypto/secret-storage.js +63 -0
- package/lib/rust-crypto/secret-storage.js.map +1 -0
- package/lib/rust-crypto/verification.d.ts +321 -0
- package/lib/rust-crypto/verification.d.ts.map +1 -0
- package/lib/rust-crypto/verification.js +817 -0
- package/lib/rust-crypto/verification.js.map +1 -0
- package/lib/scheduler.d.ts +132 -0
- package/lib/scheduler.d.ts.map +1 -0
- package/lib/scheduler.js +259 -0
- package/lib/scheduler.js.map +1 -0
- package/lib/secret-storage.d.ts +383 -0
- package/lib/secret-storage.d.ts.map +1 -0
- package/lib/secret-storage.js +487 -0
- package/lib/secret-storage.js.map +1 -0
- package/lib/serverCapabilities.d.ts +78 -0
- package/lib/serverCapabilities.d.ts.map +1 -0
- package/lib/serverCapabilities.js +104 -0
- package/lib/serverCapabilities.js.map +1 -0
- package/lib/service-types.d.ts +5 -0
- package/lib/service-types.d.ts.map +1 -0
- package/lib/service-types.js +23 -0
- package/lib/service-types.js.map +1 -0
- package/lib/sliding-sync-sdk.d.ts +107 -0
- package/lib/sliding-sync-sdk.d.ts.map +1 -0
- package/lib/sliding-sync-sdk.js +892 -0
- package/lib/sliding-sync-sdk.js.map +1 -0
- package/lib/sliding-sync.d.ts +306 -0
- package/lib/sliding-sync.d.ts.map +1 -0
- package/lib/sliding-sync.js +585 -0
- package/lib/sliding-sync.js.map +1 -0
- package/lib/store/index.d.ts +201 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/index.js +1 -0
- package/lib/store/index.js.map +1 -0
- package/lib/store/indexeddb-backend.d.ts +24 -0
- package/lib/store/indexeddb-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-backend.js +1 -0
- package/lib/store/indexeddb-backend.js.map +1 -0
- package/lib/store/indexeddb-local-backend.d.ts +129 -0
- package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-local-backend.js +599 -0
- package/lib/store/indexeddb-local-backend.js.map +1 -0
- package/lib/store/indexeddb-remote-backend.d.ts +79 -0
- package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
- package/lib/store/indexeddb-remote-backend.js +209 -0
- package/lib/store/indexeddb-remote-backend.js.map +1 -0
- package/lib/store/indexeddb-store-worker.d.ts +35 -0
- package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
- package/lib/store/indexeddb-store-worker.js +146 -0
- package/lib/store/indexeddb-store-worker.js.map +1 -0
- package/lib/store/indexeddb.d.ts +142 -0
- package/lib/store/indexeddb.d.ts.map +1 -0
- package/lib/store/indexeddb.js +347 -0
- package/lib/store/indexeddb.js.map +1 -0
- package/lib/store/local-storage-events-emitter.d.ts +30 -0
- package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
- package/lib/store/local-storage-events-emitter.js +37 -0
- package/lib/store/local-storage-events-emitter.js.map +1 -0
- package/lib/store/memory.d.ts +209 -0
- package/lib/store/memory.d.ts.map +1 -0
- package/lib/store/memory.js +432 -0
- package/lib/store/memory.js.map +1 -0
- package/lib/store/stub.d.ts +161 -0
- package/lib/store/stub.d.ts.map +1 -0
- package/lib/store/stub.js +268 -0
- package/lib/store/stub.js.map +1 -0
- package/lib/sync-accumulator.d.ts +207 -0
- package/lib/sync-accumulator.d.ts.map +1 -0
- package/lib/sync-accumulator.js +588 -0
- package/lib/sync-accumulator.js.map +1 -0
- package/lib/sync.d.ts +273 -0
- package/lib/sync.d.ts.map +1 -0
- package/lib/sync.js +1764 -0
- package/lib/sync.js.map +1 -0
- package/lib/testing.d.ts +98 -0
- package/lib/testing.d.ts.map +1 -0
- package/lib/testing.js +205 -0
- package/lib/testing.js.map +1 -0
- package/lib/thread-utils.d.ts +10 -0
- package/lib/thread-utils.d.ts.map +1 -0
- package/lib/thread-utils.js +31 -0
- package/lib/thread-utils.js.map +1 -0
- package/lib/timeline-window.d.ts +168 -0
- package/lib/timeline-window.d.ts.map +1 -0
- package/lib/timeline-window.js +494 -0
- package/lib/timeline-window.js.map +1 -0
- package/lib/types.d.ts +33 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +52 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/decryptAESSecretStorageItem.js +50 -0
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
- package/lib/utils/encryptAESSecretStorageItem.js +68 -0
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
- package/lib/utils/internal/deriveKeys.d.ts +10 -0
- package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
- package/lib/utils/internal/deriveKeys.js +60 -0
- package/lib/utils/internal/deriveKeys.js.map +1 -0
- package/lib/utils/roomVersion.d.ts +13 -0
- package/lib/utils/roomVersion.d.ts.map +1 -0
- package/lib/utils/roomVersion.js +36 -0
- package/lib/utils/roomVersion.js.map +1 -0
- package/lib/utils.d.ts +270 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +764 -0
- package/lib/utils.js.map +1 -0
- package/lib/version-support.d.ts +19 -0
- package/lib/version-support.d.ts.map +1 -0
- package/lib/version-support.js +37 -0
- package/lib/version-support.js.map +1 -0
- package/lib/webrtc/audioContext.d.ts +15 -0
- package/lib/webrtc/audioContext.d.ts.map +1 -0
- package/lib/webrtc/audioContext.js +46 -0
- package/lib/webrtc/audioContext.js.map +1 -0
- package/lib/webrtc/call.d.ts +560 -0
- package/lib/webrtc/call.d.ts.map +1 -0
- package/lib/webrtc/call.js +2596 -0
- package/lib/webrtc/call.js.map +1 -0
- package/lib/webrtc/callEventHandler.d.ts +37 -0
- package/lib/webrtc/callEventHandler.d.ts.map +1 -0
- package/lib/webrtc/callEventHandler.js +344 -0
- package/lib/webrtc/callEventHandler.js.map +1 -0
- package/lib/webrtc/callEventTypes.d.ts +79 -0
- package/lib/webrtc/callEventTypes.d.ts.map +1 -0
- package/lib/webrtc/callEventTypes.js +13 -0
- package/lib/webrtc/callEventTypes.js.map +1 -0
- package/lib/webrtc/callFeed.d.ts +128 -0
- package/lib/webrtc/callFeed.d.ts.map +1 -0
- package/lib/webrtc/callFeed.js +289 -0
- package/lib/webrtc/callFeed.js.map +1 -0
- package/lib/webrtc/groupCall.d.ts +319 -0
- package/lib/webrtc/groupCall.d.ts.map +1 -0
- package/lib/webrtc/groupCall.js +1334 -0
- package/lib/webrtc/groupCall.js.map +1 -0
- package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
- package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
- package/lib/webrtc/groupCallEventHandler.js +178 -0
- package/lib/webrtc/groupCallEventHandler.js.map +1 -0
- package/lib/webrtc/mediaHandler.d.ts +89 -0
- package/lib/webrtc/mediaHandler.d.ts.map +1 -0
- package/lib/webrtc/mediaHandler.js +454 -0
- package/lib/webrtc/mediaHandler.js.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js +79 -0
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
- package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
- package/lib/webrtc/stats/connectionStats.d.ts +28 -0
- package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStats.js +26 -0
- package/lib/webrtc/stats/connectionStats.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
- package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
- package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
- package/lib/webrtc/stats/groupCallStats.js +78 -0
- package/lib/webrtc/stats/groupCallStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js +58 -0
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
- package/lib/webrtc/stats/statsReport.d.ts +99 -0
- package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReport.js +32 -0
- package/lib/webrtc/stats/statsReport.js.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
- package/lib/webrtc/stats/statsReportEmitter.js +33 -0
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/transportStats.d.ts +11 -0
- package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStats.js +1 -0
- package/lib/webrtc/stats/transportStats.js.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
- package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
- package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
- package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
- package/lib/webrtc/stats/valueFormatter.js +25 -0
- package/lib/webrtc/stats/valueFormatter.js.map +1 -0
- package/package.json +129 -0
- package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
- package/src/@types/IIdentityServerProvider.ts +24 -0
- package/src/@types/PushRules.ts +208 -0
- package/src/@types/another-json.d.ts +19 -0
- package/src/@types/auth.ts +258 -0
- package/src/@types/beacon.ts +140 -0
- package/src/@types/common.ts +24 -0
- package/src/@types/crypto.ts +71 -0
- package/src/@types/event.ts +449 -0
- package/src/@types/events.ts +119 -0
- package/src/@types/extensible_events.ts +147 -0
- package/src/@types/global.d.ts +67 -0
- package/src/@types/local_notifications.ts +19 -0
- package/src/@types/location.ts +92 -0
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -0
- package/src/@types/media.ts +245 -0
- package/src/@types/membership.ts +57 -0
- package/src/@types/partials.ts +103 -0
- package/src/@types/polls.ts +120 -0
- package/src/@types/read_receipts.ts +61 -0
- package/src/@types/registration.ts +102 -0
- package/src/@types/requests.ts +346 -0
- package/src/@types/search.ts +119 -0
- package/src/@types/signed.ts +25 -0
- package/src/@types/spaces.ts +37 -0
- package/src/@types/state_events.ts +153 -0
- package/src/@types/synapse.ts +40 -0
- package/src/@types/sync.ts +27 -0
- package/src/@types/threepids.ts +29 -0
- package/src/@types/topic.ts +69 -0
- package/src/@types/uia.ts +24 -0
- package/src/NamespacedValue.ts +121 -0
- package/src/ReEmitter.ts +93 -0
- package/src/ToDeviceMessageQueue.ts +156 -0
- package/src/autodiscovery.ts +505 -0
- package/src/base64.ts +86 -0
- package/src/briij.ts +173 -0
- package/src/browser-index.ts +44 -0
- package/src/client.ts +9031 -0
- package/src/common-crypto/CryptoBackend.ts +295 -0
- package/src/common-crypto/README.md +4 -0
- package/src/common-crypto/key-passphrase.ts +43 -0
- package/src/content-helpers.ts +298 -0
- package/src/content-repo.ts +122 -0
- package/src/crypto/store/base.ts +388 -0
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
- package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
- package/src/crypto/store/localStorage-crypto-store.ts +409 -0
- package/src/crypto/store/memory-crypto-store.ts +326 -0
- package/src/crypto-api/CryptoEvent.ts +152 -0
- package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
- package/src/crypto-api/index.ts +1362 -0
- package/src/crypto-api/key-passphrase.ts +58 -0
- package/src/crypto-api/keybackup.ts +114 -0
- package/src/crypto-api/recovery-key.ts +69 -0
- package/src/crypto-api/verification.ts +382 -0
- package/src/digest.ts +34 -0
- package/src/embedded.ts +865 -0
- package/src/errors.ts +87 -0
- package/src/event-mapper.ts +88 -0
- package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
- package/src/extensible_events_v1/InvalidEventError.ts +24 -0
- package/src/extensible_events_v1/MessageEvent.ts +143 -0
- package/src/extensible_events_v1/PollEndEvent.ts +97 -0
- package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
- package/src/extensible_events_v1/PollStartEvent.ts +207 -0
- package/src/extensible_events_v1/utilities.ts +35 -0
- package/src/feature.ts +88 -0
- package/src/filter-component.ts +209 -0
- package/src/filter.ts +245 -0
- package/src/http-api/errors.ts +261 -0
- package/src/http-api/fetch.ts +377 -0
- package/src/http-api/index.ts +194 -0
- package/src/http-api/interface.ts +229 -0
- package/src/http-api/method.ts +25 -0
- package/src/http-api/prefix.ts +48 -0
- package/src/http-api/refresh.ts +167 -0
- package/src/http-api/utils.ts +217 -0
- package/src/index.ts +25 -0
- package/src/indexeddb-helpers.ts +50 -0
- package/src/indexeddb-worker.ts +24 -0
- package/src/interactive-auth.ts +700 -0
- package/src/logger.ts +279 -0
- package/src/matrixrtc/CallMembership.ts +438 -0
- package/src/matrixrtc/EncryptionManager.ts +54 -0
- package/src/matrixrtc/IKeyTransport.ts +63 -0
- package/src/matrixrtc/IMembershipManager.ts +120 -0
- package/src/matrixrtc/LivekitTransport.ts +46 -0
- package/src/matrixrtc/MatrixRTCSession.ts +934 -0
- package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
- package/src/matrixrtc/MembershipManager.ts +1122 -0
- package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
- package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
- package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
- package/src/matrixrtc/index.ts +24 -0
- package/src/matrixrtc/membershipData/common.ts +27 -0
- package/src/matrixrtc/membershipData/index.ts +19 -0
- package/src/matrixrtc/membershipData/rtc.ts +156 -0
- package/src/matrixrtc/membershipData/session.ts +146 -0
- package/src/matrixrtc/types.ts +227 -0
- package/src/matrixrtc/utils.ts +71 -0
- package/src/models/MSC3089Branch.ts +272 -0
- package/src/models/MSC3089TreeSpace.ts +565 -0
- package/src/models/ToDeviceMessage.ts +38 -0
- package/src/models/beacon.ts +213 -0
- package/src/models/compare-event-ordering.ts +139 -0
- package/src/models/device.ts +85 -0
- package/src/models/event-context.ts +110 -0
- package/src/models/event-status.ts +39 -0
- package/src/models/event-timeline-set.ts +962 -0
- package/src/models/event-timeline.ts +461 -0
- package/src/models/event.ts +1819 -0
- package/src/models/invites-ignorer-types.ts +58 -0
- package/src/models/invites-ignorer.ts +341 -0
- package/src/models/poll.ts +285 -0
- package/src/models/profile-keys.ts +33 -0
- package/src/models/read-receipt.ts +422 -0
- package/src/models/related-relations.ts +39 -0
- package/src/models/relations-container.ts +149 -0
- package/src/models/relations.ts +392 -0
- package/src/models/room-member.ts +486 -0
- package/src/models/room-receipts.ts +439 -0
- package/src/models/room-state.ts +1230 -0
- package/src/models/room-sticky-events.ts +383 -0
- package/src/models/room-summary.ts +78 -0
- package/src/models/room.ts +4067 -0
- package/src/models/search-result.ts +57 -0
- package/src/models/thread.ts +928 -0
- package/src/models/typed-event-emitter.ts +246 -0
- package/src/models/user.ts +302 -0
- package/src/oidc/authorize.ts +279 -0
- package/src/oidc/discovery.ts +67 -0
- package/src/oidc/error.ts +33 -0
- package/src/oidc/index.ts +33 -0
- package/src/oidc/register.ts +163 -0
- package/src/oidc/tokenRefresher.ts +184 -0
- package/src/oidc/validate.ts +265 -0
- package/src/pushprocessor.ts +856 -0
- package/src/randomstring.ts +103 -0
- package/src/realtime-callbacks.ts +191 -0
- package/src/receipt-accumulator.ts +189 -0
- package/src/rendezvous/MSC4108SignInWithQR.ts +443 -0
- package/src/rendezvous/RendezvousChannel.ts +48 -0
- package/src/rendezvous/RendezvousCode.ts +25 -0
- package/src/rendezvous/RendezvousError.ts +26 -0
- package/src/rendezvous/RendezvousFailureReason.ts +49 -0
- package/src/rendezvous/RendezvousIntent.ts +20 -0
- package/src/rendezvous/RendezvousTransport.ts +58 -0
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
- package/src/rendezvous/channels/index.ts +17 -0
- package/src/rendezvous/index.ts +25 -0
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +272 -0
- package/src/rendezvous/transports/index.ts +17 -0
- package/src/room-hierarchy.ts +152 -0
- package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
- package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
- package/src/rust-crypto/KeyClaimManager.ts +86 -0
- package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
- package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
- package/src/rust-crypto/RoomEncryptor.ts +362 -0
- package/src/rust-crypto/backup.ts +942 -0
- package/src/rust-crypto/constants.ts +18 -0
- package/src/rust-crypto/device-converter.ts +128 -0
- package/src/rust-crypto/index.ts +251 -0
- package/src/rust-crypto/libolm_migration.ts +532 -0
- package/src/rust-crypto/rust-crypto.ts +2542 -0
- package/src/rust-crypto/secret-storage.ts +60 -0
- package/src/rust-crypto/verification.ts +833 -0
- package/src/scheduler.ts +309 -0
- package/src/secret-storage.ts +714 -0
- package/src/serverCapabilities.ts +146 -0
- package/src/service-types.ts +20 -0
- package/src/sliding-sync-sdk.ts +1005 -0
- package/src/sliding-sync.ts +674 -0
- package/src/store/index.ts +261 -0
- package/src/store/indexeddb-backend.ts +41 -0
- package/src/store/indexeddb-local-backend.ts +610 -0
- package/src/store/indexeddb-remote-backend.ts +212 -0
- package/src/store/indexeddb-store-worker.ts +157 -0
- package/src/store/indexeddb.ts +397 -0
- package/src/store/local-storage-events-emitter.ts +46 -0
- package/src/store/memory.ts +448 -0
- package/src/store/stub.ts +280 -0
- package/src/sync-accumulator.ts +779 -0
- package/src/sync.ts +2020 -0
- package/src/testing.ts +231 -0
- package/src/thread-utils.ts +31 -0
- package/src/timeline-window.ts +534 -0
- package/src/types.ts +59 -0
- package/src/utils/decryptAESSecretStorageItem.ts +54 -0
- package/src/utils/encryptAESSecretStorageItem.ts +73 -0
- package/src/utils/internal/deriveKeys.ts +63 -0
- package/src/utils/roomVersion.ts +35 -0
- package/src/utils.ts +775 -0
- package/src/version-support.ts +50 -0
- package/src/webrtc/audioContext.ts +44 -0
- package/src/webrtc/call.ts +3061 -0
- package/src/webrtc/callEventHandler.ts +425 -0
- package/src/webrtc/callEventTypes.ts +101 -0
- package/src/webrtc/callFeed.ts +364 -0
- package/src/webrtc/groupCall.ts +1729 -0
- package/src/webrtc/groupCallEventHandler.ts +234 -0
- package/src/webrtc/mediaHandler.ts +501 -0
- package/src/webrtc/stats/callFeedStatsReporter.ts +91 -0
- package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
- package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
- package/src/webrtc/stats/connectionStats.ts +47 -0
- package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
- package/src/webrtc/stats/groupCallStats.ts +93 -0
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
- package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -0
- package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
- package/src/webrtc/stats/statsReport.ts +133 -0
- package/src/webrtc/stats/statsReportEmitter.ts +49 -0
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
- package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
- package/src/webrtc/stats/transportStats.ts +26 -0
- package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
- package/src/webrtc/stats/valueFormatter.ts +27 -0
|
@@ -0,0 +1,702 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
/*
|
|
5
|
+
Copyright 2015 - 2021 The Matrix.org Foundation C.I.C.
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { deepCompare, escapeRegExp, globToRegexp, isNullOrUndefined } from "./utils.js";
|
|
21
|
+
import { ConditionKind, PushRuleActionName, PushRuleKind, RuleId, TweakName } from "./@types/PushRules.js";
|
|
22
|
+
import { EventType } from "./@types/event.js";
|
|
23
|
+
var RULEKINDS_IN_ORDER = [PushRuleKind.Override, PushRuleKind.ContentSpecific, PushRuleKind.RoomSpecific, PushRuleKind.SenderSpecific, PushRuleKind.Underride];
|
|
24
|
+
|
|
25
|
+
// The default override rules to apply to the push rules that arrive from the server.
|
|
26
|
+
// We do this for two reasons:
|
|
27
|
+
// 1. Synapse is unlikely to send us the push rule in an incremental sync - see
|
|
28
|
+
// https://github.com/matrix-org/synapse/pull/4867#issuecomment-481446072 for
|
|
29
|
+
// more details.
|
|
30
|
+
// 2. We often want to start using push rules ahead of the server supporting them,
|
|
31
|
+
// and so we can put them here.
|
|
32
|
+
var DEFAULT_OVERRIDE_RULES = {
|
|
33
|
+
".m.rule.is_room_mention": {
|
|
34
|
+
// Matrix v1.7
|
|
35
|
+
rule_id: ".m.rule.is_room_mention",
|
|
36
|
+
default: true,
|
|
37
|
+
enabled: true,
|
|
38
|
+
conditions: [{
|
|
39
|
+
kind: ConditionKind.EventPropertyIs,
|
|
40
|
+
key: "content.m\\.mentions.room",
|
|
41
|
+
value: true
|
|
42
|
+
}, {
|
|
43
|
+
kind: ConditionKind.SenderNotificationPermission,
|
|
44
|
+
key: "room"
|
|
45
|
+
}],
|
|
46
|
+
actions: [PushRuleActionName.Notify, {
|
|
47
|
+
set_tweak: TweakName.Highlight
|
|
48
|
+
}]
|
|
49
|
+
},
|
|
50
|
+
".m.rule.reaction": {
|
|
51
|
+
// For homeservers which don't support MSC2153 yet
|
|
52
|
+
rule_id: ".m.rule.reaction",
|
|
53
|
+
default: true,
|
|
54
|
+
enabled: true,
|
|
55
|
+
conditions: [{
|
|
56
|
+
kind: ConditionKind.EventMatch,
|
|
57
|
+
key: "type",
|
|
58
|
+
pattern: "m.reaction"
|
|
59
|
+
}],
|
|
60
|
+
actions: [PushRuleActionName.DontNotify]
|
|
61
|
+
},
|
|
62
|
+
".org.matrix.msc3786.rule.room.server_acl": {
|
|
63
|
+
// For homeservers which don't support MSC3786 yet
|
|
64
|
+
rule_id: ".org.matrix.msc3786.rule.room.server_acl",
|
|
65
|
+
default: true,
|
|
66
|
+
enabled: true,
|
|
67
|
+
conditions: [{
|
|
68
|
+
kind: ConditionKind.EventMatch,
|
|
69
|
+
key: "type",
|
|
70
|
+
pattern: EventType.RoomServerAcl
|
|
71
|
+
}, {
|
|
72
|
+
kind: ConditionKind.EventMatch,
|
|
73
|
+
key: "state_key",
|
|
74
|
+
pattern: ""
|
|
75
|
+
}],
|
|
76
|
+
actions: []
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
// A special rule id for `EXPECTED_DEFAULT_OVERRIDE_RULE_IDS` and friends which denotes where user-defined rules live in the order.
|
|
81
|
+
var UserDefinedRules = Symbol("UserDefinedRules");
|
|
82
|
+
var EXPECTED_DEFAULT_OVERRIDE_RULE_IDS = [RuleId.Master, UserDefinedRules, RuleId.SuppressNotices, RuleId.InviteToSelf, RuleId.MemberEvent, RuleId.IsUserMention, RuleId.ContainsDisplayName, RuleId.IsRoomMention, RuleId.AtRoomNotification, RuleId.Tombstone, ".m.rule.reaction", ".m.rule.room.server_acl", ".org.matrix.msc3786.rule.room.server_acl", ".m.rule.suppress_edits"];
|
|
83
|
+
var DEFAULT_UNDERRIDE_RULES = {
|
|
84
|
+
".org.matrix.msc3914.rule.room.call": {
|
|
85
|
+
// For homeservers which don't support MSC3914 yet
|
|
86
|
+
rule_id: ".org.matrix.msc3914.rule.room.call",
|
|
87
|
+
default: true,
|
|
88
|
+
enabled: true,
|
|
89
|
+
conditions: [{
|
|
90
|
+
kind: ConditionKind.EventMatch,
|
|
91
|
+
key: "type",
|
|
92
|
+
pattern: "org.matrix.msc3401.call"
|
|
93
|
+
}, {
|
|
94
|
+
kind: ConditionKind.CallStarted
|
|
95
|
+
}],
|
|
96
|
+
actions: [PushRuleActionName.Notify, {
|
|
97
|
+
set_tweak: TweakName.Sound,
|
|
98
|
+
value: "default"
|
|
99
|
+
}]
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
var EXPECTED_DEFAULT_UNDERRIDE_RULE_IDS = [UserDefinedRules, RuleId.IncomingCall, ".org.matrix.msc3914.rule.room.call", RuleId.EncryptedDM, RuleId.DM, RuleId.Message, RuleId.EncryptedMessage];
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Make sure that each of the rules listed in `defaultRuleIds` is listed in the given set of push rules.
|
|
106
|
+
*
|
|
107
|
+
* @param logger - A `Logger` to write log messages to.
|
|
108
|
+
* @param kind - the kind of push rule set being merged.
|
|
109
|
+
* @param incomingRules - the existing set of known push rules for the user.
|
|
110
|
+
* @param defaultRules - a lookup table for the default definitions of push rules.
|
|
111
|
+
* @param orderedRuleIds - the IDs of the expected push rules, in order.
|
|
112
|
+
*
|
|
113
|
+
* @returns A copy of `incomingRules`, with any missing default rules inserted in the right place.
|
|
114
|
+
*/
|
|
115
|
+
function mergeRulesWithDefaults(logger, kind, incomingRules, defaultRules, orderedRuleIds) {
|
|
116
|
+
// Split the incomingRules into defaults and custom
|
|
117
|
+
var incomingDefaultRules = incomingRules.filter(rule => rule.default);
|
|
118
|
+
var incomingCustomRules = incomingRules.filter(rule => !rule.default);
|
|
119
|
+
function insertDefaultPushRule(ruleId) {
|
|
120
|
+
if (ruleId === UserDefinedRules) {
|
|
121
|
+
// Re-insert any user-defined rules that were in `incomingRules`
|
|
122
|
+
newRules.push(...incomingCustomRules);
|
|
123
|
+
} else if (ruleId in defaultRules) {
|
|
124
|
+
logger.warn("Adding default global ".concat(kind, " push rule ").concat(ruleId));
|
|
125
|
+
newRules.push(defaultRules[ruleId]);
|
|
126
|
+
} else {
|
|
127
|
+
logger.warn("Missing default global ".concat(kind, " push rule ").concat(ruleId));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
var nextExpectedRuleIdIndex = 0;
|
|
131
|
+
var newRules = [];
|
|
132
|
+
// Merge our expected rules (including the incoming custom rules) into the incoming default rules.
|
|
133
|
+
for (var rule of incomingDefaultRules) {
|
|
134
|
+
var ruleIndex = orderedRuleIds.indexOf(rule.rule_id);
|
|
135
|
+
if (ruleIndex === -1) {
|
|
136
|
+
// an unrecognised rule; copy it over
|
|
137
|
+
newRules.push(rule);
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
while (ruleIndex > nextExpectedRuleIdIndex) {
|
|
141
|
+
// insert new rules
|
|
142
|
+
var defaultRuleId = orderedRuleIds[nextExpectedRuleIdIndex];
|
|
143
|
+
insertDefaultPushRule(defaultRuleId);
|
|
144
|
+
nextExpectedRuleIdIndex += 1;
|
|
145
|
+
}
|
|
146
|
+
// copy over the existing rule
|
|
147
|
+
newRules.push(rule);
|
|
148
|
+
nextExpectedRuleIdIndex += 1;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Now copy over any remaining default rules
|
|
152
|
+
for (var ruleId of orderedRuleIds.slice(nextExpectedRuleIdIndex)) {
|
|
153
|
+
insertDefaultPushRule(ruleId);
|
|
154
|
+
}
|
|
155
|
+
return newRules;
|
|
156
|
+
}
|
|
157
|
+
export class PushProcessor {
|
|
158
|
+
/**
|
|
159
|
+
* Construct a Push Processor.
|
|
160
|
+
* @param client - The Matrix client object to use
|
|
161
|
+
*/
|
|
162
|
+
constructor(client) {
|
|
163
|
+
this.client = client;
|
|
164
|
+
/**
|
|
165
|
+
* Maps the original key from the push rules to a list of property names
|
|
166
|
+
* after unescaping.
|
|
167
|
+
*/
|
|
168
|
+
_defineProperty(this, "parsedKeys", new Map());
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Convert a list of actions into a object with the actions as keys and their values
|
|
172
|
+
* @example
|
|
173
|
+
* eg. `[ 'notify', { set_tweak: 'sound', value: 'default' } ]`
|
|
174
|
+
* becomes `{ notify: true, tweaks: { sound: 'default' } }`
|
|
175
|
+
* @param actionList - The actions list
|
|
176
|
+
*
|
|
177
|
+
* @returns A object with key 'notify' (true or false) and an object of actions
|
|
178
|
+
*/
|
|
179
|
+
static actionListToActionsObject(actionList) {
|
|
180
|
+
var actionObj = {
|
|
181
|
+
notify: false,
|
|
182
|
+
tweaks: {}
|
|
183
|
+
};
|
|
184
|
+
for (var action of actionList) {
|
|
185
|
+
if (action === PushRuleActionName.Notify) {
|
|
186
|
+
actionObj.notify = true;
|
|
187
|
+
} else if (typeof action === "object") {
|
|
188
|
+
if (action.value === undefined) {
|
|
189
|
+
action.value = true;
|
|
190
|
+
}
|
|
191
|
+
actionObj.tweaks[action.set_tweak] = action.value;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return actionObj;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Rewrites conditions on a client's push rules to match the defaults
|
|
199
|
+
* where applicable. Useful for upgrading push rules to more strict
|
|
200
|
+
* conditions when the server is falling behind on defaults.
|
|
201
|
+
*
|
|
202
|
+
* @param logger - A `Logger` to write log messages to.
|
|
203
|
+
* @param incomingRules - The client's existing push rules
|
|
204
|
+
* @param userId - The Matrix ID of the client.
|
|
205
|
+
* @returns The rewritten rules
|
|
206
|
+
*/
|
|
207
|
+
static rewriteDefaultRules(logger, incomingRules) {
|
|
208
|
+
var userId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
209
|
+
var newRules = JSON.parse(JSON.stringify(incomingRules)); // deep clone
|
|
210
|
+
|
|
211
|
+
// These lines are mostly to make the tests happy. We shouldn't run into these
|
|
212
|
+
// properties missing in practice.
|
|
213
|
+
if (!newRules) newRules = {};
|
|
214
|
+
if (!newRules.global) newRules.global = {};
|
|
215
|
+
if (!newRules.global.override) newRules.global.override = [];
|
|
216
|
+
if (!newRules.global.underride) newRules.global.underride = [];
|
|
217
|
+
|
|
218
|
+
// Merge the client-level defaults with the ones from the server
|
|
219
|
+
newRules.global.override = mergeRulesWithDefaults(logger, PushRuleKind.Override, newRules.global.override, DEFAULT_OVERRIDE_RULES, EXPECTED_DEFAULT_OVERRIDE_RULE_IDS);
|
|
220
|
+
newRules.global.underride = mergeRulesWithDefaults(logger, PushRuleKind.Underride, newRules.global.underride, DEFAULT_UNDERRIDE_RULES, EXPECTED_DEFAULT_UNDERRIDE_RULE_IDS);
|
|
221
|
+
return newRules;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Create a RegExp object for the given glob pattern with a single capture group around the pattern itself, caching the result.
|
|
226
|
+
* No cache invalidation is present currently,
|
|
227
|
+
* as this will be inherently bounded to the size of the user's own push rules.
|
|
228
|
+
* @param pattern - the glob pattern to convert to a RegExp
|
|
229
|
+
* @param alignToWordBoundary - whether to align the pattern to word boundaries,
|
|
230
|
+
* as specified for `content.body` matches, will use lookaround assertions to ensure the match only includes the pattern
|
|
231
|
+
* @param flags - the flags to pass to the RegExp constructor, defaults to case-insensitive
|
|
232
|
+
*/
|
|
233
|
+
static getPushRuleGlobRegex(pattern) {
|
|
234
|
+
var alignToWordBoundary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
235
|
+
var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "i";
|
|
236
|
+
var [prefix, suffix] = alignToWordBoundary ? ["(?<=^|\\W)", "(?=\\W|$)"] : ["^", "$"];
|
|
237
|
+
var cacheKey = "".concat(alignToWordBoundary, "-").concat(flags, "-").concat(pattern);
|
|
238
|
+
if (!PushProcessor.cachedGlobToRegex[cacheKey]) {
|
|
239
|
+
PushProcessor.cachedGlobToRegex[cacheKey] = new RegExp(prefix + "(" + globToRegexp(pattern) + ")" + suffix, flags);
|
|
240
|
+
}
|
|
241
|
+
return PushProcessor.cachedGlobToRegex[cacheKey];
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Pre-caches the parsed keys for push rules and cleans out any obsolete cache
|
|
246
|
+
* entries. Should be called after push rules are updated.
|
|
247
|
+
* @param newRules - The new push rules.
|
|
248
|
+
*/
|
|
249
|
+
updateCachedPushRuleKeys(newRules) {
|
|
250
|
+
// These lines are mostly to make the tests happy. We shouldn't run into these
|
|
251
|
+
// properties missing in practice.
|
|
252
|
+
if (!newRules) newRules = {};
|
|
253
|
+
if (!newRules.global) newRules.global = {};
|
|
254
|
+
if (!newRules.global.override) newRules.global.override = [];
|
|
255
|
+
if (!newRules.global.room) newRules.global.room = [];
|
|
256
|
+
if (!newRules.global.sender) newRules.global.sender = [];
|
|
257
|
+
if (!newRules.global.underride) newRules.global.underride = [];
|
|
258
|
+
|
|
259
|
+
// Process the 'key' property on event_match conditions pre-cache the
|
|
260
|
+
// values and clean-out any unused values.
|
|
261
|
+
var toRemoveKeys = new Set(this.parsedKeys.keys());
|
|
262
|
+
for (var ruleset of [newRules.global.override, newRules.global.room, newRules.global.sender, newRules.global.underride]) {
|
|
263
|
+
for (var rule of ruleset) {
|
|
264
|
+
if (!rule.conditions) {
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
for (var condition of rule.conditions) {
|
|
268
|
+
if (condition.kind !== ConditionKind.EventMatch) {
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Ensure we keep this key.
|
|
273
|
+
toRemoveKeys.delete(condition.key);
|
|
274
|
+
|
|
275
|
+
// Pre-process the key.
|
|
276
|
+
this.parsedKeys.set(condition.key, PushProcessor.partsForDottedKey(condition.key));
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
// Any keys that were previously cached, but are no longer needed should
|
|
281
|
+
// be removed.
|
|
282
|
+
toRemoveKeys.forEach(k => this.parsedKeys.delete(k));
|
|
283
|
+
}
|
|
284
|
+
// $glob: RegExp
|
|
285
|
+
|
|
286
|
+
matchingRuleFromKindSet(ev, kindset) {
|
|
287
|
+
for (var kind of RULEKINDS_IN_ORDER) {
|
|
288
|
+
var ruleset = kindset[kind];
|
|
289
|
+
if (!ruleset) {
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
for (var rule of ruleset) {
|
|
293
|
+
if (!rule.enabled) {
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
var rawrule = this.templateRuleToRaw(kind, rule);
|
|
297
|
+
if (!rawrule) {
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
if (this.ruleMatchesEvent(rawrule, ev)) {
|
|
301
|
+
return _objectSpread(_objectSpread({}, rule), {}, {
|
|
302
|
+
kind
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
templateRuleToRaw(kind, tprule) {
|
|
310
|
+
var rawrule = {
|
|
311
|
+
rule_id: tprule.rule_id,
|
|
312
|
+
actions: tprule.actions,
|
|
313
|
+
conditions: []
|
|
314
|
+
};
|
|
315
|
+
switch (kind) {
|
|
316
|
+
case PushRuleKind.Underride:
|
|
317
|
+
case PushRuleKind.Override:
|
|
318
|
+
rawrule.conditions = tprule.conditions;
|
|
319
|
+
break;
|
|
320
|
+
case PushRuleKind.RoomSpecific:
|
|
321
|
+
if (!tprule.rule_id) {
|
|
322
|
+
return null;
|
|
323
|
+
}
|
|
324
|
+
rawrule.conditions.push({
|
|
325
|
+
kind: ConditionKind.EventMatch,
|
|
326
|
+
key: "room_id",
|
|
327
|
+
value: tprule.rule_id
|
|
328
|
+
});
|
|
329
|
+
break;
|
|
330
|
+
case PushRuleKind.SenderSpecific:
|
|
331
|
+
if (!tprule.rule_id) {
|
|
332
|
+
return null;
|
|
333
|
+
}
|
|
334
|
+
rawrule.conditions.push({
|
|
335
|
+
kind: ConditionKind.EventMatch,
|
|
336
|
+
key: "user_id",
|
|
337
|
+
value: tprule.rule_id
|
|
338
|
+
});
|
|
339
|
+
break;
|
|
340
|
+
case PushRuleKind.ContentSpecific:
|
|
341
|
+
if (!tprule.pattern) {
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
344
|
+
rawrule.conditions.push({
|
|
345
|
+
kind: ConditionKind.EventMatch,
|
|
346
|
+
key: "content.body",
|
|
347
|
+
pattern: tprule.pattern
|
|
348
|
+
});
|
|
349
|
+
break;
|
|
350
|
+
}
|
|
351
|
+
return rawrule;
|
|
352
|
+
}
|
|
353
|
+
eventFulfillsCondition(cond, ev) {
|
|
354
|
+
switch (cond.kind) {
|
|
355
|
+
case ConditionKind.EventMatch:
|
|
356
|
+
return this.eventFulfillsEventMatchCondition(cond, ev);
|
|
357
|
+
case ConditionKind.EventPropertyIs:
|
|
358
|
+
return this.eventFulfillsEventPropertyIsCondition(cond, ev);
|
|
359
|
+
case ConditionKind.EventPropertyContains:
|
|
360
|
+
return this.eventFulfillsEventPropertyContains(cond, ev);
|
|
361
|
+
case ConditionKind.ContainsDisplayName:
|
|
362
|
+
return this.eventFulfillsDisplayNameCondition(cond, ev);
|
|
363
|
+
case ConditionKind.RoomMemberCount:
|
|
364
|
+
return this.eventFulfillsRoomMemberCountCondition(cond, ev);
|
|
365
|
+
case ConditionKind.SenderNotificationPermission:
|
|
366
|
+
return this.eventFulfillsSenderNotifPermCondition(cond, ev);
|
|
367
|
+
case ConditionKind.CallStarted:
|
|
368
|
+
case ConditionKind.CallStartedPrefix:
|
|
369
|
+
return this.eventFulfillsCallStartedCondition(cond, ev);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// unknown conditions: we previously matched all unknown conditions,
|
|
373
|
+
// but given that rules can be added to the base rules on a server,
|
|
374
|
+
// it's probably better to not match unknown conditions.
|
|
375
|
+
return false;
|
|
376
|
+
}
|
|
377
|
+
eventFulfillsSenderNotifPermCondition(cond, ev) {
|
|
378
|
+
var notifLevelKey = cond["key"];
|
|
379
|
+
if (!notifLevelKey) {
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
var room = this.client.getRoom(ev.getRoomId());
|
|
383
|
+
if (!(room !== null && room !== void 0 && room.currentState)) {
|
|
384
|
+
return false;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// Note that this should not be the current state of the room but the state at
|
|
388
|
+
// the point the event is in the DAG. Unfortunately the js-sdk does not store
|
|
389
|
+
// this.
|
|
390
|
+
return room.currentState.mayTriggerNotifOfType(notifLevelKey, ev.getSender());
|
|
391
|
+
}
|
|
392
|
+
eventFulfillsRoomMemberCountCondition(cond, ev) {
|
|
393
|
+
if (!cond.is) {
|
|
394
|
+
return false;
|
|
395
|
+
}
|
|
396
|
+
var room = this.client.getRoom(ev.getRoomId());
|
|
397
|
+
if (!room || !room.currentState || !room.currentState.members) {
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
var memberCount = room.currentState.getJoinedMemberCount();
|
|
401
|
+
var m = cond.is.match(/^([=<>]*)(\d*)$/);
|
|
402
|
+
if (!m) {
|
|
403
|
+
return false;
|
|
404
|
+
}
|
|
405
|
+
var ineq = m[1];
|
|
406
|
+
var rhs = parseInt(m[2]);
|
|
407
|
+
if (isNaN(rhs)) {
|
|
408
|
+
return false;
|
|
409
|
+
}
|
|
410
|
+
switch (ineq) {
|
|
411
|
+
case "":
|
|
412
|
+
case "==":
|
|
413
|
+
return memberCount == rhs;
|
|
414
|
+
case "<":
|
|
415
|
+
return memberCount < rhs;
|
|
416
|
+
case ">":
|
|
417
|
+
return memberCount > rhs;
|
|
418
|
+
case "<=":
|
|
419
|
+
return memberCount <= rhs;
|
|
420
|
+
case ">=":
|
|
421
|
+
return memberCount >= rhs;
|
|
422
|
+
default:
|
|
423
|
+
return false;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
eventFulfillsDisplayNameCondition(cond, ev) {
|
|
427
|
+
var _room$currentState;
|
|
428
|
+
var content = ev.getContent();
|
|
429
|
+
if (ev.isEncrypted() && ev.getClearContent()) {
|
|
430
|
+
content = ev.getClearContent();
|
|
431
|
+
}
|
|
432
|
+
if (!content || !content.body || typeof content.body != "string") {
|
|
433
|
+
return false;
|
|
434
|
+
}
|
|
435
|
+
var room = this.client.getRoom(ev.getRoomId());
|
|
436
|
+
var member = room === null || room === void 0 || (_room$currentState = room.currentState) === null || _room$currentState === void 0 ? void 0 : _room$currentState.getMember(this.client.credentials.userId);
|
|
437
|
+
if (!member) {
|
|
438
|
+
return false;
|
|
439
|
+
}
|
|
440
|
+
var displayName = member.name;
|
|
441
|
+
|
|
442
|
+
// N.B. we can't use \b as it chokes on unicode. however \W seems to be okay
|
|
443
|
+
// as shorthand for [^0-9A-Za-z_].
|
|
444
|
+
var pat = new RegExp("(^|\\W)" + escapeRegExp(displayName) + "(\\W|$)", "i");
|
|
445
|
+
return content.body.search(pat) > -1;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* Check whether the given event matches the push rule condition by fetching
|
|
450
|
+
* the property from the event and comparing against the condition's glob-based
|
|
451
|
+
* pattern.
|
|
452
|
+
* @param cond - The push rule condition to check for a match.
|
|
453
|
+
* @param ev - The event to check for a match.
|
|
454
|
+
*/
|
|
455
|
+
eventFulfillsEventMatchCondition(cond, ev) {
|
|
456
|
+
if (!cond.key) {
|
|
457
|
+
return false;
|
|
458
|
+
}
|
|
459
|
+
var val = this.valueForDottedKey(cond.key, ev);
|
|
460
|
+
if (typeof val !== "string") {
|
|
461
|
+
return false;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
// XXX This does not match in a case-insensitive manner.
|
|
465
|
+
//
|
|
466
|
+
// See https://spec.matrix.org/v1.5/client-server-api/#conditions-1
|
|
467
|
+
if (cond.value) {
|
|
468
|
+
return cond.value === val;
|
|
469
|
+
}
|
|
470
|
+
if (typeof cond.pattern !== "string") {
|
|
471
|
+
return false;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
// Align to word boundary on `content.body` matches, whole string otherwise
|
|
475
|
+
// https://spec.matrix.org/v1.13/client-server-api/#conditions-1
|
|
476
|
+
var regex = PushProcessor.getPushRuleGlobRegex(cond.pattern, cond.key === "content.body");
|
|
477
|
+
return !!val.match(regex);
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Check whether the given event matches the push rule condition by fetching
|
|
482
|
+
* the property from the event and comparing exactly against the condition's
|
|
483
|
+
* value.
|
|
484
|
+
* @param cond - The push rule condition to check for a match.
|
|
485
|
+
* @param ev - The event to check for a match.
|
|
486
|
+
*/
|
|
487
|
+
eventFulfillsEventPropertyIsCondition(cond, ev) {
|
|
488
|
+
if (!cond.key || cond.value === undefined) {
|
|
489
|
+
return false;
|
|
490
|
+
}
|
|
491
|
+
return cond.value === this.valueForDottedKey(cond.key, ev);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Check whether the given event matches the push rule condition by fetching
|
|
496
|
+
* the property from the event and comparing exactly against the condition's
|
|
497
|
+
* value.
|
|
498
|
+
* @param cond - The push rule condition to check for a match.
|
|
499
|
+
* @param ev - The event to check for a match.
|
|
500
|
+
*/
|
|
501
|
+
eventFulfillsEventPropertyContains(cond, ev) {
|
|
502
|
+
if (!cond.key || cond.value === undefined) {
|
|
503
|
+
return false;
|
|
504
|
+
}
|
|
505
|
+
var val = this.valueForDottedKey(cond.key, ev);
|
|
506
|
+
if (!Array.isArray(val)) {
|
|
507
|
+
return false;
|
|
508
|
+
}
|
|
509
|
+
return val.includes(cond.value);
|
|
510
|
+
}
|
|
511
|
+
eventFulfillsCallStartedCondition(_cond, ev) {
|
|
512
|
+
// Since servers don't support properly sending push notification
|
|
513
|
+
// about MSC3401 call events, we do the handling ourselves
|
|
514
|
+
return ["m.ring", "m.prompt"].includes(ev.getContent()["m.intent"]) && !("m.terminated" in ev.getContent()) && (ev.getPrevContent()["m.terminated"] !== ev.getContent()["m.terminated"] || deepCompare(ev.getPrevContent(), {}));
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Parse the key into the separate fields to search by splitting on
|
|
519
|
+
* unescaped ".", and then removing any escape characters.
|
|
520
|
+
*
|
|
521
|
+
* @param str - The key of the push rule condition: a dotted field.
|
|
522
|
+
* @returns The unescaped parts to fetch.
|
|
523
|
+
* @internal
|
|
524
|
+
*/
|
|
525
|
+
static partsForDottedKey(str) {
|
|
526
|
+
var result = [];
|
|
527
|
+
|
|
528
|
+
// The current field and whether the previous character was the escape
|
|
529
|
+
// character (a backslash).
|
|
530
|
+
var part = "";
|
|
531
|
+
var escaped = false;
|
|
532
|
+
|
|
533
|
+
// Iterate over each character, and decide whether to append to the current
|
|
534
|
+
// part (following the escape rules) or to start a new part (based on the
|
|
535
|
+
// field separator).
|
|
536
|
+
for (var c of str) {
|
|
537
|
+
// If the previous character was the escape character (a backslash)
|
|
538
|
+
// then decide what to append to the current part.
|
|
539
|
+
if (escaped) {
|
|
540
|
+
if (c === "\\" || c === ".") {
|
|
541
|
+
// An escaped backslash or dot just gets added.
|
|
542
|
+
part += c;
|
|
543
|
+
} else {
|
|
544
|
+
// A character that shouldn't be escaped gets the backslash prepended.
|
|
545
|
+
part += "\\" + c;
|
|
546
|
+
}
|
|
547
|
+
// This always resets being escaped.
|
|
548
|
+
escaped = false;
|
|
549
|
+
continue;
|
|
550
|
+
}
|
|
551
|
+
if (c == ".") {
|
|
552
|
+
// The field separator creates a new part.
|
|
553
|
+
result.push(part);
|
|
554
|
+
part = "";
|
|
555
|
+
} else if (c == "\\") {
|
|
556
|
+
// A backslash adds no characters, but starts an escape sequence.
|
|
557
|
+
escaped = true;
|
|
558
|
+
} else {
|
|
559
|
+
// Otherwise, just add the current character.
|
|
560
|
+
part += c;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
// Ensure the final part is included. If there's an open escape sequence
|
|
565
|
+
// it should be included.
|
|
566
|
+
if (escaped) {
|
|
567
|
+
part += "\\";
|
|
568
|
+
}
|
|
569
|
+
result.push(part);
|
|
570
|
+
return result;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* For a dotted field and event, fetch the value at that position, if one
|
|
575
|
+
* exists.
|
|
576
|
+
*
|
|
577
|
+
* @param key - The key of the push rule condition: a dotted field to fetch.
|
|
578
|
+
* @param ev - The matrix event to fetch the field from.
|
|
579
|
+
* @returns The value at the dotted path given by key.
|
|
580
|
+
*/
|
|
581
|
+
valueForDottedKey(key, ev) {
|
|
582
|
+
// The key should already have been parsed via updateCachedPushRuleKeys,
|
|
583
|
+
// but if it hasn't (maybe via an old consumer of the SDK which hasn't
|
|
584
|
+
// been updated?) then lazily calculate it here.
|
|
585
|
+
var parts = this.parsedKeys.get(key);
|
|
586
|
+
if (parts === undefined) {
|
|
587
|
+
parts = PushProcessor.partsForDottedKey(key);
|
|
588
|
+
this.parsedKeys.set(key, parts);
|
|
589
|
+
}
|
|
590
|
+
var val;
|
|
591
|
+
|
|
592
|
+
// special-case the first component to deal with encrypted messages
|
|
593
|
+
var firstPart = parts[0];
|
|
594
|
+
var currentIndex = 0;
|
|
595
|
+
if (firstPart === "content") {
|
|
596
|
+
val = ev.getContent();
|
|
597
|
+
++currentIndex;
|
|
598
|
+
} else if (firstPart === "type") {
|
|
599
|
+
val = ev.getType();
|
|
600
|
+
++currentIndex;
|
|
601
|
+
} else {
|
|
602
|
+
// use the raw event for any other fields
|
|
603
|
+
val = ev.event;
|
|
604
|
+
}
|
|
605
|
+
for (; currentIndex < parts.length; ++currentIndex) {
|
|
606
|
+
// The previous iteration resulted in null or undefined, bail (and
|
|
607
|
+
// avoid the type error of attempting to retrieve a property).
|
|
608
|
+
if (isNullOrUndefined(val)) {
|
|
609
|
+
return undefined;
|
|
610
|
+
}
|
|
611
|
+
var thisPart = parts[currentIndex];
|
|
612
|
+
val = val[thisPart];
|
|
613
|
+
}
|
|
614
|
+
return val;
|
|
615
|
+
}
|
|
616
|
+
matchingRuleForEventWithRulesets(ev, rulesets) {
|
|
617
|
+
if (!rulesets) {
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
620
|
+
if (ev.getSender() === this.client.getSafeUserId()) {
|
|
621
|
+
return null;
|
|
622
|
+
}
|
|
623
|
+
return this.matchingRuleFromKindSet(ev, rulesets.global);
|
|
624
|
+
}
|
|
625
|
+
pushActionsForEventAndRulesets(ev, rulesets) {
|
|
626
|
+
var rule = this.matchingRuleForEventWithRulesets(ev, rulesets);
|
|
627
|
+
if (!rule) {
|
|
628
|
+
return {};
|
|
629
|
+
}
|
|
630
|
+
var actionObj = PushProcessor.actionListToActionsObject(rule.actions);
|
|
631
|
+
|
|
632
|
+
// Some actions are implicit in some situations: we add those here
|
|
633
|
+
if (actionObj.tweaks.highlight === undefined) {
|
|
634
|
+
// if it isn't specified, highlight if it's a content
|
|
635
|
+
// rule but otherwise not
|
|
636
|
+
actionObj.tweaks.highlight = rule.kind == PushRuleKind.ContentSpecific;
|
|
637
|
+
}
|
|
638
|
+
return {
|
|
639
|
+
actions: actionObj,
|
|
640
|
+
rule
|
|
641
|
+
};
|
|
642
|
+
}
|
|
643
|
+
ruleMatchesEvent(rule, ev) {
|
|
644
|
+
var _rule$conditions;
|
|
645
|
+
// Disable the deprecated mentions push rules if the new mentions property exists.
|
|
646
|
+
if (this.client.supportsIntentionalMentions() && ev.getContent()["m.mentions"] !== undefined && (rule.rule_id === RuleId.ContainsUserName || rule.rule_id === RuleId.ContainsDisplayName || rule.rule_id === RuleId.AtRoomNotification)) {
|
|
647
|
+
return false;
|
|
648
|
+
}
|
|
649
|
+
return !((_rule$conditions = rule.conditions) !== null && _rule$conditions !== void 0 && _rule$conditions.some(cond => !this.eventFulfillsCondition(cond, ev)));
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
/**
|
|
653
|
+
* Get the user's push actions for the given event
|
|
654
|
+
*/
|
|
655
|
+
actionsForEvent(ev) {
|
|
656
|
+
var {
|
|
657
|
+
actions
|
|
658
|
+
} = this.pushActionsForEventAndRulesets(ev, this.client.pushRules);
|
|
659
|
+
return actions || {};
|
|
660
|
+
}
|
|
661
|
+
actionsAndRuleForEvent(ev) {
|
|
662
|
+
return this.pushActionsForEventAndRulesets(ev, this.client.pushRules);
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Get one of the users push rules by its ID
|
|
667
|
+
*
|
|
668
|
+
* @param ruleId - The ID of the rule to search for
|
|
669
|
+
* @returns The push rule, or null if no such rule was found
|
|
670
|
+
*/
|
|
671
|
+
getPushRuleById(ruleId) {
|
|
672
|
+
var _result$rule;
|
|
673
|
+
var result = this.getPushRuleAndKindById(ruleId);
|
|
674
|
+
return (_result$rule = result === null || result === void 0 ? void 0 : result.rule) !== null && _result$rule !== void 0 ? _result$rule : null;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* Get one of the users push rules by its ID
|
|
679
|
+
*
|
|
680
|
+
* @param ruleId - The ID of the rule to search for
|
|
681
|
+
* @returns rule The push rule, or null if no such rule was found
|
|
682
|
+
* @returns kind - The PushRuleKind of the rule to search for
|
|
683
|
+
*/
|
|
684
|
+
getPushRuleAndKindById(ruleId) {
|
|
685
|
+
for (var scope of ["global"]) {
|
|
686
|
+
var _this$client$pushRule;
|
|
687
|
+
if (((_this$client$pushRule = this.client.pushRules) === null || _this$client$pushRule === void 0 ? void 0 : _this$client$pushRule[scope]) === undefined) continue;
|
|
688
|
+
for (var kind of RULEKINDS_IN_ORDER) {
|
|
689
|
+
if (this.client.pushRules[scope][kind] === undefined) continue;
|
|
690
|
+
for (var rule of this.client.pushRules[scope][kind]) {
|
|
691
|
+
if (rule.rule_id === ruleId) return {
|
|
692
|
+
rule,
|
|
693
|
+
kind
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
return null;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
_defineProperty(PushProcessor, "cachedGlobToRegex", {});
|
|
702
|
+
//# sourceMappingURL=pushprocessor.js.map
|