@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,7 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
3
|
/*
|
|
6
4
|
Copyright 2025-2026 The Matrix.org Foundation C.I.C.
|
|
7
5
|
|
|
@@ -75,13 +73,13 @@ On Leave: ───────── STOP ALL ABOVE
|
|
|
75
73
|
* Call membership should always remain sticky for this amount
|
|
76
74
|
* of time.
|
|
77
75
|
*/
|
|
78
|
-
|
|
76
|
+
const MEMBERSHIP_STICKY_DURATION_MS = 60 * 60 * 1000; // 60 minutes
|
|
79
77
|
|
|
80
78
|
/**
|
|
81
79
|
* The different types of actions the MembershipManager can take.
|
|
82
80
|
* @internal
|
|
83
81
|
*/
|
|
84
|
-
export
|
|
82
|
+
export let MembershipActionType = /*#__PURE__*/function (MembershipActionType) {
|
|
85
83
|
MembershipActionType["SendDelayedEvent"] = "SendDelayedEvent";
|
|
86
84
|
// -> MembershipActionType.SendJoinEvent if successful
|
|
87
85
|
// -> DelayedLeaveActionType.SendDelayedEvent on error, retry sending the first delayed event.
|
|
@@ -110,7 +108,7 @@ export var MembershipActionType = /*#__PURE__*/function (MembershipActionType) {
|
|
|
110
108
|
function createInsertActionUpdate(type, offset) {
|
|
111
109
|
return {
|
|
112
110
|
insert: [{
|
|
113
|
-
ts: Date.now() + (offset
|
|
111
|
+
ts: Date.now() + (offset ?? 0),
|
|
114
112
|
type
|
|
115
113
|
}]
|
|
116
114
|
};
|
|
@@ -118,7 +116,7 @@ function createInsertActionUpdate(type, offset) {
|
|
|
118
116
|
function createReplaceActionUpdate(type, offset) {
|
|
119
117
|
return {
|
|
120
118
|
replace: [{
|
|
121
|
-
ts: Date.now() + (offset
|
|
119
|
+
ts: Date.now() + (offset ?? 0),
|
|
122
120
|
type
|
|
123
121
|
}]
|
|
124
122
|
};
|
|
@@ -155,6 +153,8 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
155
153
|
* transport selection will be used instead.
|
|
156
154
|
* @param onError This will be called once the membership manager encounters an unrecoverable error.
|
|
157
155
|
* This should bubble up the the frontend to communicate that the call does not work in the current environment.
|
|
156
|
+
* The original underlying error is preserved as `error.cause`, so consumers can `instanceof`-check the typed
|
|
157
|
+
* cause.
|
|
158
158
|
*/
|
|
159
159
|
join(fociPreferred, multiSfuFocus, onError) {
|
|
160
160
|
if (this.scheduler.running) {
|
|
@@ -169,7 +169,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
169
169
|
this.state = MembershipManager.defaultState;
|
|
170
170
|
this.scheduler.startWithJoin().catch(e => {
|
|
171
171
|
this.logger.error("MembershipManager stopped because: ", e);
|
|
172
|
-
onError
|
|
172
|
+
onError?.(e);
|
|
173
173
|
}).finally(() => {
|
|
174
174
|
// Should already be set to false when calling `leave` in non error cases.
|
|
175
175
|
this.activated = false;
|
|
@@ -178,8 +178,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
178
178
|
this.emit(MembershipManagerEvent.StatusChanged, this.oldStatus, this.status);
|
|
179
179
|
}
|
|
180
180
|
if (!this.scheduler.running) {
|
|
181
|
-
|
|
182
|
-
(_this$leavePromiseRes = this.leavePromiseResolvers) === null || _this$leavePromiseRes === void 0 || _this$leavePromiseRes.resolve(true);
|
|
181
|
+
this.leavePromiseResolvers?.resolve(true);
|
|
183
182
|
this.leavePromiseResolvers = undefined;
|
|
184
183
|
}
|
|
185
184
|
});
|
|
@@ -203,10 +202,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
203
202
|
this.leavePromiseResolvers = Promise.withResolvers();
|
|
204
203
|
this.activated = false;
|
|
205
204
|
this.scheduler.initiateLeave();
|
|
206
|
-
if (timeout) setTimeout(() =>
|
|
207
|
-
var _this$leavePromiseRes2;
|
|
208
|
-
return (_this$leavePromiseRes2 = this.leavePromiseResolvers) === null || _this$leavePromiseRes2 === void 0 ? void 0 : _this$leavePromiseRes2.resolve(false);
|
|
209
|
-
}, timeout);
|
|
205
|
+
if (timeout) setTimeout(() => this.leavePromiseResolvers?.resolve(false), timeout);
|
|
210
206
|
}
|
|
211
207
|
return this.leavePromiseResolvers.promise;
|
|
212
208
|
}
|
|
@@ -218,7 +214,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
218
214
|
if (!this._ownMembership) {
|
|
219
215
|
// If one of these actions are scheduled or are getting inserted in the next iteration, we should already
|
|
220
216
|
// take care of our missing membership.
|
|
221
|
-
|
|
217
|
+
const sendingMembershipActions = [MembershipActionType.SendDelayedEvent, MembershipActionType.SendJoinEvent];
|
|
222
218
|
this.logger.warn("Missing own membership: force re-join");
|
|
223
219
|
this.state.hasMemberStateEvent = false;
|
|
224
220
|
if (this.scheduler.actions.some(a => sendingMembershipActions.includes(a.type))) {
|
|
@@ -230,19 +226,16 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
230
226
|
}
|
|
231
227
|
return Promise.resolve();
|
|
232
228
|
}
|
|
233
|
-
updateCallIntent(callIntent) {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// Kick off a new membership event as a result.
|
|
244
|
-
yield _this.sendJoinEvent();
|
|
245
|
-
})();
|
|
229
|
+
async updateCallIntent(callIntent) {
|
|
230
|
+
if (!this.activated || !this.ownMembership) {
|
|
231
|
+
throw Error("You cannot update your intent before joining the call");
|
|
232
|
+
}
|
|
233
|
+
if (this.ownMembership.callIntent === callIntent) {
|
|
234
|
+
return; // No-op
|
|
235
|
+
}
|
|
236
|
+
this.callIntent = callIntent;
|
|
237
|
+
// Kick off a new membership event as a result.
|
|
238
|
+
await this.sendJoinEvent();
|
|
246
239
|
}
|
|
247
240
|
|
|
248
241
|
/**
|
|
@@ -254,6 +247,24 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
254
247
|
constructor(joinConfig, room, client, slotDescription, parentLogger) {
|
|
255
248
|
super();
|
|
256
249
|
_defineProperty(this, "activated", false);
|
|
250
|
+
_defineProperty(this, "logger", void 0);
|
|
251
|
+
_defineProperty(this, "callIntent", void 0);
|
|
252
|
+
_defineProperty(this, "leavePromiseResolvers", void 0);
|
|
253
|
+
_defineProperty(this, "_ownMembership", void 0);
|
|
254
|
+
// scheduler
|
|
255
|
+
_defineProperty(this, "oldStatus", void 0);
|
|
256
|
+
_defineProperty(this, "scheduler", void 0);
|
|
257
|
+
// MembershipManager mutable state.
|
|
258
|
+
_defineProperty(this, "state", void 0);
|
|
259
|
+
// Membership Event static parameters:
|
|
260
|
+
_defineProperty(this, "deviceId", void 0);
|
|
261
|
+
_defineProperty(this, "userId", void 0);
|
|
262
|
+
_defineProperty(this, "stateKey", void 0);
|
|
263
|
+
_defineProperty(this, "rtcTransport", void 0);
|
|
264
|
+
/** @deprecated This will be removed in favor or rtcTransport becoming a list of actively used transports */
|
|
265
|
+
_defineProperty(this, "fociPreferred", void 0);
|
|
266
|
+
// Config:
|
|
267
|
+
_defineProperty(this, "delayedLeaveEventDelayMsOverride", void 0);
|
|
257
268
|
// an abstraction to switch between sending state or a sticky event
|
|
258
269
|
_defineProperty(this, "clientSendDelayedDisconnectMembership", () => this.client._unstable_sendDelayedStateEvent(this.room.roomId, {
|
|
259
270
|
delay: this.delayedLeaveEventDelayMs
|
|
@@ -265,10 +276,8 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
265
276
|
this.room = room;
|
|
266
277
|
this.client = client;
|
|
267
278
|
this.slotDescription = slotDescription;
|
|
268
|
-
this.logger = (parentLogger
|
|
269
|
-
|
|
270
|
-
userId = _ref[0],
|
|
271
|
-
deviceId = _ref[1];
|
|
279
|
+
this.logger = (parentLogger ?? rootLogger).getChild(`[MembershipManager]`);
|
|
280
|
+
const [userId, deviceId] = [this.client.getUserId(), this.client.getDeviceId()];
|
|
272
281
|
if (userId === null) throw Error("Missing userId in client");
|
|
273
282
|
if (deviceId === null) throw Error("Missing deviceId in client");
|
|
274
283
|
this.deviceId = deviceId;
|
|
@@ -277,30 +286,25 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
277
286
|
// we keep it as a string for now for backwards compatibility.
|
|
278
287
|
this.stateKey = this.makeMembershipStateKey(userId, deviceId);
|
|
279
288
|
this.state = MembershipManager.defaultState;
|
|
280
|
-
this.callIntent = joinConfig
|
|
289
|
+
this.callIntent = joinConfig?.callIntent;
|
|
281
290
|
this.scheduler = new ActionScheduler(type => {
|
|
282
291
|
if (this.oldStatus) {
|
|
283
292
|
// we put this at the beginning of the actions scheduler loop handle callback since it is a loop this
|
|
284
293
|
// is equivalent to running it at the end of the loop. (just after applying the status/action list changes)
|
|
285
294
|
// This order is required because this method needs to return the action updates.
|
|
286
|
-
this.logger.debug(
|
|
295
|
+
this.logger.debug(`MembershipManager applied action changes. Status: ${this.oldStatus} -> ${this.status}`);
|
|
287
296
|
if (this.oldStatus !== this.status) {
|
|
288
297
|
this.emit(MembershipManagerEvent.StatusChanged, this.oldStatus, this.status);
|
|
289
298
|
}
|
|
290
299
|
}
|
|
291
300
|
this.oldStatus = this.status;
|
|
292
|
-
this.logger.debug(
|
|
301
|
+
this.logger.debug(`MembershipManager before processing action. status=${this.oldStatus}`);
|
|
293
302
|
return this.membershipLoopHandler(type);
|
|
294
303
|
}, this.logger);
|
|
295
304
|
}
|
|
296
305
|
get ownMembership() {
|
|
297
306
|
return this._ownMembership;
|
|
298
307
|
}
|
|
299
|
-
|
|
300
|
-
// scheduler
|
|
301
|
-
|
|
302
|
-
// MembershipManager mutable state.
|
|
303
|
-
|
|
304
308
|
static get defaultState() {
|
|
305
309
|
return {
|
|
306
310
|
hasMemberStateEvent: false,
|
|
@@ -312,194 +316,171 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
312
316
|
probablyLeft: false
|
|
313
317
|
};
|
|
314
318
|
}
|
|
315
|
-
// Membership Event static parameters:
|
|
316
|
-
|
|
317
|
-
/** @deprecated This will be removed in favor or rtcTransport becoming a list of actively used transports */
|
|
318
|
-
|
|
319
|
-
// Config:
|
|
320
|
-
|
|
321
319
|
get networkErrorRetryMs() {
|
|
322
|
-
|
|
323
|
-
return (_this$joinConfig$netw = (_this$joinConfig = this.joinConfig) === null || _this$joinConfig === void 0 ? void 0 : _this$joinConfig.networkErrorRetryMs) !== null && _this$joinConfig$netw !== void 0 ? _this$joinConfig$netw : 3000;
|
|
320
|
+
return this.joinConfig?.networkErrorRetryMs ?? 3000;
|
|
324
321
|
}
|
|
325
322
|
get membershipEventExpiryMs() {
|
|
326
|
-
|
|
327
|
-
return (_this$joinConfig$memb = (_this$joinConfig2 = this.joinConfig) === null || _this$joinConfig2 === void 0 ? void 0 : _this$joinConfig2.membershipEventExpiryMs) !== null && _this$joinConfig$memb !== void 0 ? _this$joinConfig$memb : DEFAULT_EXPIRE_DURATION;
|
|
323
|
+
return this.joinConfig?.membershipEventExpiryMs ?? DEFAULT_EXPIRE_DURATION;
|
|
328
324
|
}
|
|
329
325
|
get membershipEventExpiryHeadroomMs() {
|
|
330
|
-
|
|
331
|
-
return (_this$joinConfig$memb2 = (_this$joinConfig3 = this.joinConfig) === null || _this$joinConfig3 === void 0 ? void 0 : _this$joinConfig3.membershipEventExpiryHeadroomMs) !== null && _this$joinConfig$memb2 !== void 0 ? _this$joinConfig$memb2 : 5000;
|
|
326
|
+
return this.joinConfig?.membershipEventExpiryHeadroomMs ?? 5000;
|
|
332
327
|
}
|
|
333
328
|
computeNextExpiryActionTs(iteration) {
|
|
334
329
|
return this.state.startTime + Math.min(this.membershipEventExpiryMs, MEMBERSHIP_STICKY_DURATION_MS) * iteration - this.membershipEventExpiryHeadroomMs;
|
|
335
330
|
}
|
|
336
331
|
get delayedLeaveEventDelayMs() {
|
|
337
|
-
|
|
338
|
-
return (_ref2 = (_this$delayedLeaveEve = this.delayedLeaveEventDelayMsOverride) !== null && _this$delayedLeaveEve !== void 0 ? _this$delayedLeaveEve : (_this$joinConfig4 = this.joinConfig) === null || _this$joinConfig4 === void 0 ? void 0 : _this$joinConfig4.delayedLeaveEventDelayMs) !== null && _ref2 !== void 0 ? _ref2 : 8000;
|
|
332
|
+
return this.delayedLeaveEventDelayMsOverride ?? this.joinConfig?.delayedLeaveEventDelayMs ?? 8000;
|
|
339
333
|
}
|
|
340
334
|
get delayedLeaveEventRestartMs() {
|
|
341
|
-
|
|
342
|
-
return (_this$joinConfig$dela = (_this$joinConfig5 = this.joinConfig) === null || _this$joinConfig5 === void 0 ? void 0 : _this$joinConfig5.delayedLeaveEventRestartMs) !== null && _this$joinConfig$dela !== void 0 ? _this$joinConfig$dela : 5000;
|
|
335
|
+
return this.joinConfig?.delayedLeaveEventRestartMs ?? 5000;
|
|
343
336
|
}
|
|
344
337
|
get maximumRateLimitRetryCount() {
|
|
345
|
-
|
|
346
|
-
return (_this$joinConfig$maxi = (_this$joinConfig6 = this.joinConfig) === null || _this$joinConfig6 === void 0 ? void 0 : _this$joinConfig6.maximumRateLimitRetryCount) !== null && _this$joinConfig$maxi !== void 0 ? _this$joinConfig$maxi : 10;
|
|
338
|
+
return this.joinConfig?.maximumRateLimitRetryCount ?? 10;
|
|
347
339
|
}
|
|
348
340
|
get maximumNetworkErrorRetryCount() {
|
|
349
|
-
|
|
350
|
-
return (_this$joinConfig$maxi2 = (_this$joinConfig7 = this.joinConfig) === null || _this$joinConfig7 === void 0 ? void 0 : _this$joinConfig7.maximumNetworkErrorRetryCount) !== null && _this$joinConfig$maxi2 !== void 0 ? _this$joinConfig$maxi2 : 10;
|
|
341
|
+
return this.joinConfig?.maximumNetworkErrorRetryCount ?? 10;
|
|
351
342
|
}
|
|
352
343
|
get delayedLeaveEventRestartLocalTimeoutMs() {
|
|
353
|
-
|
|
354
|
-
return (_this$joinConfig$dela2 = (_this$joinConfig8 = this.joinConfig) === null || _this$joinConfig8 === void 0 ? void 0 : _this$joinConfig8.delayedLeaveEventRestartLocalTimeoutMs) !== null && _this$joinConfig$dela2 !== void 0 ? _this$joinConfig$dela2 : 2000;
|
|
344
|
+
return this.joinConfig?.delayedLeaveEventRestartLocalTimeoutMs ?? 2000;
|
|
355
345
|
}
|
|
356
346
|
|
|
357
347
|
// LOOP HANDLER:
|
|
358
|
-
membershipLoopHandler(type) {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
{
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
return _this2.cancelKnownDelayIdBeforeSendDelayedEvent(_this2.state.delayId);
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
case MembershipActionType.RestartDelayedEvent:
|
|
379
|
-
{
|
|
380
|
-
if (!_this2.state.delayId) {
|
|
381
|
-
// Delay id got reset. This action was used to check if the hs canceled the delayed event when the join state got sent.
|
|
382
|
-
return createInsertActionUpdate(MembershipActionType.SendDelayedEvent);
|
|
383
|
-
}
|
|
384
|
-
return _this2.restartDelayedEvent(_this2.state.delayId);
|
|
385
|
-
}
|
|
386
|
-
case MembershipActionType.SendScheduledDelayedLeaveEvent:
|
|
387
|
-
{
|
|
388
|
-
// We are already good
|
|
389
|
-
if (!_this2.state.hasMemberStateEvent) {
|
|
390
|
-
return {
|
|
391
|
-
replace: []
|
|
392
|
-
};
|
|
393
|
-
}
|
|
394
|
-
if (_this2.state.delayId) {
|
|
395
|
-
return _this2.sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(_this2.state.delayId);
|
|
396
|
-
} else {
|
|
397
|
-
return createInsertActionUpdate(MembershipActionType.SendLeaveEvent);
|
|
398
|
-
}
|
|
348
|
+
async membershipLoopHandler(type) {
|
|
349
|
+
switch (type) {
|
|
350
|
+
case MembershipActionType.SendDelayedEvent:
|
|
351
|
+
{
|
|
352
|
+
// Before we start we check if we come from a state where we have a delay id.
|
|
353
|
+
if (!this.state.delayId) {
|
|
354
|
+
return this.sendOrResendDelayedLeaveEvent(); // Normal case without any previous delayed id.
|
|
355
|
+
} else {
|
|
356
|
+
// This can happen if someone else (or another client) removes our own membership event.
|
|
357
|
+
// It will trigger `onRTCSessionMemberUpdate` queue `MembershipActionType.SendDelayedEvent`.
|
|
358
|
+
// We might still have our delayed event from the previous participation and dependent on the server this might not
|
|
359
|
+
// get removed automatically if the state changes. Hence, it would remove our membership unexpectedly shortly after the rejoin.
|
|
360
|
+
//
|
|
361
|
+
// In this block we will try to cancel this delayed event before setting up a new one.
|
|
362
|
+
|
|
363
|
+
return this.cancelKnownDelayIdBeforeSendDelayedEvent(this.state.delayId);
|
|
399
364
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
365
|
+
}
|
|
366
|
+
case MembershipActionType.RestartDelayedEvent:
|
|
367
|
+
{
|
|
368
|
+
if (!this.state.delayId) {
|
|
369
|
+
// Delay id got reset. This action was used to check if the hs canceled the delayed event when the join state got sent.
|
|
370
|
+
return createInsertActionUpdate(MembershipActionType.SendDelayedEvent);
|
|
403
371
|
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
372
|
+
return this.restartDelayedEvent(this.state.delayId);
|
|
373
|
+
}
|
|
374
|
+
case MembershipActionType.SendScheduledDelayedLeaveEvent:
|
|
375
|
+
{
|
|
376
|
+
// We are already good
|
|
377
|
+
if (!this.state.hasMemberStateEvent) {
|
|
378
|
+
return {
|
|
379
|
+
replace: []
|
|
380
|
+
};
|
|
407
381
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
return {
|
|
413
|
-
replace: []
|
|
414
|
-
};
|
|
415
|
-
}
|
|
416
|
-
// This is only a fallback in case we do not have working delayed events support.
|
|
417
|
-
// first we should try to just send the scheduled leave event
|
|
418
|
-
return _this2.sendFallbackLeaveEvent();
|
|
382
|
+
if (this.state.delayId) {
|
|
383
|
+
return this.sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(this.state.delayId);
|
|
384
|
+
} else {
|
|
385
|
+
return createInsertActionUpdate(MembershipActionType.SendLeaveEvent);
|
|
419
386
|
}
|
|
420
|
-
}
|
|
421
|
-
})();
|
|
422
|
-
}
|
|
423
|
-
// HANDLERS (used in the membershipLoopHandler)
|
|
424
|
-
sendOrResendDelayedLeaveEvent() {
|
|
425
|
-
var _this3 = this;
|
|
426
|
-
return _asyncToGenerator(function* () {
|
|
427
|
-
// We can reach this at the start of a call (where we do not yet have a membership: state.hasMemberStateEvent=false)
|
|
428
|
-
// or during a call if the state event canceled our delayed event or caused by an unexpected error that removed our delayed event.
|
|
429
|
-
// (Another client could have canceled it, the homeserver might have removed/lost it due to a restart, ...)
|
|
430
|
-
// In the `then` and `catch` block we treat both cases differently. "if (this.state.hasMemberStateEvent) {} else {}"
|
|
431
|
-
return yield _this3.clientSendDelayedDisconnectMembership().then(response => {
|
|
432
|
-
_this3.state.expectedServerDelayLeaveTs = Date.now() + _this3.delayedLeaveEventDelayMs;
|
|
433
|
-
_this3.setAndEmitProbablyLeft(false);
|
|
434
|
-
// On success we reset retries and set delayId.
|
|
435
|
-
_this3.resetRateLimitCounter(MembershipActionType.SendDelayedEvent);
|
|
436
|
-
_this3.setAndEmitDelayId(response.delay_id);
|
|
437
|
-
if (_this3.state.hasMemberStateEvent) {
|
|
438
|
-
// This action was scheduled because the previous delayed event was cancelled
|
|
439
|
-
// due to lack of https://github.com/element-hq/synapse/pull/17810
|
|
440
|
-
return createInsertActionUpdate(MembershipActionType.RestartDelayedEvent, _this3.delayedLeaveEventRestartMs);
|
|
441
|
-
} else {
|
|
442
|
-
// This action was scheduled because we are in the process of joining
|
|
443
|
-
return createInsertActionUpdate(MembershipActionType.SendJoinEvent);
|
|
444
387
|
}
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
return createInsertActionUpdate(repeatActionType);
|
|
388
|
+
case MembershipActionType.SendJoinEvent:
|
|
389
|
+
{
|
|
390
|
+
return this.sendJoinEvent();
|
|
449
391
|
}
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
// This action was scheduled because the previous delayed event was cancelled
|
|
454
|
-
// due to lack of https://github.com/element-hq/synapse/pull/17810
|
|
455
|
-
|
|
456
|
-
// Don't do any other delayed event work if its not supported.
|
|
457
|
-
if (_this3.isUnsupportedDelayedEndpoint(e)) return {};
|
|
458
|
-
throw Error("Could not send delayed event, even though delayed events are supported. " + e);
|
|
459
|
-
} else {
|
|
460
|
-
// This action was scheduled because we are in the process of joining
|
|
461
|
-
// log and fall through
|
|
462
|
-
if (_this3.isUnsupportedDelayedEndpoint(e)) {
|
|
463
|
-
_this3.logger.info("Not using delayed event because the endpoint is not supported");
|
|
464
|
-
} else {
|
|
465
|
-
_this3.logger.info("Not using delayed event because: " + e);
|
|
466
|
-
}
|
|
467
|
-
// On any other error we fall back to not using delayed events and send the join state event immediately
|
|
468
|
-
return createInsertActionUpdate(MembershipActionType.SendJoinEvent);
|
|
392
|
+
case MembershipActionType.UpdateExpiry:
|
|
393
|
+
{
|
|
394
|
+
return this.updateExpiryOnJoinedEvent();
|
|
469
395
|
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
}).catch(e => {
|
|
482
|
-
var repeatActionType = MembershipActionType.SendDelayedEvent;
|
|
483
|
-
var update = _this4.actionUpdateFromErrors(e, repeatActionType, "cancelScheduledDelayedEvent");
|
|
484
|
-
if (update) return update;
|
|
485
|
-
if (_this4.isNotFoundError(e)) {
|
|
486
|
-
// If we get a M_NOT_FOUND we know that the delayed event got already removed.
|
|
487
|
-
// This means we are good and can set it to undefined and run this again.
|
|
488
|
-
_this4.setAndEmitDelayId(undefined);
|
|
489
|
-
return createReplaceActionUpdate(repeatActionType);
|
|
396
|
+
case MembershipActionType.SendLeaveEvent:
|
|
397
|
+
{
|
|
398
|
+
// We are good already
|
|
399
|
+
if (!this.state.hasMemberStateEvent) {
|
|
400
|
+
return {
|
|
401
|
+
replace: []
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
// This is only a fallback in case we do not have working delayed events support.
|
|
405
|
+
// first we should try to just send the scheduled leave event
|
|
406
|
+
return this.sendFallbackLeaveEvent();
|
|
490
407
|
}
|
|
491
|
-
|
|
492
|
-
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
// HANDLERS (used in the membershipLoopHandler)
|
|
411
|
+
async sendOrResendDelayedLeaveEvent() {
|
|
412
|
+
// We can reach this at the start of a call (where we do not yet have a membership: state.hasMemberStateEvent=false)
|
|
413
|
+
// or during a call if the state event canceled our delayed event or caused by an unexpected error that removed our delayed event.
|
|
414
|
+
// (Another client could have canceled it, the homeserver might have removed/lost it due to a restart, ...)
|
|
415
|
+
// In the `then` and `catch` block we treat both cases differently. "if (this.state.hasMemberStateEvent) {} else {}"
|
|
416
|
+
return await this.clientSendDelayedDisconnectMembership().then(response => {
|
|
417
|
+
this.state.expectedServerDelayLeaveTs = Date.now() + this.delayedLeaveEventDelayMs;
|
|
418
|
+
this.setAndEmitProbablyLeft(false);
|
|
419
|
+
// On success we reset retries and set delayId.
|
|
420
|
+
this.resetRateLimitCounter(MembershipActionType.SendDelayedEvent);
|
|
421
|
+
this.setAndEmitDelayId(response.delay_id);
|
|
422
|
+
if (this.state.hasMemberStateEvent) {
|
|
423
|
+
// This action was scheduled because the previous delayed event was cancelled
|
|
424
|
+
// due to lack of https://github.com/element-hq/synapse/pull/17810
|
|
425
|
+
return createInsertActionUpdate(MembershipActionType.RestartDelayedEvent, this.delayedLeaveEventRestartMs);
|
|
426
|
+
} else {
|
|
427
|
+
// This action was scheduled because we are in the process of joining
|
|
428
|
+
return createInsertActionUpdate(MembershipActionType.SendJoinEvent);
|
|
429
|
+
}
|
|
430
|
+
}).catch(e => {
|
|
431
|
+
const repeatActionType = MembershipActionType.SendDelayedEvent;
|
|
432
|
+
if (this.manageMaxDelayExceededSituation(e)) {
|
|
433
|
+
return createInsertActionUpdate(repeatActionType);
|
|
434
|
+
}
|
|
435
|
+
const update = this.actionUpdateFromErrors(e, repeatActionType, "_unstable_sendDelayedStateEvent");
|
|
436
|
+
if (update) return update;
|
|
437
|
+
if (this.state.hasMemberStateEvent) {
|
|
438
|
+
// This action was scheduled because the previous delayed event was cancelled
|
|
439
|
+
// due to lack of https://github.com/element-hq/synapse/pull/17810
|
|
440
|
+
|
|
441
|
+
// Don't do any other delayed event work if its not supported.
|
|
442
|
+
if (this.isUnsupportedDelayedEndpoint(e)) return {};
|
|
443
|
+
throw Error("Could not send delayed event, even though delayed events are supported. " + e);
|
|
444
|
+
} else {
|
|
445
|
+
// This action was scheduled because we are in the process of joining
|
|
446
|
+
// log and fall through
|
|
447
|
+
if (this.isUnsupportedDelayedEndpoint(e)) {
|
|
448
|
+
this.logger.info("Not using delayed event because the endpoint is not supported");
|
|
449
|
+
} else {
|
|
450
|
+
this.logger.info("Not using delayed event because: " + e);
|
|
493
451
|
}
|
|
494
|
-
//
|
|
452
|
+
// On any other error we fall back to not using delayed events and send the join state event immediately
|
|
453
|
+
return createInsertActionUpdate(MembershipActionType.SendJoinEvent);
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
async cancelKnownDelayIdBeforeSendDelayedEvent(delayId) {
|
|
458
|
+
// Remove all running updates and restarts
|
|
459
|
+
return await this.client._unstable_cancelScheduledDelayedEvent(delayId).then(() => {
|
|
460
|
+
this.setAndEmitDelayId(undefined);
|
|
461
|
+
this.resetRateLimitCounter(MembershipActionType.SendDelayedEvent);
|
|
462
|
+
return createReplaceActionUpdate(MembershipActionType.SendDelayedEvent);
|
|
463
|
+
}).catch(e => {
|
|
464
|
+
const repeatActionType = MembershipActionType.SendDelayedEvent;
|
|
465
|
+
const update = this.actionUpdateFromErrors(e, repeatActionType, "cancelScheduledDelayedEvent");
|
|
466
|
+
if (update) return update;
|
|
467
|
+
if (this.isNotFoundError(e)) {
|
|
468
|
+
// If we get a M_NOT_FOUND we know that the delayed event got already removed.
|
|
469
|
+
// This means we are good and can set it to undefined and run this again.
|
|
470
|
+
this.setAndEmitDelayId(undefined);
|
|
471
|
+
return createReplaceActionUpdate(repeatActionType);
|
|
472
|
+
}
|
|
473
|
+
if (this.isUnsupportedDelayedEndpoint(e)) {
|
|
474
|
+
return createReplaceActionUpdate(MembershipActionType.SendJoinEvent);
|
|
475
|
+
}
|
|
476
|
+
// We do not just ignore and log this error since we would also need to reset the delayId.
|
|
495
477
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
})();
|
|
478
|
+
// This becomes an unrecoverable error case since something is significantly off if we don't hit any of the above cases
|
|
479
|
+
// when state.delayId !== undefined
|
|
480
|
+
// We do not just ignore and log this error since we would also need to reset the delayId.
|
|
481
|
+
// It is cleaner if we, the frontend, rejoins instead of resetting the delayId here and behaving like in the success case.
|
|
482
|
+
throw Error("We failed to cancel a delayed event where we already had a delay id with an error we cannot automatically handle");
|
|
483
|
+
});
|
|
503
484
|
}
|
|
504
485
|
setAndEmitProbablyLeft(probablyLeft) {
|
|
505
486
|
if (this.state.probablyLeft === probablyLeft) {
|
|
@@ -513,155 +494,140 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
513
494
|
this.state.delayId = delayId;
|
|
514
495
|
this.emit(MembershipManagerEvent.DelayIdChanged, this.state.delayId);
|
|
515
496
|
}
|
|
516
|
-
restartDelayedEvent(delayId) {
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
durationUntilServerDelayedLeave !== undefined && !_this5.state.probablyLeft ? Math.min(_this5.delayedLeaveEventRestartLocalTimeoutMs, durationUntilServerDelayedLeave) : _this5.delayedLeaveEventRestartLocalTimeoutMs);
|
|
530
|
-
});
|
|
531
|
-
|
|
532
|
-
// The obvious choice here would be to use the `IRequestOpts` to set the timeout. Since this call might be forwarded
|
|
533
|
-
// to the widget driver this information would get lost. That is why we mimic the AbortError using the race.
|
|
534
|
-
return yield Promise.race([_this5.client._unstable_restartScheduledDelayedEvent(delayId), abortPromise]).then(() => {
|
|
535
|
-
// Whenever we successfully restart the delayed event we update the `state.expectedServerDelayLeaveTs`
|
|
536
|
-
// which stores the predicted timestamp at which the server will send the delayed leave event if there wont be any further
|
|
537
|
-
// successful restart requests.
|
|
538
|
-
_this5.state.expectedServerDelayLeaveTs = Date.now() + _this5.delayedLeaveEventDelayMs;
|
|
539
|
-
_this5.resetRateLimitCounter(MembershipActionType.RestartDelayedEvent);
|
|
540
|
-
_this5.setAndEmitProbablyLeft(false);
|
|
541
|
-
return createInsertActionUpdate(MembershipActionType.RestartDelayedEvent, _this5.delayedLeaveEventRestartMs);
|
|
542
|
-
}).catch(e => {
|
|
543
|
-
if (_this5.state.expectedServerDelayLeaveTs && _this5.state.expectedServerDelayLeaveTs <= Date.now()) {
|
|
544
|
-
// Once we reach this point it's likely that the server is sending the delayed leave event so we emit `probablyLeft = true`.
|
|
545
|
-
// It will emit `probablyLeft = false` once we notice about our leave through sync and successfully setup a new state event.
|
|
546
|
-
_this5.setAndEmitProbablyLeft(true);
|
|
547
|
-
}
|
|
548
|
-
var repeatActionType = MembershipActionType.RestartDelayedEvent;
|
|
549
|
-
if (_this5.isNotFoundError(e)) {
|
|
550
|
-
_this5.setAndEmitDelayId(undefined);
|
|
551
|
-
return createInsertActionUpdate(MembershipActionType.SendDelayedEvent);
|
|
552
|
-
}
|
|
553
|
-
// If the HS does not support delayed events we wont reschedule.
|
|
554
|
-
if (_this5.isUnsupportedDelayedEndpoint(e)) return {};
|
|
555
|
-
|
|
556
|
-
// TODO this also needs a test: get rate limit while checking id delayed event is scheduled
|
|
557
|
-
var update = _this5.actionUpdateFromErrors(e, repeatActionType, "restartScheduledDelayedEvent");
|
|
558
|
-
if (update) return update;
|
|
559
|
-
|
|
560
|
-
// In other error cases we have no idea what is happening
|
|
561
|
-
throw Error("Could not restart delayed event, even though delayed events are supported. " + e);
|
|
562
|
-
});
|
|
563
|
-
})();
|
|
564
|
-
}
|
|
565
|
-
sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(delayId) {
|
|
566
|
-
var _this6 = this;
|
|
567
|
-
return _asyncToGenerator(function* () {
|
|
568
|
-
return yield _this6.client._unstable_sendScheduledDelayedEvent(delayId).then(() => {
|
|
569
|
-
_this6.state.hasMemberStateEvent = false;
|
|
570
|
-
_this6.setAndEmitDelayId(undefined);
|
|
571
|
-
_this6.resetRateLimitCounter(MembershipActionType.SendScheduledDelayedLeaveEvent);
|
|
572
|
-
return {
|
|
573
|
-
replace: []
|
|
574
|
-
};
|
|
575
|
-
}).catch(e => {
|
|
576
|
-
var repeatActionType = MembershipActionType.SendLeaveEvent;
|
|
577
|
-
if (_this6.isUnsupportedDelayedEndpoint(e)) return {};
|
|
578
|
-
if (_this6.isNotFoundError(e)) {
|
|
579
|
-
_this6.setAndEmitDelayId(undefined);
|
|
580
|
-
return createInsertActionUpdate(repeatActionType);
|
|
581
|
-
}
|
|
582
|
-
var update = _this6.actionUpdateFromErrors(e, repeatActionType, "sendScheduledDelayedEvent");
|
|
583
|
-
if (update) return update;
|
|
497
|
+
async restartDelayedEvent(delayId) {
|
|
498
|
+
// Compute the duration until we expect the server to send the delayed leave event.
|
|
499
|
+
const durationUntilServerDelayedLeave = this.state.expectedServerDelayLeaveTs ? this.state.expectedServerDelayLeaveTs - Date.now() : undefined;
|
|
500
|
+
const abortPromise = new Promise((_, reject) => {
|
|
501
|
+
setTimeout(() => {
|
|
502
|
+
reject(new AbortError("Restart delayed event timed out before the HS responded"));
|
|
503
|
+
},
|
|
504
|
+
// We abort immediately at the time where we expect the server to send the delayed leave event.
|
|
505
|
+
// At this point we want the catch block to run and set the `probablyLeft` state.
|
|
506
|
+
//
|
|
507
|
+
// While we are already in probablyLeft state, we use the unaltered delayedLeaveEventRestartLocalTimeoutMs.
|
|
508
|
+
durationUntilServerDelayedLeave !== undefined && !this.state.probablyLeft ? Math.min(this.delayedLeaveEventRestartLocalTimeoutMs, durationUntilServerDelayedLeave) : this.delayedLeaveEventRestartLocalTimeoutMs);
|
|
509
|
+
});
|
|
584
510
|
|
|
585
|
-
|
|
586
|
-
|
|
511
|
+
// The obvious choice here would be to use the `IRequestOpts` to set the timeout. Since this call might be forwarded
|
|
512
|
+
// to the widget driver this information would get lost. That is why we mimic the AbortError using the race.
|
|
513
|
+
return await Promise.race([this.client._unstable_restartScheduledDelayedEvent(delayId), abortPromise]).then(() => {
|
|
514
|
+
// Whenever we successfully restart the delayed event we update the `state.expectedServerDelayLeaveTs`
|
|
515
|
+
// which stores the predicted timestamp at which the server will send the delayed leave event if there wont be any further
|
|
516
|
+
// successful restart requests.
|
|
517
|
+
this.state.expectedServerDelayLeaveTs = Date.now() + this.delayedLeaveEventDelayMs;
|
|
518
|
+
this.resetRateLimitCounter(MembershipActionType.RestartDelayedEvent);
|
|
519
|
+
this.setAndEmitProbablyLeft(false);
|
|
520
|
+
return createInsertActionUpdate(MembershipActionType.RestartDelayedEvent, this.delayedLeaveEventRestartMs);
|
|
521
|
+
}).catch(e => {
|
|
522
|
+
if (this.state.expectedServerDelayLeaveTs && this.state.expectedServerDelayLeaveTs <= Date.now()) {
|
|
523
|
+
// Once we reach this point it's likely that the server is sending the delayed leave event so we emit `probablyLeft = true`.
|
|
524
|
+
// It will emit `probablyLeft = false` once we notice about our leave through sync and successfully setup a new state event.
|
|
525
|
+
this.setAndEmitProbablyLeft(true);
|
|
526
|
+
}
|
|
527
|
+
const repeatActionType = MembershipActionType.RestartDelayedEvent;
|
|
528
|
+
if (this.isNotFoundError(e)) {
|
|
529
|
+
this.setAndEmitDelayId(undefined);
|
|
530
|
+
return createInsertActionUpdate(MembershipActionType.SendDelayedEvent);
|
|
531
|
+
}
|
|
532
|
+
// If the HS does not support delayed events we wont reschedule.
|
|
533
|
+
if (this.isUnsupportedDelayedEndpoint(e)) return {};
|
|
534
|
+
|
|
535
|
+
// TODO this also needs a test: get rate limit while checking id delayed event is scheduled
|
|
536
|
+
const update = this.actionUpdateFromErrors(e, repeatActionType, "restartScheduledDelayedEvent");
|
|
537
|
+
if (update) return update;
|
|
538
|
+
|
|
539
|
+
// In other error cases we have no idea what is happening
|
|
540
|
+
throw Error("Could not restart delayed event, even though delayed events are supported. " + e);
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
async sendScheduledDelayedLeaveEventOrFallbackToSendLeaveEvent(delayId) {
|
|
544
|
+
return await this.client._unstable_sendScheduledDelayedEvent(delayId).then(() => {
|
|
545
|
+
this.state.hasMemberStateEvent = false;
|
|
546
|
+
this.setAndEmitDelayId(undefined);
|
|
547
|
+
this.resetRateLimitCounter(MembershipActionType.SendScheduledDelayedLeaveEvent);
|
|
548
|
+
return {
|
|
549
|
+
replace: []
|
|
550
|
+
};
|
|
551
|
+
}).catch(e => {
|
|
552
|
+
const repeatActionType = MembershipActionType.SendLeaveEvent;
|
|
553
|
+
if (this.isUnsupportedDelayedEndpoint(e)) return {};
|
|
554
|
+
if (this.isNotFoundError(e)) {
|
|
555
|
+
this.setAndEmitDelayId(undefined);
|
|
587
556
|
return createInsertActionUpdate(repeatActionType);
|
|
588
|
-
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
return
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
}
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
})
|
|
649
|
-
}
|
|
650
|
-
sendFallbackLeaveEvent() {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
throw e;
|
|
663
|
-
});
|
|
664
|
-
})();
|
|
557
|
+
}
|
|
558
|
+
const update = this.actionUpdateFromErrors(e, repeatActionType, "sendScheduledDelayedEvent");
|
|
559
|
+
if (update) return update;
|
|
560
|
+
|
|
561
|
+
// On any other error we fall back to SendLeaveEvent (this includes hard errors from rate limiting)
|
|
562
|
+
this.logger.warn("Encountered unexpected error during SendScheduledDelayedLeaveEvent. Falling back to SendLeaveEvent", e);
|
|
563
|
+
return createInsertActionUpdate(repeatActionType);
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
async sendJoinEvent() {
|
|
567
|
+
return await this.clientSendMembership(this.makeMyMembership(this.membershipEventExpiryMs)).then(() => {
|
|
568
|
+
this.setAndEmitProbablyLeft(false);
|
|
569
|
+
this.state.startTime = Date.now();
|
|
570
|
+
// The next update should already use twice the membershipEventExpiryTimeout
|
|
571
|
+
this.state.expireUpdateIterations = 1;
|
|
572
|
+
this.state.hasMemberStateEvent = true;
|
|
573
|
+
this.resetRateLimitCounter(MembershipActionType.SendJoinEvent);
|
|
574
|
+
// An UpdateExpiry action might be left over from a previous join event.
|
|
575
|
+
// We can reach sendJoinEvent when the delayed leave event gets send by the HS.
|
|
576
|
+
// The branch where we might have a leftover UpdateExpiry action is:
|
|
577
|
+
// RestartDelayedEvent (cannot find it, server removed it)
|
|
578
|
+
// -> SendDelayedEvent (send new delayed event)
|
|
579
|
+
// -> SendJoinEvent (here with a still scheduled UpdateExpiry action)
|
|
580
|
+
const actionsWithoutUpdateExpiry = this.scheduler.actions.filter(a => a.type !== MembershipActionType.UpdateExpiry &&
|
|
581
|
+
// A new UpdateExpiry action with an updated will be scheduled,
|
|
582
|
+
a.type !== MembershipActionType.SendJoinEvent // Manually remove the SendJoinEvent action,
|
|
583
|
+
);
|
|
584
|
+
return {
|
|
585
|
+
replace: [...actionsWithoutUpdateExpiry,
|
|
586
|
+
// To check if the delayed event is still there or got removed by inserting the stateEvent, we need to restart it.
|
|
587
|
+
{
|
|
588
|
+
ts: Date.now(),
|
|
589
|
+
type: MembershipActionType.RestartDelayedEvent
|
|
590
|
+
}, {
|
|
591
|
+
ts: this.computeNextExpiryActionTs(this.state.expireUpdateIterations),
|
|
592
|
+
type: MembershipActionType.UpdateExpiry
|
|
593
|
+
}]
|
|
594
|
+
};
|
|
595
|
+
}).catch(e => {
|
|
596
|
+
const update = this.actionUpdateFromErrors(e, MembershipActionType.SendJoinEvent, "sendStateEvent");
|
|
597
|
+
if (update) return update;
|
|
598
|
+
throw e;
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
async updateExpiryOnJoinedEvent() {
|
|
602
|
+
const nextExpireUpdateIteration = this.state.expireUpdateIterations + 1;
|
|
603
|
+
return await this.clientSendMembership(this.makeMyMembership(this.membershipEventExpiryMs * nextExpireUpdateIteration)).then(() => {
|
|
604
|
+
// Success, we reset retries and schedule update.
|
|
605
|
+
this.resetRateLimitCounter(MembershipActionType.UpdateExpiry);
|
|
606
|
+
this.state.expireUpdateIterations = nextExpireUpdateIteration;
|
|
607
|
+
return {
|
|
608
|
+
insert: [{
|
|
609
|
+
ts: this.computeNextExpiryActionTs(nextExpireUpdateIteration),
|
|
610
|
+
type: MembershipActionType.UpdateExpiry
|
|
611
|
+
}]
|
|
612
|
+
};
|
|
613
|
+
}).catch(e => {
|
|
614
|
+
const update = this.actionUpdateFromErrors(e, MembershipActionType.UpdateExpiry, "sendStateEvent");
|
|
615
|
+
if (update) return update;
|
|
616
|
+
throw e;
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
async sendFallbackLeaveEvent() {
|
|
620
|
+
return await this.clientSendMembership({}).then(() => {
|
|
621
|
+
this.resetRateLimitCounter(MembershipActionType.SendLeaveEvent);
|
|
622
|
+
this.state.hasMemberStateEvent = false;
|
|
623
|
+
return {
|
|
624
|
+
replace: []
|
|
625
|
+
};
|
|
626
|
+
}).catch(e => {
|
|
627
|
+
const update = this.actionUpdateFromErrors(e, MembershipActionType.SendLeaveEvent, "sendStateEvent");
|
|
628
|
+
if (update) return update;
|
|
629
|
+
throw e;
|
|
630
|
+
});
|
|
665
631
|
}
|
|
666
632
|
|
|
667
633
|
// HELPERS
|
|
@@ -672,14 +638,14 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
672
638
|
makeMembershipStateKey(localUserId, localDeviceId) {
|
|
673
639
|
// INFO_SLOT_ID_LEGACY_CASE (search for all occurances of this INFO to get the full picture)
|
|
674
640
|
// Revert back to "" just for the state key (state keys are always legacy. we use sticky events for non legacy events)
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
641
|
+
const application = this.slotDescription.application;
|
|
642
|
+
const needsEmptyStringRoomFix = application === "m.call" && this.slotDescription.id === "ROOM";
|
|
643
|
+
const slotId = needsEmptyStringRoomFix ? "" : this.slotDescription.id;
|
|
644
|
+
const stateKey = `${localUserId}_${localDeviceId}_${application}${slotId}`;
|
|
679
645
|
if (/^org\.matrix\.msc(3757|3779)\b/.exec(this.room.getVersion())) {
|
|
680
646
|
return stateKey;
|
|
681
647
|
} else {
|
|
682
|
-
return
|
|
648
|
+
return `_${stateKey}`;
|
|
683
649
|
}
|
|
684
650
|
}
|
|
685
651
|
|
|
@@ -688,21 +654,20 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
688
654
|
* @returns Only returns `SessionMembershipData`
|
|
689
655
|
*/
|
|
690
656
|
makeMyMembership(expires) {
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
var focusObjects = this.rtcTransport === undefined ? {
|
|
657
|
+
const ownMembership = this.ownMembership;
|
|
658
|
+
const needsEmptyStringRoomFix = this.slotDescription.application === "m.call" && this.slotDescription.id === "ROOM";
|
|
659
|
+
const focusObjects = this.rtcTransport === undefined ? {
|
|
695
660
|
focus_active: {
|
|
696
661
|
type: "livekit",
|
|
697
662
|
focus_selection: "oldest_membership"
|
|
698
663
|
},
|
|
699
|
-
foci_preferred:
|
|
664
|
+
foci_preferred: this.fociPreferred ?? []
|
|
700
665
|
} : {
|
|
701
666
|
focus_active: {
|
|
702
667
|
type: "livekit",
|
|
703
668
|
focus_selection: "multi_sfu"
|
|
704
669
|
},
|
|
705
|
-
foci_preferred: [this.rtcTransport, ...(
|
|
670
|
+
foci_preferred: [this.rtcTransport, ...(this.fociPreferred ?? [])]
|
|
706
671
|
};
|
|
707
672
|
return _objectSpread(_objectSpread({
|
|
708
673
|
"application": this.slotDescription.application,
|
|
@@ -714,7 +679,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
714
679
|
// DO NOT use this.memberId here since that is the state key (using application...)
|
|
715
680
|
// But for session events we use the colon seperated userId and deviceId. The SFU will automatically
|
|
716
681
|
// assign those values to the media participant for those versions.
|
|
717
|
-
"membershipID":
|
|
682
|
+
"membershipID": `${this.userId}:${this.deviceId}`,
|
|
718
683
|
expires,
|
|
719
684
|
"m.call.intent": this.callIntent
|
|
720
685
|
}, focusObjects), ownMembership !== undefined ? {
|
|
@@ -740,7 +705,7 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
740
705
|
*/
|
|
741
706
|
manageMaxDelayExceededSituation(error) {
|
|
742
707
|
if (error instanceof MatrixError && error.errcode === "M_UNKNOWN" && error.data["org.matrix.msc4140.errcode"] === "M_MAX_DELAY_EXCEEDED") {
|
|
743
|
-
|
|
708
|
+
const maxDelayAllowed = error.data["org.matrix.msc4140.max_delay"];
|
|
744
709
|
if (typeof maxDelayAllowed === "number" && this.delayedLeaveEventDelayMs > maxDelayAllowed) {
|
|
745
710
|
this.delayedLeaveEventDelayMsOverride = maxDelayAllowed;
|
|
746
711
|
}
|
|
@@ -750,9 +715,9 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
750
715
|
return false;
|
|
751
716
|
}
|
|
752
717
|
actionUpdateFromErrors(error, type, method) {
|
|
753
|
-
|
|
718
|
+
const updateLimit = this.actionUpdateFromRateLimitError(error, method, type);
|
|
754
719
|
if (updateLimit) return updateLimit;
|
|
755
|
-
|
|
720
|
+
const updateNetwork = this.actionUpdateFromNetworkErrorRetry(error, type);
|
|
756
721
|
if (updateNetwork) return updateNetwork;
|
|
757
722
|
}
|
|
758
723
|
/**
|
|
@@ -765,23 +730,21 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
765
730
|
* Returns false if it is not a network error.
|
|
766
731
|
*/
|
|
767
732
|
actionUpdateFromRateLimitError(error, method, type) {
|
|
768
|
-
var _this$state$rateLimit;
|
|
769
733
|
// "Is rate limit"-boundary
|
|
770
734
|
if (!((error instanceof HTTPError || error instanceof MatrixError) && error.isRateLimitError())) {
|
|
771
735
|
return undefined;
|
|
772
736
|
}
|
|
773
737
|
|
|
774
738
|
// retry boundary
|
|
775
|
-
|
|
739
|
+
const rateLimitRetries = this.state.rateLimitRetries.get(type) ?? 0;
|
|
776
740
|
if (rateLimitRetries < this.maximumRateLimitRetryCount) {
|
|
777
|
-
|
|
778
|
-
|
|
741
|
+
let resendDelay;
|
|
742
|
+
const defaultMs = 5000;
|
|
779
743
|
try {
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
this.logger.info("Rate limited by server, retrying in ".concat(resendDelay, "ms"));
|
|
744
|
+
resendDelay = error.getRetryAfterMs() ?? defaultMs;
|
|
745
|
+
this.logger.info(`Rate limited by server, retrying in ${resendDelay}ms`);
|
|
783
746
|
} catch (e) {
|
|
784
|
-
this.logger.warn(
|
|
747
|
+
this.logger.warn(`Error while retrieving a rate-limit retry delay, retrying after default delay of ${defaultMs}`, e);
|
|
785
748
|
resendDelay = defaultMs;
|
|
786
749
|
}
|
|
787
750
|
this.state.rateLimitRetries.set(type, rateLimitRetries + 1);
|
|
@@ -802,16 +765,15 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
802
765
|
* Returns false if it is not a network error.
|
|
803
766
|
*/
|
|
804
767
|
actionUpdateFromNetworkErrorRetry(error, type) {
|
|
805
|
-
var _this$state$networkEr;
|
|
806
768
|
// "Is a network error"-boundary
|
|
807
|
-
|
|
769
|
+
const retries = this.state.networkErrorRetries.get(type) ?? 0;
|
|
808
770
|
|
|
809
771
|
// Strings for error logging
|
|
810
|
-
|
|
811
|
-
|
|
772
|
+
const retryDurationString = this.networkErrorRetryMs / 1000 + "s";
|
|
773
|
+
const retryCounterString = "(" + retries + "/" + this.maximumNetworkErrorRetryCount + ")";
|
|
812
774
|
|
|
813
775
|
// Variables for scheduling the new event
|
|
814
|
-
|
|
776
|
+
let retryDuration = this.networkErrorRetryMs;
|
|
815
777
|
if (error instanceof Error && error.name === "AbortError") {
|
|
816
778
|
// We do not wait for the timeout on local timeouts.
|
|
817
779
|
retryDuration = 0;
|
|
@@ -859,9 +821,11 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
859
821
|
this.state.networkErrorRetries.set(type, 0);
|
|
860
822
|
}
|
|
861
823
|
get status() {
|
|
862
|
-
|
|
824
|
+
const actions = this.scheduler.actions;
|
|
863
825
|
if (actions.length === 1) {
|
|
864
|
-
|
|
826
|
+
const {
|
|
827
|
+
type
|
|
828
|
+
} = actions[0];
|
|
865
829
|
switch (type) {
|
|
866
830
|
case MembershipActionType.SendDelayedEvent:
|
|
867
831
|
case MembershipActionType.SendJoinEvent:
|
|
@@ -876,16 +840,16 @@ export class MembershipManager extends TypedEventEmitter {
|
|
|
876
840
|
// pass through as not expected
|
|
877
841
|
}
|
|
878
842
|
} else if (actions.length === 2) {
|
|
879
|
-
|
|
843
|
+
const types = actions.map(a => a.type);
|
|
880
844
|
// normal state for connected with delayed events
|
|
881
845
|
if ((types.includes(MembershipActionType.RestartDelayedEvent) || types.includes(MembershipActionType.SendDelayedEvent) && this.state.hasMemberStateEvent) && types.includes(MembershipActionType.UpdateExpiry)) {
|
|
882
846
|
return Status.Connected;
|
|
883
847
|
}
|
|
884
848
|
} else if (actions.length === 3) {
|
|
885
|
-
|
|
849
|
+
const types = actions.map(a => a.type);
|
|
886
850
|
// It is a correct connected state if we already schedule the next Restart but have not yet cleaned up
|
|
887
851
|
// the current restart.
|
|
888
|
-
if (
|
|
852
|
+
if (types.filter(t => t === MembershipActionType.RestartDelayedEvent).length === 2 && types.includes(MembershipActionType.UpdateExpiry)) {
|
|
889
853
|
return Status.Connected;
|
|
890
854
|
}
|
|
891
855
|
}
|
|
@@ -927,8 +891,7 @@ export class StickyEventMembershipManager extends MembershipManager {
|
|
|
927
891
|
this.memberId = memberId;
|
|
928
892
|
}
|
|
929
893
|
actionUpdateFromErrors(e, t, m) {
|
|
930
|
-
|
|
931
|
-
return super.actionUpdateFromErrors(e, t, (_StickyEventMembershi = StickyEventMembershipManager.nameMap.get(m)) !== null && _StickyEventMembershi !== void 0 ? _StickyEventMembershi : "unknown");
|
|
894
|
+
return super.actionUpdateFromErrors(e, t, StickyEventMembershipManager.nameMap.get(m) ?? "unknown");
|
|
932
895
|
}
|
|
933
896
|
|
|
934
897
|
/**
|
|
@@ -936,12 +899,12 @@ export class StickyEventMembershipManager extends MembershipManager {
|
|
|
936
899
|
* @returns Only returns `RtcMembershipData`
|
|
937
900
|
*/
|
|
938
901
|
makeMyMembership() {
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
902
|
+
const ownMembership = this.ownMembership;
|
|
903
|
+
const livekitTransport = isLivekitTransportConfig(this.rtcTransport) ? this.rtcTransport : undefined;
|
|
904
|
+
const relationObject = ownMembership?.eventId ? {
|
|
942
905
|
"m.relation": {
|
|
943
906
|
rel_type: RelationType.Reference,
|
|
944
|
-
event_id: ownMembership
|
|
907
|
+
event_id: ownMembership?.eventId
|
|
945
908
|
}
|
|
946
909
|
} : {};
|
|
947
910
|
return _objectSpread({
|