@openclaw/matrix 2026.7.1-beta.2 → 2026.7.1-beta.5
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/dist/{account-selection-Bv_ZuOu4.js → account-selection-5e4mHR1m.js} +1 -1
- package/dist/api.js +5 -5
- package/dist/{approval-handler.runtime-DzpLXVdc.js → approval-handler.runtime-DI5x9r8I.js} +5 -5
- package/dist/{approval-ids-R834n6m3.js → approval-ids-ZgqbspmS.js} +1 -1
- package/dist/{approval-reaction-auth-eAqCXUFG.js → approval-reaction-auth-D9LijQhr.js} +2 -2
- package/dist/{approval-reactions-BRGQgOu2.js → approval-reactions-BdUaUXVw.js} +24 -73
- package/dist/auth-presence.js +1 -1
- package/dist/{channel-KcNo9qtl.js → channel-jUTBsjHU.js} +20 -18
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-DtsGVgZj.js → channel.runtime-DO1Nv9ed.js} +25 -13
- package/dist/{cli-Clvpw_8I.js → cli-CEfWwCKx.js} +9 -9
- package/dist/{cli-metadata-D3N0Avnt.js → cli-metadata-CfiEO-CE.js} +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/{client-BQz5GcYr.js → client-FRuyCNju.js} +2 -2
- package/dist/{client-bootstrap-CBJciU5u.js → client-bootstrap-DjFJ7e0N.js} +1 -2
- package/dist/{client-D-5GVz_D.js → client-tgnlQJk4.js} +2 -2
- package/dist/{config-schema-Dn-fHID8.js → config-schema-DtnhNYd-.js} +1 -1
- package/dist/contract-api.js +2 -2
- package/dist/{create-client-DhGid8FE.js → create-client-CNakT7zF.js} +3 -3
- package/dist/{credentials-G8lNmiME.js → credentials-Ds9V1mn2.js} +1 -1
- package/dist/{credentials-read-TzTOQPOM.js → credentials-read-BlkvsNFg.js} +1 -1
- package/dist/{credentials-write.runtime-5PDPPG9f.js → credentials-write.runtime-CTqqxcut.js} +1 -1
- package/dist/{crypto-runtime-B7kyrTL0.js → crypto-runtime-B74cTS6A.js} +4 -4
- package/dist/{crypto-state-store-DK2tcEyP.js → crypto-state-store-Jy3qwhdy.js} +1 -1
- package/dist/{deps-D3bkh48_.js → deps-CdjHvnmh.js} +20 -2
- package/dist/{directory-live-Ctu4whZK.js → directory-live-Ufd4qSpX.js} +2 -2
- package/dist/{doctor-BRSDNU5C.js → doctor-DfaOqFtr.js} +3 -3
- package/dist/{doctor-contract-Dq8OZWHF.js → doctor-contract-BAja_fmb.js} +1 -1
- package/dist/doctor-contract-api.js +8 -14
- package/dist/{draft-stream-j71tSUu-.js → draft-stream-D4EH25gv.js} +1 -1
- package/dist/{encryption-guidance-Bg3IRYoX.js → encryption-guidance-D8walY04.js} +1 -1
- package/dist/{file-sync-store-BWLVB01Y.js → file-sync-store-DVm0ACml.js} +3 -3
- package/dist/helper-api.js +1 -1
- package/dist/{idb-persistence-BGY1CJ7J.js → idb-persistence-BHm97th-.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{legacy-crypto-inspector-D_8iylBq.js → legacy-crypto-inspector-vzXSkm18.js} +1 -1
- package/dist/{legacy-crypto-restore-B0gcIEkE.js → legacy-crypto-restore-CIBfOmLn.js} +2 -2
- package/dist/{matrix-migration.runtime-Ctlb_rZl.js → matrix-migration.runtime-BMCyrANT.js} +3 -3
- package/dist/{media-text-XO4VaezT.js → media-text-p-LP21qs.js} +1 -1
- package/dist/{messages-nQLGGa1r.js → messages-DRKkiEY-.js} +6 -5
- package/dist/{monitor-k3Sko8qt.js → monitor-CsGOGdwu.js} +71 -71
- package/dist/plugin-entry.handlers.runtime.js +1 -1
- package/dist/probe.runtime-2MZLc6ng.js +3 -0
- package/dist/{profile-update-DIOAhezh.js → profile-update-Ucc8RrJL.js} +2 -2
- package/dist/{reaction-events-BDsbR82F.js → reaction-events-DentrVii.js} +3 -3
- package/dist/{recovery-key-store-BGk8c_gf.js → recovery-key-store-DSeLFvNx.js} +1 -1
- package/dist/{resolve-targets-BbrinjHd.js → resolve-targets-DcV_KfgX.js} +1 -1
- package/dist/{resolver.runtime-B3N7k_6-.js → resolver.runtime-Hr6bO5zl.js} +1 -1
- package/dist/runtime-api.js +2 -2
- package/dist/runtime-heavy-api.js +1 -1
- package/dist/{sdk-eyqOqjmn.js → sdk-AZYVl34z.js} +8 -6
- package/dist/{send-D0hpevF-.js → send-D92v6Yy0.js} +21 -8
- package/dist/session-binding-contract-api.js +1 -1
- package/dist/{setup-bootstrap-Ihb_DM2a.js → setup-bootstrap-Da564w5f.js} +2 -2
- package/dist/{setup-core-D2BQs8w1.js → setup-core-BGgbrdaJ.js} +5 -8
- package/dist/setup-plugin-api.js +3 -3
- package/dist/{setup-surface-1qf1LZIP.js → setup-surface-iJ6pd-t5.js} +6 -6
- package/dist/{shared-BGcaBMK3.js → shared-DkFfq7mH.js} +6 -6
- package/dist/{startup-verification-Bd31KqLv.js → startup-verification-BKMAXvcV.js} +2 -2
- package/dist/{storage-t5S-5c_5.js → storage-CQdyKcGg.js} +5 -5
- package/dist/{thread-bindings-BnuBS0VH.js → thread-bindings-BX5nmWpw.js} +3 -3
- package/dist/{tool-actions.runtime-BeUveYxV.js → tool-actions.runtime-C1d5fxE_.js} +12 -12
- package/dist/{verification-CNw2K4uT.js → verification-BGCMiO1p.js} +2 -2
- package/node_modules/@babel/runtime/package.json +468 -1089
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/.cargo/config.toml +2 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/CHANGELOG.md +12 -3
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/README.md +17 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js +10 -2
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/modules.xml +8 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/vcs.xml +6 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-nodejs/xtask/.idea/xtask.iml +11 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +28 -28
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +24 -24
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
- package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +58 -58
- package/node_modules/content-type/README.md +32 -57
- package/node_modules/content-type/dist/index.d.ts +26 -0
- package/node_modules/content-type/dist/index.js +170 -0
- package/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/content-type/package.json +35 -25
- package/node_modules/linkify-it/README.md +3 -4
- package/node_modules/linkify-it/build/index.cjs.js +44 -41
- package/node_modules/linkify-it/index.mjs +10 -11
- package/node_modules/linkify-it/lib/re.mjs +34 -30
- package/node_modules/linkify-it/package.json +10 -15
- package/node_modules/markdown-it/dist/index.cjs.js +3652 -5378
- package/node_modules/markdown-it/dist/index.cjs.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.js +1399 -4479
- package/node_modules/markdown-it/dist/markdown-it.js.map +1 -0
- package/node_modules/markdown-it/dist/markdown-it.min.js +3 -2
- package/node_modules/markdown-it/dist/markdown-it.min.js.map +1 -0
- package/node_modules/markdown-it/lib/common/html_re.mjs +9 -9
- package/node_modules/markdown-it/lib/common/utils.mjs +2 -11
- package/node_modules/markdown-it/lib/parser_block.mjs +9 -9
- package/node_modules/markdown-it/lib/parser_core.mjs +7 -7
- package/node_modules/markdown-it/lib/parser_inline.mjs +16 -16
- package/node_modules/markdown-it/lib/renderer.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/code.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/fence.mjs +4 -4
- package/node_modules/markdown-it/lib/rules_block/heading.mjs +7 -7
- package/node_modules/markdown-it/lib/rules_block/hr.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_block/html_block.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/lheading.mjs +8 -8
- package/node_modules/markdown-it/lib/rules_block/list.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +5 -5
- package/node_modules/markdown-it/lib/rules_block/reference.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_block/state_block.mjs +6 -6
- package/node_modules/markdown-it/lib/rules_block/table.mjs +4 -4
- package/node_modules/markdown-it/lib/rules_core/block.mjs +3 -3
- package/node_modules/markdown-it/lib/rules_core/linkify.mjs +15 -15
- package/node_modules/markdown-it/lib/rules_core/normalize.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +17 -17
- package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +8 -8
- package/node_modules/markdown-it/lib/rules_inline/entity.mjs +7 -7
- package/node_modules/markdown-it/lib/rules_inline/escape.mjs +15 -1
- package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_inline/link.mjs +1 -1
- package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +2 -2
- package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +10 -10
- package/node_modules/markdown-it/lib/token.mjs +12 -12
- package/node_modules/markdown-it/package.json +25 -34
- package/node_modules/matrix-js-sdk/CHANGELOG.md +24 -0
- package/node_modules/matrix-js-sdk/README.md +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/IIdentityServerProvider.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js +7 -7
- package/node_modules/matrix-js-sdk/lib/@types/PushRules.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/auth.js +4 -4
- package/node_modules/matrix-js-sdk/lib/@types/auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js +2 -2
- package/node_modules/matrix-js-sdk/lib/@types/beacon.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/common.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/crypto.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts +6 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/event.js +23 -20
- package/node_modules/matrix-js-sdk/lib/@types/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/events.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js +6 -6
- package/node_modules/matrix-js-sdk/lib/@types/extensible_events.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/global.d.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/json.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/local_notifications.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/location.js +4 -4
- package/node_modules/matrix-js-sdk/lib/@types/location.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/media.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/membership.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/membership.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/partials.js +6 -6
- package/node_modules/matrix-js-sdk/lib/@types/partials.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/polls.js +5 -5
- package/node_modules/matrix-js-sdk/lib/@types/polls.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js +2 -2
- package/node_modules/matrix-js-sdk/lib/@types/read_receipts.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/registration.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/requests.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts +15 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.js +13 -0
- package/node_modules/matrix-js-sdk/lib/@types/retention.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/@types/search.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/search.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/signed.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/spaces.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/state_events.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/synapse.js +3 -1
- package/node_modules/matrix-js-sdk/lib/@types/sync.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/threepids.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/threepids.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/topic.js +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/topic.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/@types/uia.js +3 -1
- package/node_modules/matrix-js-sdk/lib/NamespacedValue.js +8 -8
- package/node_modules/matrix-js-sdk/lib/NamespacedValue.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ReEmitter.js +8 -15
- package/node_modules/matrix-js-sdk/lib/ReEmitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js +47 -55
- package/node_modules/matrix-js-sdk/lib/ToDeviceMessageQueue.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/autodiscovery.js +233 -247
- package/node_modules/matrix-js-sdk/lib/autodiscovery.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/base64.js +1 -1
- package/node_modules/matrix-js-sdk/lib/base64.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.d.ts +2 -2
- package/node_modules/matrix-js-sdk/lib/browser-index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/browser-index.js +5 -5
- package/node_modules/matrix-js-sdk/lib/browser-index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts +38 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.js +93 -0
- package/node_modules/matrix-js-sdk/lib/capabilityPoller.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/client.d.ts +9 -8
- package/node_modules/matrix-js-sdk/lib/client.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/client.js +2123 -2483
- package/node_modules/matrix-js-sdk/lib/client.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js +3 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/CryptoBackend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/common-crypto/key-passphrase.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/content-helpers.js +43 -48
- package/node_modules/matrix-js-sdk/lib/content-helpers.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/content-repo.js +14 -24
- package/node_modules/matrix-js-sdk/lib/content-repo.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js +6 -6
- package/node_modules/matrix-js-sdk/lib/crypto/store/base.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js +189 -237
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js +25 -28
- package/node_modules/matrix-js-sdk/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js +113 -145
- package/node_modules/matrix-js-sdk/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js +74 -105
- package/node_modules/matrix-js-sdk/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts +15 -6
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.js +76 -76
- package/node_modules/matrix-js-sdk/lib/crypto-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/key-passphrase.js +15 -23
- package/node_modules/matrix-js-sdk/lib/crypto-api/key-passphrase.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/keybackup.js +3 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js +11 -12
- package/node_modules/matrix-js-sdk/lib/crypto-api/recovery-key.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js +3 -3
- package/node_modules/matrix-js-sdk/lib/crypto-api/verification.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/digest.js +7 -14
- package/node_modules/matrix-js-sdk/lib/digest.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/embedded.js +379 -500
- package/node_modules/matrix-js-sdk/lib/embedded.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/errors.js +2 -2
- package/node_modules/matrix-js-sdk/lib/errors.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/event-mapper.js +10 -12
- package/node_modules/matrix-js-sdk/lib/event-mapper.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js +26 -28
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js +11 -12
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js +6 -6
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js +36 -38
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/extensible_events_v1/utilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/feature.js +18 -31
- package/node_modules/matrix-js-sdk/lib/feature.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter-component.js +20 -26
- package/node_modules/matrix-js-sdk/lib/filter-component.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/filter.js +14 -15
- package/node_modules/matrix-js-sdk/lib/filter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js +41 -56
- package/node_modules/matrix-js-sdk/lib/http-api/errors.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.js +140 -157
- package/node_modules/matrix-js-sdk/lib/http-api/fetch.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/index.js +17 -20
- package/node_modules/matrix-js-sdk/lib/http-api/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/interface.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/method.js +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/method.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/prefix.js +3 -3
- package/node_modules/matrix-js-sdk/lib/http-api/prefix.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js +80 -99
- package/node_modules/matrix-js-sdk/lib/http-api/refresh.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/http-api/utils.js +35 -47
- package/node_modules/matrix-js-sdk/lib/http-api/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js +3 -3
- package/node_modules/matrix-js-sdk/lib/indexeddb-helpers.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/indexeddb-worker.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts +5 -5
- package/node_modules/matrix-js-sdk/lib/interactive-auth.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js +181 -203
- package/node_modules/matrix-js-sdk/lib/interactive-auth.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/logger.js +22 -56
- package/node_modules/matrix-js-sdk/lib/logger.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/matrix.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrix.js +8 -11
- package/node_modules/matrix-js-sdk/lib/matrix.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js +83 -76
- package/node_modules/matrix-js-sdk/lib/matrixrtc/CallMembership.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/EncryptionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js +4 -4
- package/node_modules/matrix-js-sdk/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js +144 -184
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js +35 -39
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts +2 -0
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js +346 -383
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -59
- package/node_modules/matrix-js-sdk/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js +117 -139
- package/node_modules/matrix-js-sdk/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js +49 -54
- package/node_modules/matrix-js-sdk/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/common.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js +15 -23
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/rtc.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js +4 -5
- package/node_modules/matrix-js-sdk/lib/matrixrtc/membershipData/session.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js +4 -6
- package/node_modules/matrix-js-sdk/lib/matrixrtc/types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js +4 -11
- package/node_modules/matrix-js-sdk/lib/matrixrtc/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js +91 -116
- package/node_modules/matrix-js-sdk/lib/models/MSC3089Branch.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js +209 -244
- package/node_modules/matrix-js-sdk/lib/models/MSC3089TreeSpace.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/ToDeviceMessage.js +3 -1
- package/node_modules/matrix-js-sdk/lib/models/beacon.js +20 -15
- package/node_modules/matrix-js-sdk/lib/models/beacon.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js +13 -13
- package/node_modules/matrix-js-sdk/lib/models/compare-event-ordering.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/device.js +10 -3
- package/node_modules/matrix-js-sdk/lib/models/device.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-context.js +5 -7
- package/node_modules/matrix-js-sdk/lib/models/event-context.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-status.js +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-status.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js +91 -91
- package/node_modules/matrix-js-sdk/lib/models/event-timeline-set.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event-timeline.js +31 -29
- package/node_modules/matrix-js-sdk/lib/models/event-timeline.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/event.js +215 -235
- package/node_modules/matrix-js-sdk/lib/models/event.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js +4 -4
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer-types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js +159 -179
- package/node_modules/matrix-js-sdk/lib/models/invites-ignorer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/poll.js +72 -78
- package/node_modules/matrix-js-sdk/lib/models/poll.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/profile-keys.js +2 -2
- package/node_modules/matrix-js-sdk/lib/models/profile-keys.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.js +40 -56
- package/node_modules/matrix-js-sdk/lib/models/read-receipt.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/related-relations.js +2 -0
- package/node_modules/matrix-js-sdk/lib/models/related-relations.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js +20 -21
- package/node_modules/matrix-js-sdk/lib/models/relations-container.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/relations.js +131 -156
- package/node_modules/matrix-js-sdk/lib/models/relations.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-member.js +44 -27
- package/node_modules/matrix-js-sdk/lib/models/room-member.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-receipts.js +48 -55
- package/node_modules/matrix-js-sdk/lib/models/room-receipts.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts +28 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.js +192 -0
- package/node_modules/matrix-js-sdk/lib/models/room-retention.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-state.js +141 -170
- package/node_modules/matrix-js-sdk/lib/models/room-state.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js +46 -65
- package/node_modules/matrix-js-sdk/lib/models/room-sticky-events.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room-summary.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.d.ts +2 -1
- package/node_modules/matrix-js-sdk/lib/models/room.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/room.js +800 -887
- package/node_modules/matrix-js-sdk/lib/models/room.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/search-result.js +5 -5
- package/node_modules/matrix-js-sdk/lib/models/search-result.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/thread.js +267 -283
- package/node_modules/matrix-js-sdk/lib/models/thread.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js +7 -18
- package/node_modules/matrix-js-sdk/lib/models/typed-event-emitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/models/user.js +26 -7
- package/node_modules/matrix-js-sdk/lib/models/user.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js +208 -241
- package/node_modules/matrix-js-sdk/lib/oidc/authorize.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js +23 -36
- package/node_modules/matrix-js-sdk/lib/oidc/discovery.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.js +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/error.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/index.js +1 -0
- package/node_modules/matrix-js-sdk/lib/oidc/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/register.js +60 -66
- package/node_modules/matrix-js-sdk/lib/oidc/register.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js +83 -94
- package/node_modules/matrix-js-sdk/lib/oidc/tokenRefresher.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js +18 -18
- package/node_modules/matrix-js-sdk/lib/oidc/validate.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/pushprocessor.js +70 -81
- package/node_modules/matrix-js-sdk/lib/pushprocessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/randomstring.js +9 -9
- package/node_modules/matrix-js-sdk/lib/randomstring.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js +25 -28
- package/node_modules/matrix-js-sdk/lib/realtime-callbacks.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts +2 -0
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js +14 -22
- package/node_modules/matrix-js-sdk/lib/receipt-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js +272 -298
- package/node_modules/matrix-js-sdk/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousChannel.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousCode.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousError.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js +2 -2
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/RendezvousTransport.js +3 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js +122 -144
- package/node_modules/matrix-js-sdk/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.js +44 -69
- package/node_modules/matrix-js-sdk/lib/rendezvous/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js +142 -152
- package/node_modules/matrix-js-sdk/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts +33 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.d.ts.map +1 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.js +39 -0
- package/node_modules/matrix-js-sdk/lib/retentionPolicy.js.map +1 -0
- package/node_modules/matrix-js-sdk/lib/room-hierarchy.js +52 -56
- package/node_modules/matrix-js-sdk/lib/room-hierarchy.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js +94 -104
- package/node_modules/matrix-js-sdk/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js +158 -190
- package/node_modules/matrix-js-sdk/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js +17 -20
- package/node_modules/matrix-js-sdk/lib/rust-crypto/KeyClaimManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js +72 -86
- package/node_modules/matrix-js-sdk/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js +195 -221
- package/node_modules/matrix-js-sdk/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js +121 -137
- package/node_modules/matrix-js-sdk/lib/rust-crypto/RoomEncryptor.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts +7 -2
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js +459 -544
- package/node_modules/matrix-js-sdk/lib/rust-crypto/backup.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/constants.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js +15 -28
- package/node_modules/matrix-js-sdk/lib/rust-crypto/device-converter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js +103 -116
- package/node_modules/matrix-js-sdk/lib/rust-crypto/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js +303 -365
- package/node_modules/matrix-js-sdk/lib/rust-crypto/libolm_migration.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts +5 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js +1065 -1322
- package/node_modules/matrix-js-sdk/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js +12 -25
- package/node_modules/matrix-js-sdk/lib/rust-crypto/secret-storage.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js +134 -184
- package/node_modules/matrix-js-sdk/lib/rust-crypto/verification.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/scheduler.js +42 -17
- package/node_modules/matrix-js-sdk/lib/scheduler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/secret-storage.js +179 -213
- package/node_modules/matrix-js-sdk/lib/secret-storage.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts +4 -23
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.js +9 -62
- package/node_modules/matrix-js-sdk/lib/serverCapabilities.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/service-types.js +1 -1
- package/node_modules/matrix-js-sdk/lib/service-types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js +368 -421
- package/node_modules/matrix-js-sdk/lib/sliding-sync-sdk.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js +136 -167
- package/node_modules/matrix-js-sdk/lib/sliding-sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/index.d.ts +7 -0
- package/node_modules/matrix-js-sdk/lib/store/index.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/index.js +3 -1
- package/node_modules/matrix-js-sdk/lib/store/index.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-backend.js +3 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js +197 -240
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-local-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts +3 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js +51 -59
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-remote-backend.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js +22 -22
- package/node_modules/matrix-js-sdk/lib/store/indexeddb-store-worker.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts +7 -5
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js +63 -79
- package/node_modules/matrix-js-sdk/lib/store/indexeddb.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js +2 -2
- package/node_modules/matrix-js-sdk/lib/store/local-storage-events-emitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/memory.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/memory.js +38 -54
- package/node_modules/matrix-js-sdk/lib/store/memory.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/stub.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/store/stub.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/store/stub.js +22 -32
- package/node_modules/matrix-js-sdk/lib/store/stub.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts +1 -0
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js +57 -65
- package/node_modules/matrix-js-sdk/lib/sync-accumulator.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.d.ts.map +1 -1
- package/node_modules/matrix-js-sdk/lib/sync.js +914 -991
- package/node_modules/matrix-js-sdk/lib/sync.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/testing.js +63 -105
- package/node_modules/matrix-js-sdk/lib/testing.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/thread-utils.js +1 -4
- package/node_modules/matrix-js-sdk/lib/thread-utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/timeline-window.js +90 -99
- package/node_modules/matrix-js-sdk/lib/timeline-window.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/types.js +1 -1
- package/node_modules/matrix-js-sdk/lib/types.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js +14 -25
- package/node_modules/matrix-js-sdk/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js +27 -38
- package/node_modules/matrix-js-sdk/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js +25 -32
- package/node_modules/matrix-js-sdk/lib/utils/internal/deriveKeys.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js +1 -1
- package/node_modules/matrix-js-sdk/lib/utils/roomVersion.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/utils.js +83 -135
- package/node_modules/matrix-js-sdk/lib/utils.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/version-support.js +3 -3
- package/node_modules/matrix-js-sdk/lib/version-support.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js +5 -6
- package/node_modules/matrix-js-sdk/lib/webrtc/audioContext.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/call.js +1123 -1256
- package/node_modules/matrix-js-sdk/lib/webrtc/call.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js +207 -214
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js +2 -2
- package/node_modules/matrix-js-sdk/lib/webrtc/callEventTypes.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js +33 -20
- package/node_modules/matrix-js-sdk/lib/webrtc/callFeed.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js +521 -594
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCall.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js +58 -61
- package/node_modules/matrix-js-sdk/lib/webrtc/groupCallEventHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js +203 -233
- package/node_modules/matrix-js-sdk/lib/webrtc/mediaHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js +65 -70
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/callStatsReportSummary.js +3 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js +4 -5
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js +6 -6
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReport.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js +32 -34
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStats.js +3 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js +9 -9
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js +1 -1
- package/node_modules/matrix-js-sdk/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/node_modules/matrix-js-sdk/package.json +110 -138
- package/node_modules/matrix-js-sdk/src/@types/event.ts +9 -0
- package/node_modules/matrix-js-sdk/src/@types/global.d.ts +2 -2
- package/node_modules/matrix-js-sdk/src/@types/retention.ts +16 -0
- package/node_modules/matrix-js-sdk/src/ToDeviceMessageQueue.ts +2 -2
- package/node_modules/matrix-js-sdk/src/browser-index.ts +4 -4
- package/node_modules/matrix-js-sdk/src/capabilityPoller.ts +102 -0
- package/node_modules/matrix-js-sdk/src/client.ts +37 -25
- package/node_modules/matrix-js-sdk/src/crypto-api/index.ts +17 -6
- package/node_modules/matrix-js-sdk/src/embedded.ts +4 -6
- package/node_modules/matrix-js-sdk/src/filter-component.ts +1 -0
- package/node_modules/matrix-js-sdk/src/http-api/utils.ts +5 -10
- package/node_modules/matrix-js-sdk/src/interactive-auth.ts +11 -5
- package/node_modules/matrix-js-sdk/src/matrix.ts +1 -0
- package/node_modules/matrix-js-sdk/src/matrixrtc/LivekitTransport.ts +1 -1
- package/node_modules/matrix-js-sdk/src/matrixrtc/MatrixRTCSession.ts +5 -4
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManager.ts +2 -0
- package/node_modules/matrix-js-sdk/src/matrixrtc/MembershipManagerActionScheduler.ts +4 -1
- package/node_modules/matrix-js-sdk/src/models/MSC3089Branch.ts +1 -1
- package/node_modules/matrix-js-sdk/src/models/room-retention.ts +230 -0
- package/node_modules/matrix-js-sdk/src/models/room-sticky-events.ts +1 -0
- package/node_modules/matrix-js-sdk/src/models/room.ts +26 -12
- package/node_modules/matrix-js-sdk/src/receipt-accumulator.ts +2 -0
- package/node_modules/matrix-js-sdk/src/rendezvous/index.ts +1 -1
- package/node_modules/matrix-js-sdk/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
- package/node_modules/matrix-js-sdk/src/retentionPolicy.ts +65 -0
- package/node_modules/matrix-js-sdk/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
- package/node_modules/matrix-js-sdk/src/rust-crypto/backup.ts +15 -4
- package/node_modules/matrix-js-sdk/src/rust-crypto/index.ts +6 -6
- package/node_modules/matrix-js-sdk/src/rust-crypto/rust-crypto.ts +31 -7
- package/node_modules/matrix-js-sdk/src/rust-crypto/verification.ts +1 -1
- package/node_modules/matrix-js-sdk/src/serverCapabilities.ts +8 -67
- package/node_modules/matrix-js-sdk/src/sliding-sync-sdk.ts +5 -7
- package/node_modules/matrix-js-sdk/src/store/index.ts +8 -0
- package/node_modules/matrix-js-sdk/src/store/indexeddb-local-backend.ts +12 -2
- package/node_modules/matrix-js-sdk/src/store/indexeddb-remote-backend.ts +24 -5
- package/node_modules/matrix-js-sdk/src/store/indexeddb.ts +20 -8
- package/node_modules/matrix-js-sdk/src/store/memory.ts +4 -0
- package/node_modules/matrix-js-sdk/src/store/stub.ts +3 -0
- package/node_modules/matrix-js-sdk/src/sync-accumulator.ts +9 -0
- package/node_modules/matrix-js-sdk/src/sync.ts +11 -9
- package/node_modules/media-typer/README.md +19 -33
- package/node_modules/media-typer/dist/index.d.ts +29 -0
- package/node_modules/media-typer/dist/index.js +64 -0
- package/node_modules/media-typer/dist/index.js.map +1 -0
- package/node_modules/media-typer/package.json +37 -22
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +2 -2
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +65 -13
- package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +10 -0
- package/node_modules/music-metadata/lib/wav/WaveChunk.js +13 -3
- package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +1 -0
- package/node_modules/music-metadata/lib/wav/WaveParser.js +6 -5
- package/node_modules/music-metadata/package.json +5 -5
- package/node_modules/typebox/build/compile/validator.d.mts +2 -7
- package/node_modules/typebox/build/compile/validator.mjs +6 -36
- package/node_modules/typebox/build/error/errors.d.mts +1 -7
- package/node_modules/typebox/build/format/_idna.mjs +36 -6
- package/node_modules/typebox/build/format/_puny.mjs +4 -1
- package/node_modules/typebox/build/format/uuid.d.mts +2 -2
- package/node_modules/typebox/build/format/uuid.mjs +3 -3
- package/node_modules/typebox/build/guard/emit.d.mts +0 -4
- package/node_modules/typebox/build/guard/emit.mjs +0 -8
- package/node_modules/typebox/build/guard/guard.d.mts +4 -8
- package/node_modules/typebox/build/guard/guard.mjs +5 -13
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
- package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
- package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
- package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/types/index.mjs +0 -1
- package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
- package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
- package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
- package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
- package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
- package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
- package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
- package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
- package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
- package/node_modules/typebox/build/type/action/index.d.mts +7 -4
- package/node_modules/typebox/build/type/action/index.mjs +7 -4
- package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
- package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
- package/node_modules/typebox/build/type/action/module.d.mts +8 -7
- package/node_modules/typebox/build/type/action/module.mjs +7 -6
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
- package/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/index.mjs +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
- package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
- package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
- package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
- package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
- package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
- package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
- package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
- package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
- package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
- package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
- package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
- package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
- package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
- package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
- package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
- package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
- package/node_modules/typebox/build/type/extends/object.mjs +25 -3
- package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
- package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
- package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
- package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
- package/node_modules/typebox/build/type/extends/union.mjs +2 -2
- package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
- package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
- package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
- package/node_modules/typebox/build/type/script/parser.mjs +22 -22
- package/node_modules/typebox/build/type/script/script.d.mts +3 -4
- package/node_modules/typebox/build/type/script/script.mjs +3 -2
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
- package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
- package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
- package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
- package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
- package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
- package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
- package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
- package/node_modules/typebox/build/type/types/call.d.mts +3 -3
- package/node_modules/typebox/build/type/types/call.mjs +3 -2
- package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
- package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
- package/node_modules/typebox/build/type/types/enum.mjs +5 -0
- package/node_modules/typebox/build/type/types/index.d.mts +1 -4
- package/node_modules/typebox/build/type/types/index.mjs +1 -4
- package/node_modules/typebox/build/type/types/number.d.mts +1 -1
- package/node_modules/typebox/build/type/types/number.mjs +1 -1
- package/node_modules/typebox/build/type/types/record.d.mts +13 -7
- package/node_modules/typebox/build/type/types/record.mjs +15 -9
- package/node_modules/typebox/build/type/types/static.d.mts +2 -5
- package/node_modules/typebox/build/typebox.d.mts +4 -8
- package/node_modules/typebox/build/typebox.mjs +4 -8
- package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
- package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
- package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
- package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
- package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
- package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
- package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
- package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
- package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
- package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
- package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
- package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
- package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/index.d.mts +0 -1
- package/node_modules/typebox/build/value/index.mjs +0 -1
- package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
- package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
- package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
- package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
- package/node_modules/typebox/build/value/value.d.mts +0 -1
- package/node_modules/typebox/build/value/value.mjs +0 -1
- package/node_modules/typebox/package.json +25 -25
- package/node_modules/typebox/readme.md +97 -80
- package/npm-shrinkwrap.json +59 -54
- package/package.json +10 -10
- package/dist/probe.runtime-BED7DXis.js +0 -3
- package/node_modules/@babel/runtime/helpers/AwaitValue.js +0 -4
- package/node_modules/@babel/runtime/helpers/applyDecs.js +0 -236
- package/node_modules/@babel/runtime/helpers/applyDecs2203.js +0 -184
- package/node_modules/@babel/runtime/helpers/applyDecs2203R.js +0 -191
- package/node_modules/@babel/runtime/helpers/applyDecs2301.js +0 -222
- package/node_modules/@babel/runtime/helpers/applyDecs2305.js +0 -133
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorDestructureSet.js +0 -10
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js +0 -4
- package/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticAccess.js +0 -5
- package/node_modules/@babel/runtime/helpers/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js +0 -5
- package/node_modules/@babel/runtime/helpers/classPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classPrivateMethodGet.js +0 -5
- package/node_modules/@babel/runtime/helpers/classPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateFieldSpecSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/classStaticPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/decorate.js +0 -250
- package/node_modules/@babel/runtime/helpers/defineEnumerableProperties.js +0 -12
- package/node_modules/@babel/runtime/helpers/dispose.js +0 -28
- package/node_modules/@babel/runtime/helpers/esm/AwaitValue.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/applyDecs.js +0 -236
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203.js +0 -184
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +0 -191
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +0 -222
- package/node_modules/@babel/runtime/helpers/esm/applyDecs2305.js +0 -133
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorDestructureSet.js +0 -10
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticAccess.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classCheckPrivateStaticFieldDescriptor.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodGet.js +0 -5
- package/node_modules/@babel/runtime/helpers/esm/classPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldDestructureSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecGet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateFieldSpecSet.js +0 -7
- package/node_modules/@babel/runtime/helpers/esm/classStaticPrivateMethodSet.js +0 -4
- package/node_modules/@babel/runtime/helpers/esm/decorate.js +0 -250
- package/node_modules/@babel/runtime/helpers/esm/defineEnumerableProperties.js +0 -12
- package/node_modules/@babel/runtime/helpers/esm/dispose.js +0 -28
- package/node_modules/@babel/runtime/helpers/esm/objectSpread.js +0 -14
- package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +0 -77
- package/node_modules/@babel/runtime/helpers/esm/using.js +0 -12
- package/node_modules/@babel/runtime/helpers/objectSpread.js +0 -14
- package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +0 -77
- package/node_modules/@babel/runtime/helpers/using.js +0 -12
- package/node_modules/@babel/runtime/regenerator/index.js +0 -15
- package/node_modules/content-type/HISTORY.md +0 -29
- package/node_modules/content-type/index.js +0 -225
- package/node_modules/media-typer/HISTORY.md +0 -50
- package/node_modules/media-typer/index.js +0 -143
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
- package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
- package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
- package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
- package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
- package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
- package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
- package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
- package/node_modules/typebox/build/type/action/options.d.mts +0 -11
- package/node_modules/typebox/build/type/action/options.mjs +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
- package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
- package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
- package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/base.d.mts +0 -50
- package/node_modules/typebox/build/type/types/base.mjs +0 -84
- package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
- package/node_modules/typebox/build/type/types/promise.mjs +0 -29
- package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
- package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
- package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
- package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
- package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
- package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
- package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
- package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
- package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
- package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
- package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
- package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import _toArray from "@babel/runtime/helpers/toArray";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
2
|
import { logger as loggerInstance } from "../logger.js";
|
|
6
3
|
import { TypedEventEmitter } from "./typed-event-emitter.js";
|
|
7
|
-
|
|
8
|
-
export
|
|
4
|
+
const logger = loggerInstance.getChild("RoomStickyEvents");
|
|
5
|
+
export let RoomStickyEventsEvent = /*#__PURE__*/function (RoomStickyEventsEvent) {
|
|
9
6
|
RoomStickyEventsEvent["Update"] = "RoomStickyEvents.Update";
|
|
10
7
|
return RoomStickyEventsEvent;
|
|
11
8
|
}({});
|
|
@@ -19,8 +16,8 @@ function assertIsUserId(value) {
|
|
|
19
16
|
* whenever a sticky event is updated or replaced.
|
|
20
17
|
*/
|
|
21
18
|
export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
22
|
-
constructor() {
|
|
23
|
-
super(...
|
|
19
|
+
constructor(...args) {
|
|
20
|
+
super(...args);
|
|
24
21
|
/**
|
|
25
22
|
* Sticky event map is a nested map of:
|
|
26
23
|
* eventType -> `content.sticky_key sender` -> StickyMatrixEvent[]
|
|
@@ -34,27 +31,19 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
34
31
|
* system above. They are just held in this Set until they expire.
|
|
35
32
|
*/
|
|
36
33
|
_defineProperty(this, "unkeyedStickyEvents", new Set());
|
|
34
|
+
_defineProperty(this, "stickyEventTimer", void 0);
|
|
37
35
|
_defineProperty(this, "nextStickyEventExpiryTs", Number.MAX_SAFE_INTEGER);
|
|
38
36
|
/**
|
|
39
37
|
* Clean out any expired sticky events.
|
|
40
38
|
*/
|
|
41
39
|
_defineProperty(this, "cleanExpiredStickyEvents", () => {
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
const now = Date.now();
|
|
41
|
+
const removedEvents = [];
|
|
44
42
|
|
|
45
43
|
// We will recalculate this as we check all events.
|
|
46
44
|
this.nextStickyEventExpiryTs = Number.MAX_SAFE_INTEGER;
|
|
47
|
-
for (
|
|
48
|
-
|
|
49
|
-
var _ref2 = _slicedToArray(_ref3, 2);
|
|
50
|
-
var eventType = _ref2[0];
|
|
51
|
-
var innerEvents = _ref2[1];
|
|
52
|
-
for (var _ref6 of innerEvents) {
|
|
53
|
-
var _ref5 = _slicedToArray(_ref6, 2);
|
|
54
|
-
var innerMapKey = _ref5[0];
|
|
55
|
-
var _ref5$ = _toArray(_ref5[1]);
|
|
56
|
-
var currentEvent = _ref5$[0];
|
|
57
|
-
var previousEvents = _arrayLikeToArray(_ref5$).slice(1);
|
|
45
|
+
for (const [eventType, innerEvents] of this.stickyEventsMap.entries()) {
|
|
46
|
+
for (const [innerMapKey, [currentEvent, ...previousEvents]] of innerEvents) {
|
|
58
47
|
// we only added items with `sticky` into this map so we can assert non-null here
|
|
59
48
|
if (now >= currentEvent.unstableStickyExpiresAt) {
|
|
60
49
|
logger.debug("Expiring sticky event", currentEvent.getId());
|
|
@@ -68,11 +57,11 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
68
57
|
}
|
|
69
58
|
}
|
|
70
59
|
// Clean up map after use.
|
|
71
|
-
if (
|
|
60
|
+
if (this.stickyEventsMap.get(eventType)?.size === 0) {
|
|
72
61
|
this.stickyEventsMap.delete(eventType);
|
|
73
62
|
}
|
|
74
63
|
}
|
|
75
|
-
for (
|
|
64
|
+
for (const event of this.unkeyedStickyEvents) {
|
|
76
65
|
if (now >= event.unstableStickyExpiresAt) {
|
|
77
66
|
logger.debug("Expiring sticky event", event.getId());
|
|
78
67
|
this.unkeyedStickyEvents.delete(event);
|
|
@@ -95,13 +84,12 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
95
84
|
* @returns A positive value if event A will expire sooner, or a negative value if event B will expire sooner.
|
|
96
85
|
*/
|
|
97
86
|
static sortStickyEvent(eventA, eventB) {
|
|
98
|
-
var _eventB$getId, _eventA$getId;
|
|
99
87
|
// Sticky events with the same key have to use the same expiration duration.
|
|
100
88
|
// Hence, comparing via `origin_server_ts` yields the exact same result as comparing their expiration time.
|
|
101
89
|
if (eventB.getTs() !== eventA.getTs()) {
|
|
102
90
|
return eventB.getTs() - eventA.getTs();
|
|
103
91
|
}
|
|
104
|
-
if ((
|
|
92
|
+
if ((eventB.getId() ?? "") > (eventA.getId() ?? "")) {
|
|
105
93
|
return 1;
|
|
106
94
|
}
|
|
107
95
|
|
|
@@ -115,18 +103,19 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
115
103
|
* @param sender The sender of the event.
|
|
116
104
|
*/
|
|
117
105
|
static stickyMapKey(stickyKey, sender) {
|
|
118
|
-
return
|
|
106
|
+
return `${stickyKey}${sender}`;
|
|
119
107
|
}
|
|
120
108
|
|
|
121
109
|
/**
|
|
122
110
|
* Get all sticky events that are currently active.
|
|
123
111
|
* @returns An iterable set of events.
|
|
112
|
+
* @yields {@link StickyMatrixEvent}
|
|
124
113
|
*/
|
|
125
114
|
*getStickyEvents() {
|
|
126
115
|
yield* this.unkeyedStickyEvents;
|
|
127
|
-
for (
|
|
116
|
+
for (const innerMap of this.stickyEventsMap.values()) {
|
|
128
117
|
// Inner map contains a map of sender+stickykeys => all sticky events
|
|
129
|
-
for (
|
|
118
|
+
for (const events of innerMap.values()) {
|
|
130
119
|
// The first sticky event is the "current" one in the sticky map.
|
|
131
120
|
yield events[0];
|
|
132
121
|
}
|
|
@@ -141,9 +130,8 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
141
130
|
* @returns A matching active sticky event, or undefined.
|
|
142
131
|
*/
|
|
143
132
|
getKeyedStickyEvent(sender, type, stickyKey) {
|
|
144
|
-
var _this$stickyEventsMap2;
|
|
145
133
|
assertIsUserId(sender);
|
|
146
|
-
return
|
|
134
|
+
return this.stickyEventsMap.get(type)?.get(RoomStickyEventsStore.stickyMapKey(stickyKey, sender))?.[0];
|
|
147
135
|
}
|
|
148
136
|
|
|
149
137
|
/**
|
|
@@ -167,18 +155,17 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
167
155
|
* and the previous event it may have replaced.
|
|
168
156
|
*/
|
|
169
157
|
addStickyEvent(event) {
|
|
170
|
-
|
|
171
|
-
var stickyKey = event.getContent().msc4354_sticky_key;
|
|
158
|
+
const stickyKey = event.getContent().msc4354_sticky_key;
|
|
172
159
|
if (typeof stickyKey !== "string" && stickyKey !== undefined) {
|
|
173
|
-
throw new Error(
|
|
160
|
+
throw new Error(`${event.getId()} is missing msc4354_sticky_key`);
|
|
174
161
|
}
|
|
175
162
|
|
|
176
163
|
// With this we have the guarantee, that all events in stickyEventsMap are correctly formatted
|
|
177
164
|
if (event.unstableStickyExpiresAt === undefined) {
|
|
178
|
-
throw new Error(
|
|
165
|
+
throw new Error(`${event.getId()} is missing msc4354_sticky.duration_ms`);
|
|
179
166
|
}
|
|
180
|
-
|
|
181
|
-
|
|
167
|
+
const sender = event.getSender();
|
|
168
|
+
const type = event.getType();
|
|
182
169
|
assertIsUserId(sender);
|
|
183
170
|
if (event.unstableStickyExpiresAt <= Date.now()) {
|
|
184
171
|
logger.info("ignored sticky event with older expiration time than current time", stickyKey);
|
|
@@ -192,7 +179,7 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
192
179
|
if (!sender.startsWith("@")) {
|
|
193
180
|
throw new Error("Expected sender to start with @");
|
|
194
181
|
}
|
|
195
|
-
|
|
182
|
+
const stickyEvent = event;
|
|
196
183
|
if (stickyKey === undefined) {
|
|
197
184
|
this.unkeyedStickyEvents.add(stickyEvent);
|
|
198
185
|
// Recalculate the next expiry time.
|
|
@@ -208,19 +195,19 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
208
195
|
// constrained so that a key will always end with a @<user_id>
|
|
209
196
|
// E.g. Where a malicious event type might be "rtc.member.event@foo:bar" the key becomes:
|
|
210
197
|
// "rtc.member.event.@foo:bar@bar:baz"
|
|
211
|
-
|
|
212
|
-
|
|
198
|
+
const innerMapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);
|
|
199
|
+
const currentEventSet = [stickyEvent, ...(this.stickyEventsMap.get(type)?.get(innerMapKey) ?? [])].sort(RoomStickyEventsStore.sortStickyEvent);
|
|
213
200
|
if (!this.stickyEventsMap.has(type)) {
|
|
214
201
|
this.stickyEventsMap.set(type, new Map());
|
|
215
202
|
}
|
|
216
|
-
|
|
203
|
+
this.stickyEventsMap.get(type)?.set(innerMapKey, currentEventSet);
|
|
217
204
|
|
|
218
205
|
// Recalculate the next expiry time.
|
|
219
206
|
this.nextStickyEventExpiryTs = Math.min(stickyEvent.unstableStickyExpiresAt, this.nextStickyEventExpiryTs);
|
|
220
207
|
this.scheduleStickyTimer();
|
|
221
208
|
return {
|
|
222
209
|
added: currentEventSet[0] === stickyEvent,
|
|
223
|
-
prevEvent: currentEventSet
|
|
210
|
+
prevEvent: currentEventSet?.[1]
|
|
224
211
|
};
|
|
225
212
|
}
|
|
226
213
|
|
|
@@ -230,11 +217,11 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
230
217
|
* @param events A set of new sticky events.
|
|
231
218
|
*/
|
|
232
219
|
addStickyEvents(events) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
for (
|
|
220
|
+
const added = [];
|
|
221
|
+
const updated = [];
|
|
222
|
+
for (const event of events) {
|
|
236
223
|
try {
|
|
237
|
-
|
|
224
|
+
const result = this.addStickyEvent(event);
|
|
238
225
|
if (result.added) {
|
|
239
226
|
if (result.prevEvent) {
|
|
240
227
|
// e is validated as a StickyMatrixEvent by virtue of `addStickyEvent` returning added: true.
|
|
@@ -286,8 +273,8 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
286
273
|
// as an event can only appear in one map.
|
|
287
274
|
|
|
288
275
|
// Handle unkeyedStickyEvents first since it's *quick*.
|
|
289
|
-
|
|
290
|
-
for (
|
|
276
|
+
const redactEventId = typeof redactedEvent === "string" ? redactedEvent : redactedEvent.getId();
|
|
277
|
+
for (const event of this.unkeyedStickyEvents) {
|
|
291
278
|
if (event.getId() === redactEventId) {
|
|
292
279
|
this.unkeyedStickyEvents.delete(event);
|
|
293
280
|
this.emit(RoomStickyEventsEvent.Update, [], [], [event]);
|
|
@@ -297,31 +284,27 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
297
284
|
|
|
298
285
|
// Faster method of finding the event since we have the event cached.
|
|
299
286
|
if (typeof redactedEvent !== "string" && !redactedEvent.isRedacted()) {
|
|
300
|
-
|
|
301
|
-
var stickyKey = redactedEvent.getContent().msc4354_sticky_key;
|
|
287
|
+
const stickyKey = redactedEvent.getContent().msc4354_sticky_key;
|
|
302
288
|
if (typeof stickyKey !== "string" && stickyKey !== undefined) {
|
|
303
289
|
return; // Not a sticky event.
|
|
304
290
|
}
|
|
305
|
-
|
|
306
|
-
|
|
291
|
+
const eventType = redactedEvent.getType();
|
|
292
|
+
const sender = redactedEvent.getSender();
|
|
307
293
|
assertIsUserId(sender);
|
|
308
|
-
|
|
294
|
+
const innerMap = this.stickyEventsMap.get(eventType);
|
|
309
295
|
if (!innerMap) {
|
|
310
296
|
return;
|
|
311
297
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
_ref8 = _toArray(_ref7),
|
|
315
|
-
currentEvent = _ref8[0],
|
|
316
|
-
previousEvents = _arrayLikeToArray(_ref8).slice(1);
|
|
298
|
+
const mapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);
|
|
299
|
+
const [currentEvent, ...previousEvents] = innerMap.get(mapKey) ?? [];
|
|
317
300
|
if (!currentEvent) {
|
|
318
301
|
// No event current in the map so ignore.
|
|
319
302
|
return;
|
|
320
303
|
}
|
|
321
|
-
logger.debug(
|
|
304
|
+
logger.debug(`Redaction for ${redactEventId} under sticky key ${stickyKey}`);
|
|
322
305
|
// Revert to previous state, taking care to skip any other redacted events.
|
|
323
|
-
|
|
324
|
-
|
|
306
|
+
const newEvents = previousEvents.filter(e => !e.isRedacted()).sort(RoomStickyEventsStore.sortStickyEvent);
|
|
307
|
+
this.stickyEventsMap.get(eventType)?.set(mapKey, newEvents);
|
|
325
308
|
if (newEvents.length) {
|
|
326
309
|
this.emit(RoomStickyEventsEvent.Update, [], [{
|
|
327
310
|
// This looks confusing. This emits that the newer event
|
|
@@ -342,15 +325,13 @@ export class RoomStickyEventsStore extends TypedEventEmitter {
|
|
|
342
325
|
|
|
343
326
|
// We only know the event ID of the redacted event, so we need to
|
|
344
327
|
// traverse the map to find our event.
|
|
345
|
-
for (
|
|
346
|
-
for (
|
|
347
|
-
|
|
348
|
-
var _currentEvent = _ref0[0];
|
|
349
|
-
if (_currentEvent.getId() !== redactEventId) {
|
|
328
|
+
for (const innerMap of this.stickyEventsMap.values()) {
|
|
329
|
+
for (const [currentEvent] of innerMap.values()) {
|
|
330
|
+
if (currentEvent.getId() !== redactEventId) {
|
|
350
331
|
continue;
|
|
351
332
|
}
|
|
352
333
|
// Found the event.
|
|
353
|
-
return this.handleRedaction(
|
|
334
|
+
return this.handleRedaction(currentEvent);
|
|
354
335
|
}
|
|
355
336
|
}
|
|
356
337
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-sticky-events.js","names":["logger","loggerInstance","TypedEventEmitter","getChild","RoomStickyEventsEvent","assertIsUserId","value","Error","startsWith","RoomStickyEventsStore","constructor","arguments","_defineProperty","Map","Set","Number","MAX_SAFE_INTEGER","now","Date","removedEvents","nextStickyEventExpiryTs","_ref3","stickyEventsMap","entries","_this$stickyEventsMap","_ref2","_slicedToArray","eventType","innerEvents","_ref6","_ref5","innerMapKey","_ref5$","_toArray","currentEvent","previousEvents","_arrayLikeToArray","slice","unstableStickyExpiresAt","debug","getId","push","get","delete","set","filter","e","Math","min","size","event","unkeyedStickyEvents","length","emit","Update","scheduleStickyTimer","sortStickyEvent","eventA","eventB","_eventB$getId","_eventA$getId","getTs","stickyMapKey","stickyKey","sender","concat","getStickyEvents","innerMap","values","events","getKeyedStickyEvent","type","_this$stickyEventsMap2","getUnkeyedStickyEvent","ev","getType","getSender","addStickyEvent","_this$stickyEventsMap3","_this$stickyEventsMap4","_this$stickyEventsMap5","getContent","msc4354_sticky_key","undefined","info","added","stickyEvent","add","currentEventSet","sort","has","prevEvent","addStickyEvents","updated","result","current","previous","ex","warn","stickyEventTimer","clearTimeout","setTimeout","cleanExpiredStickyEvents","handleRedaction","redactedEvent","redactEventId","isRedacted","_innerMap$get","_this$stickyEventsMap6","mapKey","_ref7","_ref8","newEvents","_ref1","_ref0","clear"],"sources":["../../src/models/room-sticky-events.ts"],"sourcesContent":["import { logger as loggerInstance } from \"../logger.ts\";\nimport { type MatrixEvent } from \"./event.ts\";\nimport { TypedEventEmitter } from \"./typed-event-emitter.ts\";\n\nconst logger = loggerInstance.getChild(\"RoomStickyEvents\");\n\nexport enum RoomStickyEventsEvent {\n Update = \"RoomStickyEvents.Update\",\n}\n\nexport type StickyMatrixEvent = MatrixEvent & { unstableStickyExpiresAt: number };\n\nexport type RoomStickyEventsMap = {\n /**\n * Fires when any sticky event changes happen in a room.\n * @param added Any new sticky events with no predecessor events (matching sender, type, and sticky_key)\n * @param updated Any sticky events that supersede an existing event (matching sender, type, and sticky_key)\n * @param removed The events that were removed from the map due to expiry.\n */\n [RoomStickyEventsEvent.Update]: (\n added: StickyMatrixEvent[],\n updated: { current: StickyMatrixEvent; previous: StickyMatrixEvent }[],\n removed: StickyMatrixEvent[],\n ) => void;\n};\n\ntype UserId = `@${string}`;\n\nfunction assertIsUserId(value: unknown): asserts value is UserId {\n if (typeof value !== \"string\") throw new Error(\"Not a string\");\n if (!value.startsWith(\"@\")) throw new Error(\"Not a userId\");\n}\n\n/**\n * Tracks sticky events on behalf of one room, and fires an event\n * whenever a sticky event is updated or replaced.\n */\nexport class RoomStickyEventsStore extends TypedEventEmitter<RoomStickyEventsEvent, RoomStickyEventsMap> {\n /**\n * Sticky event map is a nested map of:\n * eventType -> `content.sticky_key sender` -> StickyMatrixEvent[]\n *\n * The events are ordered in latest to earliest expiry, so that the first event\n * in the array will always be the \"current\" one.\n */\n private readonly stickyEventsMap = new Map<string, Map<string, StickyMatrixEvent[]>>();\n /**\n * These are sticky events that have no sticky key and therefore exist outside the tuple\n * system above. They are just held in this Set until they expire.\n */\n private readonly unkeyedStickyEvents = new Set<StickyMatrixEvent>();\n\n private stickyEventTimer?: ReturnType<typeof setTimeout>;\n private nextStickyEventExpiryTs: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * Sort two sticky events by order of expiry. This assumes the sticky events have the same\n * `type`, `sticky_key` and `sender`.\n * @returns A positive value if event A will expire sooner, or a negative value if event B will expire sooner.\n */\n private static sortStickyEvent(eventA: StickyMatrixEvent, eventB: StickyMatrixEvent): number {\n // Sticky events with the same key have to use the same expiration duration.\n // Hence, comparing via `origin_server_ts` yields the exact same result as comparing their expiration time.\n if (eventB.getTs() !== eventA.getTs()) {\n return eventB.getTs() - eventA.getTs();\n }\n\n if ((eventB.getId() ?? \"\") > (eventA.getId() ?? \"\")) {\n return 1;\n }\n\n // This should fail as we've got corruption in our sticky array.\n throw Error(\"Comparing two sticky events with the same event ID is not allowed.\");\n }\n\n /**\n * Generate the correct key for an event to be found in the inner maps of `stickyEventsMap`.\n * @param stickyKey The sticky key of an event.\n * @param sender The sender of the event.\n */\n private static stickyMapKey(stickyKey: string, sender: UserId): string {\n return `${stickyKey}${sender}`;\n }\n\n /**\n * Get all sticky events that are currently active.\n * @returns An iterable set of events.\n */\n public *getStickyEvents(): Iterable<StickyMatrixEvent> {\n yield* this.unkeyedStickyEvents;\n for (const innerMap of this.stickyEventsMap.values()) {\n // Inner map contains a map of sender+stickykeys => all sticky events\n for (const events of innerMap.values()) {\n // The first sticky event is the \"current\" one in the sticky map.\n yield events[0];\n }\n }\n }\n\n /**\n * Get an active sticky event that match the given `type`, `sender`, and `stickyKey`\n * @param type The event `type`.\n * @param sender The sender of the sticky event.\n * @param stickyKey The sticky key used by the event.\n * @returns A matching active sticky event, or undefined.\n */\n public getKeyedStickyEvent(sender: string, type: string, stickyKey: string): StickyMatrixEvent | undefined {\n assertIsUserId(sender);\n return this.stickyEventsMap.get(type)?.get(RoomStickyEventsStore.stickyMapKey(stickyKey, sender))?.[0];\n }\n\n /**\n * Get active sticky events without a sticky key that match the given `type` and `sender`.\n * @param type The event `type`.\n * @param sender The sender of the sticky event.\n * @returns An array of matching sticky events.\n */\n public getUnkeyedStickyEvent(sender: string, type: string): StickyMatrixEvent[] {\n return [...this.unkeyedStickyEvents].filter((ev) => ev.getType() === type && ev.getSender() === sender);\n }\n\n /**\n * Adds a sticky event into the local sticky event map.\n *\n * NOTE: This will not cause `RoomEvent.StickyEvents` to be emitted.\n *\n * @throws If the `event` does not contain valid sticky data.\n * @param event The MatrixEvent that contains sticky data.\n * @returns An object describing whether the event was added to the map,\n * and the previous event it may have replaced.\n */\n private addStickyEvent(event: MatrixEvent): { added: true; prevEvent?: StickyMatrixEvent } | { added: false } {\n const stickyKey = event.getContent().msc4354_sticky_key;\n if (typeof stickyKey !== \"string\" && stickyKey !== undefined) {\n throw new Error(`${event.getId()} is missing msc4354_sticky_key`);\n }\n\n // With this we have the guarantee, that all events in stickyEventsMap are correctly formatted\n if (event.unstableStickyExpiresAt === undefined) {\n throw new Error(`${event.getId()} is missing msc4354_sticky.duration_ms`);\n }\n const sender = event.getSender();\n const type = event.getType();\n assertIsUserId(sender);\n if (event.unstableStickyExpiresAt <= Date.now()) {\n logger.info(\"ignored sticky event with older expiration time than current time\", stickyKey);\n return { added: false };\n }\n\n // While we fully expect the server to always provide the correct value,\n // this is just insurance to protect against attacks on our Map.\n if (!sender.startsWith(\"@\")) {\n throw new Error(\"Expected sender to start with @\");\n }\n\n const stickyEvent = event as StickyMatrixEvent;\n\n if (stickyKey === undefined) {\n this.unkeyedStickyEvents.add(stickyEvent);\n // Recalculate the next expiry time.\n this.nextStickyEventExpiryTs = Math.min(event.unstableStickyExpiresAt, this.nextStickyEventExpiryTs);\n\n this.scheduleStickyTimer();\n return { added: true };\n }\n\n // Why this is safe:\n // A type may contain anything but the *sender* is tightly\n // constrained so that a key will always end with a @<user_id>\n // E.g. Where a malicious event type might be \"rtc.member.event@foo:bar\" the key becomes:\n // \"rtc.member.event.@foo:bar@bar:baz\"\n const innerMapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);\n const currentEventSet = [stickyEvent, ...(this.stickyEventsMap.get(type)?.get(innerMapKey) ?? [])].sort(\n RoomStickyEventsStore.sortStickyEvent,\n );\n if (!this.stickyEventsMap.has(type)) {\n this.stickyEventsMap.set(type, new Map());\n }\n this.stickyEventsMap.get(type)?.set(innerMapKey, currentEventSet);\n\n // Recalculate the next expiry time.\n this.nextStickyEventExpiryTs = Math.min(stickyEvent.unstableStickyExpiresAt, this.nextStickyEventExpiryTs);\n\n this.scheduleStickyTimer();\n return {\n added: currentEventSet[0] === stickyEvent,\n prevEvent: currentEventSet?.[1],\n };\n }\n\n /**\n * Add a series of sticky events, emitting `RoomEvent.StickyEvents` if any\n * changes were made.\n * @param events A set of new sticky events.\n */\n public addStickyEvents(events: MatrixEvent[]): void {\n const added: StickyMatrixEvent[] = [];\n const updated: { current: StickyMatrixEvent; previous: StickyMatrixEvent }[] = [];\n for (const event of events) {\n try {\n const result = this.addStickyEvent(event);\n if (result.added) {\n if (result.prevEvent) {\n // e is validated as a StickyMatrixEvent by virtue of `addStickyEvent` returning added: true.\n updated.push({ current: event as StickyMatrixEvent, previous: result.prevEvent });\n } else {\n added.push(event as StickyMatrixEvent);\n }\n }\n } catch (ex) {\n logger.warn(\"ignored invalid sticky event\", ex);\n }\n }\n if (added.length || updated.length) this.emit(RoomStickyEventsEvent.Update, added, updated, []);\n this.scheduleStickyTimer();\n }\n\n /**\n * Schedule the sticky event expiry timer. The timer will\n * run immediately if an event has already expired.\n */\n private scheduleStickyTimer(): void {\n if (this.stickyEventTimer) {\n clearTimeout(this.stickyEventTimer);\n this.stickyEventTimer = undefined;\n }\n if (this.nextStickyEventExpiryTs === Number.MAX_SAFE_INTEGER) {\n // We have no events due to expire.\n return;\n } // otherwise, schedule in the future\n this.stickyEventTimer = setTimeout(this.cleanExpiredStickyEvents, this.nextStickyEventExpiryTs - Date.now());\n }\n\n /**\n * Clean out any expired sticky events.\n */\n private readonly cleanExpiredStickyEvents = (): void => {\n const now = Date.now();\n const removedEvents: StickyMatrixEvent[] = [];\n\n // We will recalculate this as we check all events.\n this.nextStickyEventExpiryTs = Number.MAX_SAFE_INTEGER;\n for (const [eventType, innerEvents] of this.stickyEventsMap.entries()) {\n for (const [innerMapKey, [currentEvent, ...previousEvents]] of innerEvents) {\n // we only added items with `sticky` into this map so we can assert non-null here\n if (now >= currentEvent.unstableStickyExpiresAt) {\n logger.debug(\"Expiring sticky event\", currentEvent.getId());\n removedEvents.push(currentEvent);\n this.stickyEventsMap.get(eventType)!.delete(innerMapKey);\n } else {\n // Ensure we remove any previous events which have now expired, to avoid unbounded memory consumption.\n this.stickyEventsMap\n .get(eventType)!\n .set(innerMapKey, [\n currentEvent,\n ...previousEvents.filter((e) => e.unstableStickyExpiresAt <= now),\n ]);\n // If not removing the event, check to see if it's the next lowest expiry.\n this.nextStickyEventExpiryTs = Math.min(\n this.nextStickyEventExpiryTs,\n currentEvent.unstableStickyExpiresAt,\n );\n }\n }\n // Clean up map after use.\n if (this.stickyEventsMap.get(eventType)?.size === 0) {\n this.stickyEventsMap.delete(eventType);\n }\n }\n for (const event of this.unkeyedStickyEvents) {\n if (now >= event.unstableStickyExpiresAt) {\n logger.debug(\"Expiring sticky event\", event.getId());\n this.unkeyedStickyEvents.delete(event);\n removedEvents.push(event);\n } else {\n // If not removing the event, check to see if it's the next lowest expiry.\n this.nextStickyEventExpiryTs = Math.min(this.nextStickyEventExpiryTs, event.unstableStickyExpiresAt);\n }\n }\n if (removedEvents.length) {\n this.emit(RoomStickyEventsEvent.Update, [], [], removedEvents);\n }\n // Finally, schedule the next run.\n this.scheduleStickyTimer();\n };\n\n /**\n * Handles incoming event redactions. Checks the sticky map\n * for any active sticky events being redacted.\n * @param redactedEvent The MatrixEvent OR event ID of the event being redacted. MAY not be a sticky event.\n */\n public handleRedaction(redactedEvent: MatrixEvent | string): void {\n // Note, we do not adjust`nextStickyEventExpiryTs` here.\n // If this event happens to be the most recent expiring event\n // then we may do one extra iteration of cleanExpiredStickyEvents\n // but this saves us having to iterate over all events here to calculate\n // the next expiry time.\n\n // Note, as soon as we find a positive match on an event in this function\n // we can return. There is no need to continue iterating on a positive match\n // as an event can only appear in one map.\n\n // Handle unkeyedStickyEvents first since it's *quick*.\n const redactEventId = typeof redactedEvent === \"string\" ? redactedEvent : redactedEvent.getId();\n for (const event of this.unkeyedStickyEvents) {\n if (event.getId() === redactEventId) {\n this.unkeyedStickyEvents.delete(event);\n this.emit(RoomStickyEventsEvent.Update, [], [], [event]);\n return;\n }\n }\n\n // Faster method of finding the event since we have the event cached.\n if (typeof redactedEvent !== \"string\" && !redactedEvent.isRedacted()) {\n const stickyKey = redactedEvent.getContent().msc4354_sticky_key;\n if (typeof stickyKey !== \"string\" && stickyKey !== undefined) {\n return; // Not a sticky event.\n }\n const eventType = redactedEvent.getType();\n const sender = redactedEvent.getSender();\n assertIsUserId(sender);\n const innerMap = this.stickyEventsMap.get(eventType);\n if (!innerMap) {\n return;\n }\n const mapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);\n const [currentEvent, ...previousEvents] = innerMap.get(mapKey) ?? [];\n if (!currentEvent) {\n // No event current in the map so ignore.\n return;\n }\n logger.debug(`Redaction for ${redactEventId} under sticky key ${stickyKey}`);\n // Revert to previous state, taking care to skip any other redacted events.\n const newEvents = previousEvents.filter((e) => !e.isRedacted()).sort(RoomStickyEventsStore.sortStickyEvent);\n this.stickyEventsMap.get(eventType)?.set(mapKey, newEvents);\n if (newEvents.length) {\n this.emit(\n RoomStickyEventsEvent.Update,\n [],\n [\n {\n // This looks confusing. This emits that the newer event\n // has been redacted and the previous event has taken it's place.\n previous: currentEvent,\n current: newEvents[0],\n },\n ],\n [],\n );\n } else {\n // We did not find a previous event, so just expire.\n innerMap.delete(mapKey);\n if (innerMap.size === 0) {\n this.stickyEventsMap.delete(eventType);\n }\n this.emit(RoomStickyEventsEvent.Update, [], [], [currentEvent]);\n }\n return;\n }\n\n // We only know the event ID of the redacted event, so we need to\n // traverse the map to find our event.\n for (const innerMap of this.stickyEventsMap.values()) {\n for (const [currentEvent] of innerMap.values()) {\n if (currentEvent.getId() !== redactEventId) {\n continue;\n }\n // Found the event.\n return this.handleRedaction(currentEvent);\n }\n }\n }\n\n /**\n * Clear all events and stop the timer from firing.\n */\n public clear(): void {\n this.stickyEventsMap.clear();\n // Unschedule timer.\n this.nextStickyEventExpiryTs = Number.MAX_SAFE_INTEGER;\n this.scheduleStickyTimer();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"room-sticky-events.js","names":[],"sources":["../../src/models/room-sticky-events.ts"],"sourcesContent":["import { logger as loggerInstance } from \"../logger.ts\";\nimport { type MatrixEvent } from \"./event.ts\";\nimport { TypedEventEmitter } from \"./typed-event-emitter.ts\";\n\nconst logger = loggerInstance.getChild(\"RoomStickyEvents\");\n\nexport enum RoomStickyEventsEvent {\n Update = \"RoomStickyEvents.Update\",\n}\n\nexport type StickyMatrixEvent = MatrixEvent & { unstableStickyExpiresAt: number };\n\nexport type RoomStickyEventsMap = {\n /**\n * Fires when any sticky event changes happen in a room.\n * @param added Any new sticky events with no predecessor events (matching sender, type, and sticky_key)\n * @param updated Any sticky events that supersede an existing event (matching sender, type, and sticky_key)\n * @param removed The events that were removed from the map due to expiry.\n */\n [RoomStickyEventsEvent.Update]: (\n added: StickyMatrixEvent[],\n updated: { current: StickyMatrixEvent; previous: StickyMatrixEvent }[],\n removed: StickyMatrixEvent[],\n ) => void;\n};\n\ntype UserId = `@${string}`;\n\nfunction assertIsUserId(value: unknown): asserts value is UserId {\n if (typeof value !== \"string\") throw new Error(\"Not a string\");\n if (!value.startsWith(\"@\")) throw new Error(\"Not a userId\");\n}\n\n/**\n * Tracks sticky events on behalf of one room, and fires an event\n * whenever a sticky event is updated or replaced.\n */\nexport class RoomStickyEventsStore extends TypedEventEmitter<RoomStickyEventsEvent, RoomStickyEventsMap> {\n /**\n * Sticky event map is a nested map of:\n * eventType -> `content.sticky_key sender` -> StickyMatrixEvent[]\n *\n * The events are ordered in latest to earliest expiry, so that the first event\n * in the array will always be the \"current\" one.\n */\n private readonly stickyEventsMap = new Map<string, Map<string, StickyMatrixEvent[]>>();\n /**\n * These are sticky events that have no sticky key and therefore exist outside the tuple\n * system above. They are just held in this Set until they expire.\n */\n private readonly unkeyedStickyEvents = new Set<StickyMatrixEvent>();\n\n private stickyEventTimer?: ReturnType<typeof setTimeout>;\n private nextStickyEventExpiryTs: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * Sort two sticky events by order of expiry. This assumes the sticky events have the same\n * `type`, `sticky_key` and `sender`.\n * @returns A positive value if event A will expire sooner, or a negative value if event B will expire sooner.\n */\n private static sortStickyEvent(eventA: StickyMatrixEvent, eventB: StickyMatrixEvent): number {\n // Sticky events with the same key have to use the same expiration duration.\n // Hence, comparing via `origin_server_ts` yields the exact same result as comparing their expiration time.\n if (eventB.getTs() !== eventA.getTs()) {\n return eventB.getTs() - eventA.getTs();\n }\n\n if ((eventB.getId() ?? \"\") > (eventA.getId() ?? \"\")) {\n return 1;\n }\n\n // This should fail as we've got corruption in our sticky array.\n throw Error(\"Comparing two sticky events with the same event ID is not allowed.\");\n }\n\n /**\n * Generate the correct key for an event to be found in the inner maps of `stickyEventsMap`.\n * @param stickyKey The sticky key of an event.\n * @param sender The sender of the event.\n */\n private static stickyMapKey(stickyKey: string, sender: UserId): string {\n return `${stickyKey}${sender}`;\n }\n\n /**\n * Get all sticky events that are currently active.\n * @returns An iterable set of events.\n * @yields {@link StickyMatrixEvent}\n */\n public *getStickyEvents(): Iterable<StickyMatrixEvent> {\n yield* this.unkeyedStickyEvents;\n for (const innerMap of this.stickyEventsMap.values()) {\n // Inner map contains a map of sender+stickykeys => all sticky events\n for (const events of innerMap.values()) {\n // The first sticky event is the \"current\" one in the sticky map.\n yield events[0];\n }\n }\n }\n\n /**\n * Get an active sticky event that match the given `type`, `sender`, and `stickyKey`\n * @param type The event `type`.\n * @param sender The sender of the sticky event.\n * @param stickyKey The sticky key used by the event.\n * @returns A matching active sticky event, or undefined.\n */\n public getKeyedStickyEvent(sender: string, type: string, stickyKey: string): StickyMatrixEvent | undefined {\n assertIsUserId(sender);\n return this.stickyEventsMap.get(type)?.get(RoomStickyEventsStore.stickyMapKey(stickyKey, sender))?.[0];\n }\n\n /**\n * Get active sticky events without a sticky key that match the given `type` and `sender`.\n * @param type The event `type`.\n * @param sender The sender of the sticky event.\n * @returns An array of matching sticky events.\n */\n public getUnkeyedStickyEvent(sender: string, type: string): StickyMatrixEvent[] {\n return [...this.unkeyedStickyEvents].filter((ev) => ev.getType() === type && ev.getSender() === sender);\n }\n\n /**\n * Adds a sticky event into the local sticky event map.\n *\n * NOTE: This will not cause `RoomEvent.StickyEvents` to be emitted.\n *\n * @throws If the `event` does not contain valid sticky data.\n * @param event The MatrixEvent that contains sticky data.\n * @returns An object describing whether the event was added to the map,\n * and the previous event it may have replaced.\n */\n private addStickyEvent(event: MatrixEvent): { added: true; prevEvent?: StickyMatrixEvent } | { added: false } {\n const stickyKey = event.getContent().msc4354_sticky_key;\n if (typeof stickyKey !== \"string\" && stickyKey !== undefined) {\n throw new Error(`${event.getId()} is missing msc4354_sticky_key`);\n }\n\n // With this we have the guarantee, that all events in stickyEventsMap are correctly formatted\n if (event.unstableStickyExpiresAt === undefined) {\n throw new Error(`${event.getId()} is missing msc4354_sticky.duration_ms`);\n }\n const sender = event.getSender();\n const type = event.getType();\n assertIsUserId(sender);\n if (event.unstableStickyExpiresAt <= Date.now()) {\n logger.info(\"ignored sticky event with older expiration time than current time\", stickyKey);\n return { added: false };\n }\n\n // While we fully expect the server to always provide the correct value,\n // this is just insurance to protect against attacks on our Map.\n if (!sender.startsWith(\"@\")) {\n throw new Error(\"Expected sender to start with @\");\n }\n\n const stickyEvent = event as StickyMatrixEvent;\n\n if (stickyKey === undefined) {\n this.unkeyedStickyEvents.add(stickyEvent);\n // Recalculate the next expiry time.\n this.nextStickyEventExpiryTs = Math.min(event.unstableStickyExpiresAt, this.nextStickyEventExpiryTs);\n\n this.scheduleStickyTimer();\n return { added: true };\n }\n\n // Why this is safe:\n // A type may contain anything but the *sender* is tightly\n // constrained so that a key will always end with a @<user_id>\n // E.g. Where a malicious event type might be \"rtc.member.event@foo:bar\" the key becomes:\n // \"rtc.member.event.@foo:bar@bar:baz\"\n const innerMapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);\n const currentEventSet = [stickyEvent, ...(this.stickyEventsMap.get(type)?.get(innerMapKey) ?? [])].sort(\n RoomStickyEventsStore.sortStickyEvent,\n );\n if (!this.stickyEventsMap.has(type)) {\n this.stickyEventsMap.set(type, new Map());\n }\n this.stickyEventsMap.get(type)?.set(innerMapKey, currentEventSet);\n\n // Recalculate the next expiry time.\n this.nextStickyEventExpiryTs = Math.min(stickyEvent.unstableStickyExpiresAt, this.nextStickyEventExpiryTs);\n\n this.scheduleStickyTimer();\n return {\n added: currentEventSet[0] === stickyEvent,\n prevEvent: currentEventSet?.[1],\n };\n }\n\n /**\n * Add a series of sticky events, emitting `RoomEvent.StickyEvents` if any\n * changes were made.\n * @param events A set of new sticky events.\n */\n public addStickyEvents(events: MatrixEvent[]): void {\n const added: StickyMatrixEvent[] = [];\n const updated: { current: StickyMatrixEvent; previous: StickyMatrixEvent }[] = [];\n for (const event of events) {\n try {\n const result = this.addStickyEvent(event);\n if (result.added) {\n if (result.prevEvent) {\n // e is validated as a StickyMatrixEvent by virtue of `addStickyEvent` returning added: true.\n updated.push({ current: event as StickyMatrixEvent, previous: result.prevEvent });\n } else {\n added.push(event as StickyMatrixEvent);\n }\n }\n } catch (ex) {\n logger.warn(\"ignored invalid sticky event\", ex);\n }\n }\n if (added.length || updated.length) this.emit(RoomStickyEventsEvent.Update, added, updated, []);\n this.scheduleStickyTimer();\n }\n\n /**\n * Schedule the sticky event expiry timer. The timer will\n * run immediately if an event has already expired.\n */\n private scheduleStickyTimer(): void {\n if (this.stickyEventTimer) {\n clearTimeout(this.stickyEventTimer);\n this.stickyEventTimer = undefined;\n }\n if (this.nextStickyEventExpiryTs === Number.MAX_SAFE_INTEGER) {\n // We have no events due to expire.\n return;\n } // otherwise, schedule in the future\n this.stickyEventTimer = setTimeout(this.cleanExpiredStickyEvents, this.nextStickyEventExpiryTs - Date.now());\n }\n\n /**\n * Clean out any expired sticky events.\n */\n private readonly cleanExpiredStickyEvents = (): void => {\n const now = Date.now();\n const removedEvents: StickyMatrixEvent[] = [];\n\n // We will recalculate this as we check all events.\n this.nextStickyEventExpiryTs = Number.MAX_SAFE_INTEGER;\n for (const [eventType, innerEvents] of this.stickyEventsMap.entries()) {\n for (const [innerMapKey, [currentEvent, ...previousEvents]] of innerEvents) {\n // we only added items with `sticky` into this map so we can assert non-null here\n if (now >= currentEvent.unstableStickyExpiresAt) {\n logger.debug(\"Expiring sticky event\", currentEvent.getId());\n removedEvents.push(currentEvent);\n this.stickyEventsMap.get(eventType)!.delete(innerMapKey);\n } else {\n // Ensure we remove any previous events which have now expired, to avoid unbounded memory consumption.\n this.stickyEventsMap\n .get(eventType)!\n .set(innerMapKey, [\n currentEvent,\n ...previousEvents.filter((e) => e.unstableStickyExpiresAt <= now),\n ]);\n // If not removing the event, check to see if it's the next lowest expiry.\n this.nextStickyEventExpiryTs = Math.min(\n this.nextStickyEventExpiryTs,\n currentEvent.unstableStickyExpiresAt,\n );\n }\n }\n // Clean up map after use.\n if (this.stickyEventsMap.get(eventType)?.size === 0) {\n this.stickyEventsMap.delete(eventType);\n }\n }\n for (const event of this.unkeyedStickyEvents) {\n if (now >= event.unstableStickyExpiresAt) {\n logger.debug(\"Expiring sticky event\", event.getId());\n this.unkeyedStickyEvents.delete(event);\n removedEvents.push(event);\n } else {\n // If not removing the event, check to see if it's the next lowest expiry.\n this.nextStickyEventExpiryTs = Math.min(this.nextStickyEventExpiryTs, event.unstableStickyExpiresAt);\n }\n }\n if (removedEvents.length) {\n this.emit(RoomStickyEventsEvent.Update, [], [], removedEvents);\n }\n // Finally, schedule the next run.\n this.scheduleStickyTimer();\n };\n\n /**\n * Handles incoming event redactions. Checks the sticky map\n * for any active sticky events being redacted.\n * @param redactedEvent The MatrixEvent OR event ID of the event being redacted. MAY not be a sticky event.\n */\n public handleRedaction(redactedEvent: MatrixEvent | string): void {\n // Note, we do not adjust`nextStickyEventExpiryTs` here.\n // If this event happens to be the most recent expiring event\n // then we may do one extra iteration of cleanExpiredStickyEvents\n // but this saves us having to iterate over all events here to calculate\n // the next expiry time.\n\n // Note, as soon as we find a positive match on an event in this function\n // we can return. There is no need to continue iterating on a positive match\n // as an event can only appear in one map.\n\n // Handle unkeyedStickyEvents first since it's *quick*.\n const redactEventId = typeof redactedEvent === \"string\" ? redactedEvent : redactedEvent.getId();\n for (const event of this.unkeyedStickyEvents) {\n if (event.getId() === redactEventId) {\n this.unkeyedStickyEvents.delete(event);\n this.emit(RoomStickyEventsEvent.Update, [], [], [event]);\n return;\n }\n }\n\n // Faster method of finding the event since we have the event cached.\n if (typeof redactedEvent !== \"string\" && !redactedEvent.isRedacted()) {\n const stickyKey = redactedEvent.getContent().msc4354_sticky_key;\n if (typeof stickyKey !== \"string\" && stickyKey !== undefined) {\n return; // Not a sticky event.\n }\n const eventType = redactedEvent.getType();\n const sender = redactedEvent.getSender();\n assertIsUserId(sender);\n const innerMap = this.stickyEventsMap.get(eventType);\n if (!innerMap) {\n return;\n }\n const mapKey = RoomStickyEventsStore.stickyMapKey(stickyKey, sender);\n const [currentEvent, ...previousEvents] = innerMap.get(mapKey) ?? [];\n if (!currentEvent) {\n // No event current in the map so ignore.\n return;\n }\n logger.debug(`Redaction for ${redactEventId} under sticky key ${stickyKey}`);\n // Revert to previous state, taking care to skip any other redacted events.\n const newEvents = previousEvents.filter((e) => !e.isRedacted()).sort(RoomStickyEventsStore.sortStickyEvent);\n this.stickyEventsMap.get(eventType)?.set(mapKey, newEvents);\n if (newEvents.length) {\n this.emit(\n RoomStickyEventsEvent.Update,\n [],\n [\n {\n // This looks confusing. This emits that the newer event\n // has been redacted and the previous event has taken it's place.\n previous: currentEvent,\n current: newEvents[0],\n },\n ],\n [],\n );\n } else {\n // We did not find a previous event, so just expire.\n innerMap.delete(mapKey);\n if (innerMap.size === 0) {\n this.stickyEventsMap.delete(eventType);\n }\n this.emit(RoomStickyEventsEvent.Update, [], [], [currentEvent]);\n }\n return;\n }\n\n // We only know the event ID of the redacted event, so we need to\n // traverse the map to find our event.\n for (const innerMap of this.stickyEventsMap.values()) {\n for (const [currentEvent] of innerMap.values()) {\n if (currentEvent.getId() !== redactEventId) {\n continue;\n }\n // Found the event.\n return this.handleRedaction(currentEvent);\n }\n }\n }\n\n /**\n * Clear all events and stop the timer from firing.\n */\n public clear(): void {\n this.stickyEventsMap.clear();\n // Unschedule timer.\n this.nextStickyEventExpiryTs = Number.MAX_SAFE_INTEGER;\n this.scheduleStickyTimer();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-summary.js","names":[
|
|
1
|
+
{"version":3,"file":"room-summary.js","names":[],"sources":["../../src/models/room-summary.ts"],"sourcesContent":["/*\nCopyright 2015 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * A stripped m.room.member event which contains the key renderable fields from the event,\n * sent only in simplified sliding sync (not `/v3/sync`).\n * This is very similar to MSC4186Hero from sliding-sync.ts but an internal format with\n * camelCase rather than underscores.\n */\nexport type Hero = {\n userId: string;\n displayName?: string;\n avatarUrl?: string;\n /**\n * If true, the hero is from an MSC4186 summary, in which case `displayName` and `avatarUrl` will\n * have been set by the server if available. If false, the `Hero` has been constructed from a `/v3/sync` response,\n * so these fields will always be undefined.\n */\n fromMSC4186: boolean;\n};\n\n/**\n * High level summary information for a room, as returned by `/v3/sync`.\n */\nexport interface IRoomSummary {\n /**\n * The room heroes: a selected set of members that can be used when summarising or\n * generating a name for a room. List of user IDs.\n */\n \"m.heroes\": string[];\n /**\n * The number of joined members in the room.\n */\n \"m.joined_member_count\"?: number;\n /**\n * The number of invited members in the room.\n */\n \"m.invited_member_count\"?: number;\n}\n\ninterface IInfo {\n /** The title of the room (e.g. `m.room.name`) */\n title: string;\n /** The description of the room (e.g. `m.room.topic`) */\n desc?: string;\n /** The number of joined users. */\n numMembers?: number;\n /** The list of aliases for this room. */\n aliases?: string[];\n /** The timestamp for this room. */\n timestamp?: number;\n}\n\n/**\n * Construct a new Room Summary. A summary can be used for display on a recent\n * list, without having to load the entire room list into memory.\n * @param roomId - Required. The ID of this room.\n * @param info - Optional. The summary info. Additional keys are supported.\n */\nexport class RoomSummary {\n public constructor(\n public readonly roomId: string,\n info?: IInfo,\n ) {}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA;AACA;;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,WAAW,CAAC;EACd,WAAW,CACE,MAAc,EAC9B,IAAY,EACd;IAAA,KAFkB,MAAc,GAAd,MAAc;EAE/B;AACP","ignoreList":[]}
|
|
@@ -314,6 +314,7 @@ export declare class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandle
|
|
|
314
314
|
* Stores and tracks sticky events
|
|
315
315
|
*/
|
|
316
316
|
private stickyEvents;
|
|
317
|
+
private readonly retention?;
|
|
317
318
|
/**
|
|
318
319
|
* Construct a new Room.
|
|
319
320
|
*
|
|
@@ -913,7 +914,7 @@ export declare class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandle
|
|
|
913
914
|
* @private
|
|
914
915
|
*/
|
|
915
916
|
private applyEventAsRedaction;
|
|
916
|
-
|
|
917
|
+
readonly tryApplyRedaction: (event: MatrixEvent) => void;
|
|
917
918
|
private processLiveEvent;
|
|
918
919
|
/**
|
|
919
920
|
* Add an event to the end of this room's live timelines. Will fire
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../src/models/room.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../src/models/room.ts"],"names":[],"mappings":"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"}
|