matrix-js-sdk 41.7.0 → 41.8.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/@types/event.d.ts +6 -1
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +3 -0
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/retention.d.ts +15 -0
- package/lib/@types/retention.d.ts.map +1 -0
- package/lib/@types/retention.js +13 -0
- package/lib/@types/retention.js.map +1 -0
- package/lib/capabilityPoller.d.ts +38 -0
- package/lib/capabilityPoller.d.ts.map +1 -0
- package/lib/capabilityPoller.js +96 -0
- package/lib/capabilityPoller.js.map +1 -0
- package/lib/client.d.ts +7 -0
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +15 -5
- package/lib/client.js.map +1 -1
- package/lib/matrix.d.ts +1 -0
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -0
- package/lib/matrix.js.map +1 -1
- package/lib/matrixrtc/MembershipManager.d.ts +2 -0
- package/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
- package/lib/matrixrtc/MembershipManager.js +2 -0
- package/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +4 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/lib/models/room-retention.d.ts +28 -0
- package/lib/models/room-retention.d.ts.map +1 -0
- package/lib/models/room-retention.js +201 -0
- package/lib/models/room-retention.js.map +1 -0
- package/lib/models/room.d.ts +2 -1
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +29 -3
- package/lib/models/room.js.map +1 -1
- package/lib/retentionPolicy.d.ts +33 -0
- package/lib/retentionPolicy.d.ts.map +1 -0
- package/lib/retentionPolicy.js +42 -0
- package/lib/retentionPolicy.js.map +1 -0
- package/lib/rust-crypto/backup.d.ts +7 -2
- package/lib/rust-crypto/backup.d.ts.map +1 -1
- package/lib/rust-crypto/backup.js +13 -4
- package/lib/rust-crypto/backup.js.map +1 -1
- package/lib/serverCapabilities.d.ts +4 -23
- package/lib/serverCapabilities.d.ts.map +1 -1
- package/lib/serverCapabilities.js +8 -61
- package/lib/serverCapabilities.js.map +1 -1
- package/lib/store/index.d.ts +7 -0
- package/lib/store/index.d.ts.map +1 -1
- package/lib/store/index.js.map +1 -1
- package/lib/store/indexeddb-local-backend.d.ts +1 -0
- package/lib/store/indexeddb-local-backend.d.ts.map +1 -1
- package/lib/store/indexeddb-local-backend.js +15 -3
- package/lib/store/indexeddb-local-backend.js.map +1 -1
- package/lib/store/indexeddb-remote-backend.d.ts +3 -1
- package/lib/store/indexeddb-remote-backend.d.ts.map +1 -1
- package/lib/store/indexeddb-remote-backend.js +29 -8
- package/lib/store/indexeddb-remote-backend.js.map +1 -1
- package/lib/store/indexeddb.d.ts +7 -5
- package/lib/store/indexeddb.d.ts.map +1 -1
- package/lib/store/indexeddb.js +20 -10
- package/lib/store/indexeddb.js.map +1 -1
- package/lib/store/memory.d.ts +1 -0
- package/lib/store/memory.d.ts.map +1 -1
- package/lib/store/memory.js +3 -0
- package/lib/store/memory.js.map +1 -1
- package/lib/store/stub.d.ts +1 -0
- package/lib/store/stub.d.ts.map +1 -1
- package/lib/store/stub.js +3 -0
- package/lib/store/stub.js.map +1 -1
- package/lib/sync-accumulator.d.ts +1 -0
- package/lib/sync-accumulator.d.ts.map +1 -1
- package/lib/sync-accumulator.js +4 -0
- package/lib/sync-accumulator.js.map +1 -1
- package/package.json +3 -3
- package/src/@types/event.ts +9 -0
- package/src/@types/retention.ts +16 -0
- package/src/capabilityPoller.ts +102 -0
- package/src/client.ts +18 -4
- package/src/matrix.ts +1 -0
- package/src/matrixrtc/MembershipManager.ts +2 -0
- package/src/matrixrtc/MembershipManagerActionScheduler.ts +4 -1
- package/src/models/room-retention.ts +230 -0
- package/src/models/room.ts +17 -1
- package/src/retentionPolicy.ts +65 -0
- package/src/rust-crypto/backup.ts +15 -4
- package/src/serverCapabilities.ts +8 -67
- package/src/store/index.ts +8 -0
- package/src/store/indexeddb-local-backend.ts +10 -0
- package/src/store/indexeddb-remote-backend.ts +24 -5
- package/src/store/indexeddb.ts +20 -8
- package/src/store/memory.ts +4 -0
- package/src/store/stub.ts +3 -0
- package/src/sync-accumulator.ts +9 -0
package/lib/@types/event.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { type LocalNotificationSettings } from "./local_notifications.ts";
|
|
|
14
14
|
import { type IPushRules } from "./PushRules.ts";
|
|
15
15
|
import { type SecretInfo, type SecretStorageKeyDescription } from "../secret-storage.ts";
|
|
16
16
|
import { type POLICIES_ACCOUNT_EVENT_TYPE } from "../models/invites-ignorer-types.ts";
|
|
17
|
+
import type { ROOM_RETENTION_TYPE, RoomRetentionContent } from "./retention.ts";
|
|
17
18
|
export declare enum EventType {
|
|
18
19
|
RoomCanonicalAlias = "m.room.canonical_alias",
|
|
19
20
|
RoomCreate = "m.room.create",
|
|
@@ -87,7 +88,9 @@ export declare enum EventType {
|
|
|
87
88
|
CallNotify = "org.matrix.msc4075.call.notify",
|
|
88
89
|
RTCNotification = "org.matrix.msc4075.rtc.notification",
|
|
89
90
|
RTCDecline = "org.matrix.msc4310.rtc.decline",
|
|
90
|
-
RoomPolicy = "org.matrix.msc4284.policy"
|
|
91
|
+
RoomPolicy = "org.matrix.msc4284.policy",
|
|
92
|
+
RetentionPolicy = "m.room.retention",
|
|
93
|
+
RetentionPolicyUnstable = "org.matrix.msc1763.retention"
|
|
91
94
|
}
|
|
92
95
|
export declare enum RelationType {
|
|
93
96
|
Annotation = "m.annotation",
|
|
@@ -281,6 +284,8 @@ export interface StateEvents {
|
|
|
281
284
|
[EventType.RTCMembership]: RtcMembershipData | EmptyObject;
|
|
282
285
|
[UNSTABLE_MSC3089_BRANCH.name]: MSC3089EventContent;
|
|
283
286
|
[M_BEACON_INFO.name]: MBeaconInfoEventContent;
|
|
287
|
+
[ROOM_RETENTION_TYPE.name]: RoomRetentionContent | EmptyObject;
|
|
288
|
+
[ROOM_RETENTION_TYPE.altName]: RoomRetentionContent | EmptyObject;
|
|
284
289
|
}
|
|
285
290
|
/**
|
|
286
291
|
* Mapped type from event type to content type for all specified room-specific account_data events.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/@types/event.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACxH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChH,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACtH,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC1G,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/@types/event.ts"],"names":[],"mappings":"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"}
|
package/lib/@types/event.js
CHANGED
|
@@ -103,6 +103,9 @@ export var EventType = /*#__PURE__*/function (EventType) {
|
|
|
103
103
|
EventType["RTCDecline"] = "org.matrix.msc4310.rtc.decline";
|
|
104
104
|
// Policy servers
|
|
105
105
|
EventType["RoomPolicy"] = "org.matrix.msc4284.policy";
|
|
106
|
+
// Retention
|
|
107
|
+
EventType["RetentionPolicy"] = "m.room.retention";
|
|
108
|
+
EventType["RetentionPolicyUnstable"] = "org.matrix.msc1763.retention";
|
|
106
109
|
return EventType;
|
|
107
110
|
}({});
|
|
108
111
|
export var RelationType = /*#__PURE__*/function (RelationType) {
|
package/lib/@types/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","names":["NamespacedValue","UnstableValue","EventType","RelationType","MsgType","RoomCreateTypeField","RoomType","ToDeviceMessageId","UNSTABLE_MSC3088_PURPOSE","UNSTABLE_MSC3088_ENABLED","UNSTABLE_MSC3089_TREE_SUBTYPE","UNSTABLE_MSC3089_LEAF","UNSTABLE_MSC3089_BRANCH","UNSTABLE_MSC2716_MARKER","MSC3912_RELATION_BASED_REDACTIONS_PROP","UNSTABLE_ELEMENT_FUNCTIONAL_USERS","EVENT_VISIBILITY_CHANGE_TYPE","PUSHER_ENABLED","PUSHER_DEVICE_ID","LOCAL_NOTIFICATION_SETTINGS_PREFIX","UNSIGNED_THREAD_ID_FIELD","UNSIGNED_MEMBERSHIP_FIELD"],"sources":["../../src/@types/event.ts"],"sourcesContent":["/*\nCopyright 2020-2026 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type EitherAnd } from \"matrix-events-sdk\";\n\nimport { NamespacedValue, UnstableValue } from \"../NamespacedValue.ts\";\nimport {\n type PolicyRuleEventContent,\n type RoomAvatarEventContent,\n type RoomCanonicalAliasEventContent,\n type RoomCreateEventContent,\n type RoomEncryptionEventContent,\n type RoomGuestAccessEventContent,\n type RoomHistoryVisibilityEventContent,\n type RoomJoinRulesEventContent,\n type RoomMemberEventContent,\n type RoomNameEventContent,\n type RoomPinnedEventsEventContent,\n type RoomPolicyContent,\n type RoomPowerLevelsEventContent,\n type RoomServerAclEventContent,\n type RoomThirdPartyInviteEventContent,\n type RoomTombstoneEventContent,\n type RoomTopicEventContent,\n type SpaceChildEventContent,\n type SpaceParentEventContent,\n} from \"./state_events.ts\";\nimport { type IGroupCallRoomMemberState, type IGroupCallRoomState } from \"../webrtc/groupCall.ts\";\nimport { type MSC3089EventContent } from \"../models/MSC3089Branch.ts\";\nimport { type M_BEACON, type M_BEACON_INFO, type MBeaconEventContent, type MBeaconInfoEventContent } from \"./beacon.ts\";\nimport { type EmptyObject } from \"./common.ts\";\nimport { type ReactionEventContent, type RoomMessageEventContent, type StickerEventContent } from \"./events.ts\";\nimport {\n type MCallAnswer,\n type MCallBase,\n type MCallCandidates,\n type MCallHangupReject,\n type MCallInviteNegotiate,\n type MCallReplacesEvent,\n type MCallSelectAnswer,\n type SDPStreamMetadata,\n} from \"../webrtc/callEventTypes.ts\";\nimport {\n type IRTCNotificationContent,\n type IRTCDeclineContent,\n type EncryptionKeysEventContent,\n type ICallNotifyContent,\n} from \"../matrixrtc/types.ts\";\nimport { type M_POLL_END, type M_POLL_START, type PollEndEventContent, type PollStartEventContent } from \"./polls.ts\";\nimport { type RtcMembershipData, type SessionMembershipData } from \"../matrixrtc/membershipData/index.ts\";\nimport { type LocalNotificationSettings } from \"./local_notifications.ts\";\nimport { type IPushRules } from \"./PushRules.ts\";\nimport { type SecretInfo, type SecretStorageKeyDescription } from \"../secret-storage.ts\";\nimport { type POLICIES_ACCOUNT_EVENT_TYPE } from \"../models/invites-ignorer-types.ts\";\n\nexport enum EventType {\n // Room state events\n RoomCanonicalAlias = \"m.room.canonical_alias\",\n RoomCreate = \"m.room.create\",\n RoomJoinRules = \"m.room.join_rules\",\n RoomMember = \"m.room.member\",\n RoomThirdPartyInvite = \"m.room.third_party_invite\",\n RoomPowerLevels = \"m.room.power_levels\",\n RoomName = \"m.room.name\",\n RoomTopic = \"m.room.topic\",\n RoomAvatar = \"m.room.avatar\",\n RoomPinnedEvents = \"m.room.pinned_events\",\n RoomEncryption = \"m.room.encryption\",\n RoomHistoryVisibility = \"m.room.history_visibility\",\n RoomGuestAccess = \"m.room.guest_access\",\n RoomServerAcl = \"m.room.server_acl\",\n RoomTombstone = \"m.room.tombstone\",\n RoomPredecessor = \"org.matrix.msc3946.room_predecessor\",\n\n // Moderation policy lists\n PolicyRuleUser = \"m.policy.rule.user\",\n PolicyRuleRoom = \"m.policy.rule.room\",\n PolicyRuleServer = \"m.policy.rule.server\",\n\n SpaceChild = \"m.space.child\",\n SpaceParent = \"m.space.parent\",\n\n // Room timeline events\n RoomRedaction = \"m.room.redaction\",\n RoomMessage = \"m.room.message\",\n RoomMessageEncrypted = \"m.room.encrypted\",\n Sticker = \"m.sticker\",\n CallInvite = \"m.call.invite\",\n CallCandidates = \"m.call.candidates\",\n CallAnswer = \"m.call.answer\",\n CallHangup = \"m.call.hangup\",\n CallReject = \"m.call.reject\",\n CallSelectAnswer = \"m.call.select_answer\",\n CallNegotiate = \"m.call.negotiate\",\n CallSDPStreamMetadataChanged = \"m.call.sdp_stream_metadata_changed\",\n CallSDPStreamMetadataChangedPrefix = \"org.matrix.call.sdp_stream_metadata_changed\",\n CallReplaces = \"m.call.replaces\",\n CallAssertedIdentity = \"m.call.asserted_identity\",\n CallAssertedIdentityPrefix = \"org.matrix.call.asserted_identity\",\n CallEncryptionKeysPrefix = \"io.element.call.encryption_keys\",\n KeyVerificationRequest = \"m.key.verification.request\",\n KeyVerificationStart = \"m.key.verification.start\",\n KeyVerificationCancel = \"m.key.verification.cancel\",\n KeyVerificationMac = \"m.key.verification.mac\",\n KeyVerificationDone = \"m.key.verification.done\",\n KeyVerificationKey = \"m.key.verification.key\",\n KeyVerificationAccept = \"m.key.verification.accept\",\n // Not used directly - see READY_TYPE in VerificationRequest.\n KeyVerificationReady = \"m.key.verification.ready\",\n // use of this is discouraged https://matrix.org/docs/spec/client_server/r0.6.1#m-room-message-feedback\n RoomMessageFeedback = \"m.room.message.feedback\",\n Reaction = \"m.reaction\",\n PollStart = \"org.matrix.msc3381.poll.start\",\n\n // Room ephemeral events\n Typing = \"m.typing\",\n Receipt = \"m.receipt\",\n Presence = \"m.presence\",\n\n // Room account_data events\n FullyRead = \"m.fully_read\",\n Tag = \"m.tag\",\n SpaceOrder = \"org.matrix.msc3230.space_order\", // MSC3230\n MarkedUnread = \"m.marked_unread\",\n\n // User account_data events\n PushRules = \"m.push_rules\",\n Direct = \"m.direct\",\n IgnoredUserList = \"m.ignored_user_list\",\n InvitePermissionConfig = \"m.invite_permission_config\", // MSC4380\n\n // to_device events\n RoomKey = \"m.room_key\",\n RoomKeyRequest = \"m.room_key_request\",\n ForwardedRoomKey = \"m.forwarded_room_key\",\n Dummy = \"m.dummy\",\n SecretRequest = \"m.secret.request\",\n SecretSend = \"m.secret.send\",\n\n // Group call events\n GroupCallPrefix = \"org.matrix.msc3401.call\",\n GroupCallMemberPrefix = \"org.matrix.msc3401.call.member\",\n\n // MatrixRTC events\n RTCMembership = \"org.matrix.msc4143.rtc.member\",\n CallNotify = \"org.matrix.msc4075.call.notify\",\n RTCNotification = \"org.matrix.msc4075.rtc.notification\",\n RTCDecline = \"org.matrix.msc4310.rtc.decline\",\n\n // Policy servers\n RoomPolicy = \"org.matrix.msc4284.policy\",\n}\n\nexport enum RelationType {\n Annotation = \"m.annotation\",\n Replace = \"m.replace\",\n Reference = \"m.reference\",\n\n // Don't use this yet: it's only the stable version. The code still assumes we support the unstable prefix and,\n // moreover, our tests currently use the unstable prefix. Use THREAD_RELATION_TYPE.name.\n // Once we support *only* the stable prefix, THREAD_RELATION_TYPE can die and we can switch to this.\n Thread = \"m.thread\",\n}\n\nexport enum MsgType {\n Text = \"m.text\",\n Emote = \"m.emote\",\n Notice = \"m.notice\",\n Image = \"m.image\",\n File = \"m.file\",\n Audio = \"m.audio\",\n Location = \"m.location\",\n Video = \"m.video\",\n KeyVerificationRequest = \"m.key.verification.request\",\n}\n\nexport const RoomCreateTypeField = \"type\";\n\nexport enum RoomType {\n Space = \"m.space\",\n UnstableCall = \"org.matrix.msc3417.call\",\n ElementVideo = \"io.element.video\",\n}\n\nexport const ToDeviceMessageId = \"org.matrix.msgid\";\n\n/**\n * Identifier for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_PURPOSE = new UnstableValue(\"m.room.purpose\", \"org.matrix.msc3088.purpose\");\n\n/**\n * Enabled flag for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_ENABLED = new UnstableValue(\"m.enabled\", \"org.matrix.msc3088.enabled\");\n\n/**\n * Subtype for an [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_TREE_SUBTYPE = new UnstableValue(\"m.data_tree\", \"org.matrix.msc3089.data_tree\");\n\n/**\n * Leaf type for an event in a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_LEAF = new UnstableValue(\"m.leaf\", \"org.matrix.msc3089.leaf\");\n\n/**\n * Branch (Leaf Reference) type for the index approach in a\n * [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room. Note that this reference is\n * UNSTABLE and subject to breaking changes, including its eventual removal.\n */\nexport const UNSTABLE_MSC3089_BRANCH = new UnstableValue(\"m.branch\", \"org.matrix.msc3089.branch\");\n\n/**\n * Marker event type to point back at imported historical content in a room. See\n * [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716).\n * Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC2716_MARKER = new UnstableValue(\"m.room.marker\", \"org.matrix.msc2716.marker\");\n\n/**\n * Name of the request property for relation based redactions.\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912}\n */\nexport const MSC3912_RELATION_BASED_REDACTIONS_PROP = new UnstableValue(\n \"with_rel_types\",\n \"org.matrix.msc3912.with_relations\",\n);\n\n/**\n * Functional members type for declaring a purpose of room members (e.g. helpful bots).\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n *\n * Schema (TypeScript):\n * ```\n * {\n * service_members?: string[]\n * }\n * ```\n *\n * @example\n * ```\n * {\n * \"service_members\": [\n * \"@helperbot:localhost\",\n * \"@reminderbot:alice.tdl\"\n * ]\n * }\n * ```\n */\nexport const UNSTABLE_ELEMENT_FUNCTIONAL_USERS = new UnstableValue(\n \"io.element.functional_members\",\n \"io.element.functional_members\",\n);\n\n/**\n * A type of message that affects visibility of a message,\n * as per https://github.com/matrix-org/matrix-doc/pull/3531\n *\n * @experimental\n */\nexport const EVENT_VISIBILITY_CHANGE_TYPE = new UnstableValue(\"m.visibility\", \"org.matrix.msc3531.visibility\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_ENABLED = new UnstableValue(\"enabled\", \"org.matrix.msc3881.enabled\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_DEVICE_ID = new UnstableValue(\"device_id\", \"org.matrix.msc3881.device_id\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3890\n *\n * @experimental\n */\nexport const LOCAL_NOTIFICATION_SETTINGS_PREFIX = new UnstableValue(\n \"m.local_notification_settings\",\n \"org.matrix.msc3890.local_notification_settings\",\n);\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/4023\n *\n * @experimental\n */\nexport const UNSIGNED_THREAD_ID_FIELD = new UnstableValue(\"thread_id\", \"org.matrix.msc4023.thread_id\");\n\n/**\n * https://github.com/matrix-org/matrix-spec-proposals/pull/4115\n *\n * @experimental\n */\nexport const UNSIGNED_MEMBERSHIP_FIELD = new NamespacedValue(\"membership\", \"io.element.msc4115.membership\");\n\n/**\n * Mapped type from event type to content type for all specified non-state room events.\n */\nexport interface TimelineEvents {\n [EventType.RoomMessage]: RoomMessageEventContent;\n [EventType.Sticker]: StickerEventContent;\n [EventType.Reaction]: ReactionEventContent;\n [EventType.CallReplaces]: MCallReplacesEvent;\n [EventType.CallAnswer]: MCallAnswer;\n [EventType.CallSelectAnswer]: MCallSelectAnswer;\n [EventType.CallNegotiate]: Omit<MCallInviteNegotiate, \"offer\">;\n [EventType.CallInvite]: MCallInviteNegotiate;\n [EventType.CallCandidates]: MCallCandidates;\n [EventType.CallHangup]: MCallHangupReject;\n [EventType.CallReject]: MCallHangupReject;\n [EventType.CallSDPStreamMetadataChangedPrefix]: MCallBase &\n EitherAnd<\n { sdp_stream_metadata: SDPStreamMetadata },\n { \"org.matrix.msc3077.sdp_stream_metadata\": SDPStreamMetadata }\n >;\n [EventType.CallSDPStreamMetadataChanged]: MCallBase &\n EitherAnd<\n { sdp_stream_metadata: SDPStreamMetadata },\n { \"org.matrix.msc3077.sdp_stream_metadata\": SDPStreamMetadata }\n >;\n [EventType.CallEncryptionKeysPrefix]: EncryptionKeysEventContent;\n [EventType.CallNotify]: ICallNotifyContent;\n [EventType.RTCNotification]: IRTCNotificationContent;\n [EventType.RTCDecline]: IRTCDeclineContent;\n [M_BEACON.name]: MBeaconEventContent;\n [M_POLL_START.name]: PollStartEventContent;\n [M_POLL_END.name]: PollEndEventContent;\n [EventType.RTCMembership]: RtcMembershipData | { msc4354_sticky_key: string }; // An object containing just the sticky key is empty.\n}\n\n/**\n * Mapped type from event type to content type for all specified room state events.\n */\nexport interface StateEvents {\n [EventType.RoomCanonicalAlias]: RoomCanonicalAliasEventContent;\n [EventType.RoomCreate]: RoomCreateEventContent;\n [EventType.RoomJoinRules]: RoomJoinRulesEventContent;\n [EventType.RoomMember]: RoomMemberEventContent;\n // XXX: Spec says this event has 3 required fields but kicking such an invitation requires sending `{}`\n [EventType.RoomThirdPartyInvite]: RoomThirdPartyInviteEventContent | EmptyObject;\n [EventType.RoomPowerLevels]: RoomPowerLevelsEventContent;\n [EventType.RoomName]: RoomNameEventContent;\n [EventType.RoomTopic]: RoomTopicEventContent;\n [EventType.RoomAvatar]: RoomAvatarEventContent;\n [EventType.RoomPinnedEvents]: RoomPinnedEventsEventContent;\n [EventType.RoomEncryption]: RoomEncryptionEventContent;\n [EventType.RoomHistoryVisibility]: RoomHistoryVisibilityEventContent;\n [EventType.RoomGuestAccess]: RoomGuestAccessEventContent;\n [EventType.RoomServerAcl]: RoomServerAclEventContent;\n [EventType.RoomTombstone]: RoomTombstoneEventContent;\n [EventType.SpaceChild]: SpaceChildEventContent;\n [EventType.SpaceParent]: SpaceParentEventContent;\n\n [EventType.PolicyRuleUser]: PolicyRuleEventContent | EmptyObject;\n [EventType.PolicyRuleRoom]: PolicyRuleEventContent | EmptyObject;\n [EventType.PolicyRuleServer]: PolicyRuleEventContent | EmptyObject;\n\n // MSC4284: Policy servers\n [EventType.RoomPolicy]: RoomPolicyContent | EmptyObject;\n\n // MSC3401\n [EventType.GroupCallPrefix]: IGroupCallRoomState;\n [EventType.GroupCallMemberPrefix]: IGroupCallRoomMemberState | SessionMembershipData | EmptyObject;\n [EventType.RTCMembership]: RtcMembershipData | EmptyObject;\n // MSC3089\n [UNSTABLE_MSC3089_BRANCH.name]: MSC3089EventContent;\n\n // MSC3672\n [M_BEACON_INFO.name]: MBeaconInfoEventContent;\n}\n\n/**\n * Mapped type from event type to content type for all specified room-specific account_data events.\n */\nexport interface RoomAccountDataEvents extends SecretStorageAccountDataEvents {\n [EventType.FullyRead]: { event_id: string };\n [EventType.Tag]: { tags: { [name: string]: { order?: number } } };\n [EventType.SpaceOrder]: { order: string };\n [EventType.MarkedUnread]: { unread: boolean };\n}\n\n/**\n * Mapped type from event type to content type for all specified global account_data events.\n */\nexport interface AccountDataEvents extends SecretStorageAccountDataEvents {\n [EventType.PushRules]: IPushRules;\n [EventType.Direct]: { [userId: string]: string[] };\n [EventType.IgnoredUserList]: { ignored_users: { [userId: string]: EmptyObject } };\n \"m.secret_storage.default_key\": { key: string };\n\n // MSC4287: Sharing key backup preference between clients - used to mark that the user opted out of key storage\n \"m.key_backup\": { enabled: boolean };\n // MSC4287 unstable prefix (note the boolean property has the opposite sense)\n \"m.org.matrix.custom.backup_disabled\": { disabled: boolean };\n\n \"m.identity_server\": { base_url: string | null };\n [key: `${typeof LOCAL_NOTIFICATION_SETTINGS_PREFIX.name}.${string}`]: LocalNotificationSettings;\n [key: `m.secret_storage.key.${string}`]: SecretStorageKeyDescription;\n\n // Invites-ignorer events\n [POLICIES_ACCOUNT_EVENT_TYPE.name]: { [key: string]: any };\n [POLICIES_ACCOUNT_EVENT_TYPE.altName]: { [key: string]: any };\n\n [EventType.InvitePermissionConfig]: { default_action?: string };\n\n // List of recently used reaction emojis\n // https://spec.matrix.org/v1.18/client-server-api/#mrecent_emoji\n \"m.recent_emoji\": {\n recent_emoji: Array<{\n emoji: string;\n total: number;\n }>;\n };\n}\n\n/**\n * Subset of AccountDataEvents, excluding events specified in https://spec.matrix.org/v1.17/client-server-api/#server-behaviour-12\n */\nexport type WritableAccountDataEvents = Exclude<AccountDataEvents, \"m.fully_read\" | \"m.push_rules\">;\n\n/**\n * Mapped type from event type to content type for all specified global events encrypted by secret storage.\n *\n * See https://spec.matrix.org/v1.13/client-server-api/#msecret_storagev1aes-hmac-sha2-1\n */\nexport interface SecretStorageAccountDataEvents {\n \"m.megolm_backup.v1\": SecretInfo;\n \"m.cross_signing.master\": SecretInfo;\n \"m.cross_signing.self_signing\": SecretInfo;\n \"m.cross_signing.user_signing\": SecretInfo;\n \"org.matrix.msc3814\": SecretInfo;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,eAAe,EAAEC,aAAa,QAAQ,uBAAuB;AAkDtE,WAAYC,SAAS,0BAATA,SAAS;EACjB;EADQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAmBjB;EAnBQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EA2BjB;EA3BQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAoDjB;EApDQA,SAAS;EAsDjB;EAtDQA,SAAS;EAATA,SAAS;EAATA,SAAS;EA2DjB;EA3DQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAgEjB;EAhEQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAmE8B;EAnEvCA,SAAS;EAsEjB;EAtEQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EA0EsC;EAEvD;EA5EQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAoFjB;EApFQA,SAAS;EAATA,SAAS;EAwFjB;EAxFQA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EA8FjB;EA9FQA,SAAS;EAAA,OAATA,SAAS;AAAA;AAkGrB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAKpB;EACA;EACA;EAPQA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAWxB,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAYnB,OAAO,IAAMC,mBAAmB,GAAG,MAAM;AAEzC,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB,OAAO,IAAMC,iBAAiB,GAAG,kBAAkB;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,wBAAwB,GAAG,IAAIP,aAAa,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;;AAEzG;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMQ,wBAAwB,GAAG,IAAIR,aAAa,CAAC,WAAW,EAAE,4BAA4B,CAAC;;AAEpG;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMS,6BAA6B,GAAG,IAAIT,aAAa,CAAC,aAAa,EAAE,8BAA8B,CAAC;;AAE7G;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMU,qBAAqB,GAAG,IAAIV,aAAa,CAAC,QAAQ,EAAE,yBAAyB,CAAC;;AAE3F;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMW,uBAAuB,GAAG,IAAIX,aAAa,CAAC,UAAU,EAAE,2BAA2B,CAAC;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMY,uBAAuB,GAAG,IAAIZ,aAAa,CAAC,eAAe,EAAE,2BAA2B,CAAC;;AAEtG;AACA;AACA;AACA;AACA,OAAO,IAAMa,sCAAsC,GAAG,IAAIb,aAAa,CACnE,gBAAgB,EAChB,mCACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMc,iCAAiC,GAAG,IAAId,aAAa,CAC9D,+BAA+B,EAC/B,+BACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMe,4BAA4B,GAAG,IAAIf,aAAa,CAAC,cAAc,EAAE,+BAA+B,CAAC;;AAE9G;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMgB,cAAc,GAAG,IAAIhB,aAAa,CAAC,SAAS,EAAE,4BAA4B,CAAC;;AAExF;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMiB,gBAAgB,GAAG,IAAIjB,aAAa,CAAC,WAAW,EAAE,8BAA8B,CAAC;;AAE9F;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMkB,kCAAkC,GAAG,IAAIlB,aAAa,CAC/D,+BAA+B,EAC/B,gDACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMmB,wBAAwB,GAAG,IAAInB,aAAa,CAAC,WAAW,EAAE,8BAA8B,CAAC;;AAEtG;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMoB,yBAAyB,GAAG,IAAIrB,eAAe,CAAC,YAAY,EAAE,+BAA+B,CAAC;;AAE3G;AACA;AACA;;AAiCA;AACA;AACA;;AAuCA;AACA;AACA;;AAQA;AACA;AACA;;AAgCA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"event.js","names":["NamespacedValue","UnstableValue","EventType","RelationType","MsgType","RoomCreateTypeField","RoomType","ToDeviceMessageId","UNSTABLE_MSC3088_PURPOSE","UNSTABLE_MSC3088_ENABLED","UNSTABLE_MSC3089_TREE_SUBTYPE","UNSTABLE_MSC3089_LEAF","UNSTABLE_MSC3089_BRANCH","UNSTABLE_MSC2716_MARKER","MSC3912_RELATION_BASED_REDACTIONS_PROP","UNSTABLE_ELEMENT_FUNCTIONAL_USERS","EVENT_VISIBILITY_CHANGE_TYPE","PUSHER_ENABLED","PUSHER_DEVICE_ID","LOCAL_NOTIFICATION_SETTINGS_PREFIX","UNSIGNED_THREAD_ID_FIELD","UNSIGNED_MEMBERSHIP_FIELD"],"sources":["../../src/@types/event.ts"],"sourcesContent":["/*\nCopyright 2020-2026 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type EitherAnd } from \"matrix-events-sdk\";\n\nimport { NamespacedValue, UnstableValue } from \"../NamespacedValue.ts\";\nimport {\n type PolicyRuleEventContent,\n type RoomAvatarEventContent,\n type RoomCanonicalAliasEventContent,\n type RoomCreateEventContent,\n type RoomEncryptionEventContent,\n type RoomGuestAccessEventContent,\n type RoomHistoryVisibilityEventContent,\n type RoomJoinRulesEventContent,\n type RoomMemberEventContent,\n type RoomNameEventContent,\n type RoomPinnedEventsEventContent,\n type RoomPolicyContent,\n type RoomPowerLevelsEventContent,\n type RoomServerAclEventContent,\n type RoomThirdPartyInviteEventContent,\n type RoomTombstoneEventContent,\n type RoomTopicEventContent,\n type SpaceChildEventContent,\n type SpaceParentEventContent,\n} from \"./state_events.ts\";\nimport { type IGroupCallRoomMemberState, type IGroupCallRoomState } from \"../webrtc/groupCall.ts\";\nimport { type MSC3089EventContent } from \"../models/MSC3089Branch.ts\";\nimport { type M_BEACON, type M_BEACON_INFO, type MBeaconEventContent, type MBeaconInfoEventContent } from \"./beacon.ts\";\nimport { type EmptyObject } from \"./common.ts\";\nimport { type ReactionEventContent, type RoomMessageEventContent, type StickerEventContent } from \"./events.ts\";\nimport {\n type MCallAnswer,\n type MCallBase,\n type MCallCandidates,\n type MCallHangupReject,\n type MCallInviteNegotiate,\n type MCallReplacesEvent,\n type MCallSelectAnswer,\n type SDPStreamMetadata,\n} from \"../webrtc/callEventTypes.ts\";\nimport {\n type IRTCNotificationContent,\n type IRTCDeclineContent,\n type EncryptionKeysEventContent,\n type ICallNotifyContent,\n} from \"../matrixrtc/types.ts\";\nimport { type M_POLL_END, type M_POLL_START, type PollEndEventContent, type PollStartEventContent } from \"./polls.ts\";\nimport { type RtcMembershipData, type SessionMembershipData } from \"../matrixrtc/membershipData/index.ts\";\nimport { type LocalNotificationSettings } from \"./local_notifications.ts\";\nimport { type IPushRules } from \"./PushRules.ts\";\nimport { type SecretInfo, type SecretStorageKeyDescription } from \"../secret-storage.ts\";\nimport { type POLICIES_ACCOUNT_EVENT_TYPE } from \"../models/invites-ignorer-types.ts\";\nimport type { ROOM_RETENTION_TYPE, RoomRetentionContent } from \"./retention.ts\";\n\nexport enum EventType {\n // Room state events\n RoomCanonicalAlias = \"m.room.canonical_alias\",\n RoomCreate = \"m.room.create\",\n RoomJoinRules = \"m.room.join_rules\",\n RoomMember = \"m.room.member\",\n RoomThirdPartyInvite = \"m.room.third_party_invite\",\n RoomPowerLevels = \"m.room.power_levels\",\n RoomName = \"m.room.name\",\n RoomTopic = \"m.room.topic\",\n RoomAvatar = \"m.room.avatar\",\n RoomPinnedEvents = \"m.room.pinned_events\",\n RoomEncryption = \"m.room.encryption\",\n RoomHistoryVisibility = \"m.room.history_visibility\",\n RoomGuestAccess = \"m.room.guest_access\",\n RoomServerAcl = \"m.room.server_acl\",\n RoomTombstone = \"m.room.tombstone\",\n RoomPredecessor = \"org.matrix.msc3946.room_predecessor\",\n\n // Moderation policy lists\n PolicyRuleUser = \"m.policy.rule.user\",\n PolicyRuleRoom = \"m.policy.rule.room\",\n PolicyRuleServer = \"m.policy.rule.server\",\n\n SpaceChild = \"m.space.child\",\n SpaceParent = \"m.space.parent\",\n\n // Room timeline events\n RoomRedaction = \"m.room.redaction\",\n RoomMessage = \"m.room.message\",\n RoomMessageEncrypted = \"m.room.encrypted\",\n Sticker = \"m.sticker\",\n CallInvite = \"m.call.invite\",\n CallCandidates = \"m.call.candidates\",\n CallAnswer = \"m.call.answer\",\n CallHangup = \"m.call.hangup\",\n CallReject = \"m.call.reject\",\n CallSelectAnswer = \"m.call.select_answer\",\n CallNegotiate = \"m.call.negotiate\",\n CallSDPStreamMetadataChanged = \"m.call.sdp_stream_metadata_changed\",\n CallSDPStreamMetadataChangedPrefix = \"org.matrix.call.sdp_stream_metadata_changed\",\n CallReplaces = \"m.call.replaces\",\n CallAssertedIdentity = \"m.call.asserted_identity\",\n CallAssertedIdentityPrefix = \"org.matrix.call.asserted_identity\",\n CallEncryptionKeysPrefix = \"io.element.call.encryption_keys\",\n KeyVerificationRequest = \"m.key.verification.request\",\n KeyVerificationStart = \"m.key.verification.start\",\n KeyVerificationCancel = \"m.key.verification.cancel\",\n KeyVerificationMac = \"m.key.verification.mac\",\n KeyVerificationDone = \"m.key.verification.done\",\n KeyVerificationKey = \"m.key.verification.key\",\n KeyVerificationAccept = \"m.key.verification.accept\",\n // Not used directly - see READY_TYPE in VerificationRequest.\n KeyVerificationReady = \"m.key.verification.ready\",\n // use of this is discouraged https://matrix.org/docs/spec/client_server/r0.6.1#m-room-message-feedback\n RoomMessageFeedback = \"m.room.message.feedback\",\n Reaction = \"m.reaction\",\n PollStart = \"org.matrix.msc3381.poll.start\",\n\n // Room ephemeral events\n Typing = \"m.typing\",\n Receipt = \"m.receipt\",\n Presence = \"m.presence\",\n\n // Room account_data events\n FullyRead = \"m.fully_read\",\n Tag = \"m.tag\",\n SpaceOrder = \"org.matrix.msc3230.space_order\", // MSC3230\n MarkedUnread = \"m.marked_unread\",\n\n // User account_data events\n PushRules = \"m.push_rules\",\n Direct = \"m.direct\",\n IgnoredUserList = \"m.ignored_user_list\",\n InvitePermissionConfig = \"m.invite_permission_config\", // MSC4380\n\n // to_device events\n RoomKey = \"m.room_key\",\n RoomKeyRequest = \"m.room_key_request\",\n ForwardedRoomKey = \"m.forwarded_room_key\",\n Dummy = \"m.dummy\",\n SecretRequest = \"m.secret.request\",\n SecretSend = \"m.secret.send\",\n\n // Group call events\n GroupCallPrefix = \"org.matrix.msc3401.call\",\n GroupCallMemberPrefix = \"org.matrix.msc3401.call.member\",\n\n // MatrixRTC events\n RTCMembership = \"org.matrix.msc4143.rtc.member\",\n CallNotify = \"org.matrix.msc4075.call.notify\",\n RTCNotification = \"org.matrix.msc4075.rtc.notification\",\n RTCDecline = \"org.matrix.msc4310.rtc.decline\",\n\n // Policy servers\n RoomPolicy = \"org.matrix.msc4284.policy\",\n\n // Retention\n RetentionPolicy = \"m.room.retention\",\n RetentionPolicyUnstable = \"org.matrix.msc1763.retention\",\n}\n\nexport enum RelationType {\n Annotation = \"m.annotation\",\n Replace = \"m.replace\",\n Reference = \"m.reference\",\n\n // Don't use this yet: it's only the stable version. The code still assumes we support the unstable prefix and,\n // moreover, our tests currently use the unstable prefix. Use THREAD_RELATION_TYPE.name.\n // Once we support *only* the stable prefix, THREAD_RELATION_TYPE can die and we can switch to this.\n Thread = \"m.thread\",\n}\n\nexport enum MsgType {\n Text = \"m.text\",\n Emote = \"m.emote\",\n Notice = \"m.notice\",\n Image = \"m.image\",\n File = \"m.file\",\n Audio = \"m.audio\",\n Location = \"m.location\",\n Video = \"m.video\",\n KeyVerificationRequest = \"m.key.verification.request\",\n}\n\nexport const RoomCreateTypeField = \"type\";\n\nexport enum RoomType {\n Space = \"m.space\",\n UnstableCall = \"org.matrix.msc3417.call\",\n ElementVideo = \"io.element.video\",\n}\n\nexport const ToDeviceMessageId = \"org.matrix.msgid\";\n\n/**\n * Identifier for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_PURPOSE = new UnstableValue(\"m.room.purpose\", \"org.matrix.msc3088.purpose\");\n\n/**\n * Enabled flag for an [MSC3088](https://github.com/matrix-org/matrix-doc/pull/3088)\n * room purpose. Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC3088_ENABLED = new UnstableValue(\"m.enabled\", \"org.matrix.msc3088.enabled\");\n\n/**\n * Subtype for an [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_TREE_SUBTYPE = new UnstableValue(\"m.data_tree\", \"org.matrix.msc3089.data_tree\");\n\n/**\n * Leaf type for an event in a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room.\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n */\nexport const UNSTABLE_MSC3089_LEAF = new UnstableValue(\"m.leaf\", \"org.matrix.msc3089.leaf\");\n\n/**\n * Branch (Leaf Reference) type for the index approach in a\n * [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089) space-room. Note that this reference is\n * UNSTABLE and subject to breaking changes, including its eventual removal.\n */\nexport const UNSTABLE_MSC3089_BRANCH = new UnstableValue(\"m.branch\", \"org.matrix.msc3089.branch\");\n\n/**\n * Marker event type to point back at imported historical content in a room. See\n * [MSC2716](https://github.com/matrix-org/matrix-spec-proposals/pull/2716).\n * Note that this reference is UNSTABLE and subject to breaking changes,\n * including its eventual removal.\n */\nexport const UNSTABLE_MSC2716_MARKER = new UnstableValue(\"m.room.marker\", \"org.matrix.msc2716.marker\");\n\n/**\n * Name of the request property for relation based redactions.\n * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912}\n */\nexport const MSC3912_RELATION_BASED_REDACTIONS_PROP = new UnstableValue(\n \"with_rel_types\",\n \"org.matrix.msc3912.with_relations\",\n);\n\n/**\n * Functional members type for declaring a purpose of room members (e.g. helpful bots).\n * Note that this reference is UNSTABLE and subject to breaking changes, including its\n * eventual removal.\n *\n * Schema (TypeScript):\n * ```\n * {\n * service_members?: string[]\n * }\n * ```\n *\n * @example\n * ```\n * {\n * \"service_members\": [\n * \"@helperbot:localhost\",\n * \"@reminderbot:alice.tdl\"\n * ]\n * }\n * ```\n */\nexport const UNSTABLE_ELEMENT_FUNCTIONAL_USERS = new UnstableValue(\n \"io.element.functional_members\",\n \"io.element.functional_members\",\n);\n\n/**\n * A type of message that affects visibility of a message,\n * as per https://github.com/matrix-org/matrix-doc/pull/3531\n *\n * @experimental\n */\nexport const EVENT_VISIBILITY_CHANGE_TYPE = new UnstableValue(\"m.visibility\", \"org.matrix.msc3531.visibility\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_ENABLED = new UnstableValue(\"enabled\", \"org.matrix.msc3881.enabled\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3881\n *\n * @experimental\n */\nexport const PUSHER_DEVICE_ID = new UnstableValue(\"device_id\", \"org.matrix.msc3881.device_id\");\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/3890\n *\n * @experimental\n */\nexport const LOCAL_NOTIFICATION_SETTINGS_PREFIX = new UnstableValue(\n \"m.local_notification_settings\",\n \"org.matrix.msc3890.local_notification_settings\",\n);\n\n/**\n * https://github.com/matrix-org/matrix-doc/pull/4023\n *\n * @experimental\n */\nexport const UNSIGNED_THREAD_ID_FIELD = new UnstableValue(\"thread_id\", \"org.matrix.msc4023.thread_id\");\n\n/**\n * https://github.com/matrix-org/matrix-spec-proposals/pull/4115\n *\n * @experimental\n */\nexport const UNSIGNED_MEMBERSHIP_FIELD = new NamespacedValue(\"membership\", \"io.element.msc4115.membership\");\n\n/**\n * Mapped type from event type to content type for all specified non-state room events.\n */\nexport interface TimelineEvents {\n [EventType.RoomMessage]: RoomMessageEventContent;\n [EventType.Sticker]: StickerEventContent;\n [EventType.Reaction]: ReactionEventContent;\n [EventType.CallReplaces]: MCallReplacesEvent;\n [EventType.CallAnswer]: MCallAnswer;\n [EventType.CallSelectAnswer]: MCallSelectAnswer;\n [EventType.CallNegotiate]: Omit<MCallInviteNegotiate, \"offer\">;\n [EventType.CallInvite]: MCallInviteNegotiate;\n [EventType.CallCandidates]: MCallCandidates;\n [EventType.CallHangup]: MCallHangupReject;\n [EventType.CallReject]: MCallHangupReject;\n [EventType.CallSDPStreamMetadataChangedPrefix]: MCallBase &\n EitherAnd<\n { sdp_stream_metadata: SDPStreamMetadata },\n { \"org.matrix.msc3077.sdp_stream_metadata\": SDPStreamMetadata }\n >;\n [EventType.CallSDPStreamMetadataChanged]: MCallBase &\n EitherAnd<\n { sdp_stream_metadata: SDPStreamMetadata },\n { \"org.matrix.msc3077.sdp_stream_metadata\": SDPStreamMetadata }\n >;\n [EventType.CallEncryptionKeysPrefix]: EncryptionKeysEventContent;\n [EventType.CallNotify]: ICallNotifyContent;\n [EventType.RTCNotification]: IRTCNotificationContent;\n [EventType.RTCDecline]: IRTCDeclineContent;\n [M_BEACON.name]: MBeaconEventContent;\n [M_POLL_START.name]: PollStartEventContent;\n [M_POLL_END.name]: PollEndEventContent;\n [EventType.RTCMembership]: RtcMembershipData | { msc4354_sticky_key: string }; // An object containing just the sticky key is empty.\n}\n\n/**\n * Mapped type from event type to content type for all specified room state events.\n */\nexport interface StateEvents {\n [EventType.RoomCanonicalAlias]: RoomCanonicalAliasEventContent;\n [EventType.RoomCreate]: RoomCreateEventContent;\n [EventType.RoomJoinRules]: RoomJoinRulesEventContent;\n [EventType.RoomMember]: RoomMemberEventContent;\n // XXX: Spec says this event has 3 required fields but kicking such an invitation requires sending `{}`\n [EventType.RoomThirdPartyInvite]: RoomThirdPartyInviteEventContent | EmptyObject;\n [EventType.RoomPowerLevels]: RoomPowerLevelsEventContent;\n [EventType.RoomName]: RoomNameEventContent;\n [EventType.RoomTopic]: RoomTopicEventContent;\n [EventType.RoomAvatar]: RoomAvatarEventContent;\n [EventType.RoomPinnedEvents]: RoomPinnedEventsEventContent;\n [EventType.RoomEncryption]: RoomEncryptionEventContent;\n [EventType.RoomHistoryVisibility]: RoomHistoryVisibilityEventContent;\n [EventType.RoomGuestAccess]: RoomGuestAccessEventContent;\n [EventType.RoomServerAcl]: RoomServerAclEventContent;\n [EventType.RoomTombstone]: RoomTombstoneEventContent;\n [EventType.SpaceChild]: SpaceChildEventContent;\n [EventType.SpaceParent]: SpaceParentEventContent;\n\n [EventType.PolicyRuleUser]: PolicyRuleEventContent | EmptyObject;\n [EventType.PolicyRuleRoom]: PolicyRuleEventContent | EmptyObject;\n [EventType.PolicyRuleServer]: PolicyRuleEventContent | EmptyObject;\n\n // MSC4284: Policy servers\n [EventType.RoomPolicy]: RoomPolicyContent | EmptyObject;\n\n // MSC3401\n [EventType.GroupCallPrefix]: IGroupCallRoomState;\n [EventType.GroupCallMemberPrefix]: IGroupCallRoomMemberState | SessionMembershipData | EmptyObject;\n [EventType.RTCMembership]: RtcMembershipData | EmptyObject;\n // MSC3089\n [UNSTABLE_MSC3089_BRANCH.name]: MSC3089EventContent;\n\n // MSC3672\n [M_BEACON_INFO.name]: MBeaconInfoEventContent;\n\n // MSC1763\n [ROOM_RETENTION_TYPE.name]: RoomRetentionContent | EmptyObject;\n [ROOM_RETENTION_TYPE.altName]: RoomRetentionContent | EmptyObject;\n}\n\n/**\n * Mapped type from event type to content type for all specified room-specific account_data events.\n */\nexport interface RoomAccountDataEvents extends SecretStorageAccountDataEvents {\n [EventType.FullyRead]: { event_id: string };\n [EventType.Tag]: { tags: { [name: string]: { order?: number } } };\n [EventType.SpaceOrder]: { order: string };\n [EventType.MarkedUnread]: { unread: boolean };\n}\n\n/**\n * Mapped type from event type to content type for all specified global account_data events.\n */\nexport interface AccountDataEvents extends SecretStorageAccountDataEvents {\n [EventType.PushRules]: IPushRules;\n [EventType.Direct]: { [userId: string]: string[] };\n [EventType.IgnoredUserList]: { ignored_users: { [userId: string]: EmptyObject } };\n \"m.secret_storage.default_key\": { key: string };\n\n // MSC4287: Sharing key backup preference between clients - used to mark that the user opted out of key storage\n \"m.key_backup\": { enabled: boolean };\n // MSC4287 unstable prefix (note the boolean property has the opposite sense)\n \"m.org.matrix.custom.backup_disabled\": { disabled: boolean };\n\n \"m.identity_server\": { base_url: string | null };\n [key: `${typeof LOCAL_NOTIFICATION_SETTINGS_PREFIX.name}.${string}`]: LocalNotificationSettings;\n [key: `m.secret_storage.key.${string}`]: SecretStorageKeyDescription;\n\n // Invites-ignorer events\n [POLICIES_ACCOUNT_EVENT_TYPE.name]: { [key: string]: any };\n [POLICIES_ACCOUNT_EVENT_TYPE.altName]: { [key: string]: any };\n\n [EventType.InvitePermissionConfig]: { default_action?: string };\n\n // List of recently used reaction emojis\n // https://spec.matrix.org/v1.18/client-server-api/#mrecent_emoji\n \"m.recent_emoji\": {\n recent_emoji: Array<{\n emoji: string;\n total: number;\n }>;\n };\n}\n\n/**\n * Subset of AccountDataEvents, excluding events specified in https://spec.matrix.org/v1.17/client-server-api/#server-behaviour-12\n */\nexport type WritableAccountDataEvents = Exclude<AccountDataEvents, \"m.fully_read\" | \"m.push_rules\">;\n\n/**\n * Mapped type from event type to content type for all specified global events encrypted by secret storage.\n *\n * See https://spec.matrix.org/v1.13/client-server-api/#msecret_storagev1aes-hmac-sha2-1\n */\nexport interface SecretStorageAccountDataEvents {\n \"m.megolm_backup.v1\": SecretInfo;\n \"m.cross_signing.master\": SecretInfo;\n \"m.cross_signing.self_signing\": SecretInfo;\n \"m.cross_signing.user_signing\": SecretInfo;\n \"org.matrix.msc3814\": SecretInfo;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UnstableValue } from "../NamespacedValue.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Event type for a room policy event.
|
|
4
|
+
* NOTE: While MSC1763 has not been merged, `m.room.retention` is unfortunately
|
|
5
|
+
* already in use in production.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ROOM_RETENTION_TYPE: UnstableValue<"m.room.retention", "org.matrix.msc1763.retention">;
|
|
8
|
+
/**
|
|
9
|
+
* The content of a `m.room.retention` state event.
|
|
10
|
+
*/
|
|
11
|
+
export interface RoomRetentionContent {
|
|
12
|
+
max_lifetime?: number;
|
|
13
|
+
min_lifetime?: number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=retention.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention.d.ts","sourceRoot":"","sources":["../../src/@types/retention.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,mEAAwE,CAAC;AAEzG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UnstableValue } from "../NamespacedValue.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Event type for a room policy event.
|
|
5
|
+
* NOTE: While MSC1763 has not been merged, `m.room.retention` is unfortunately
|
|
6
|
+
* already in use in production.
|
|
7
|
+
*/
|
|
8
|
+
export var ROOM_RETENTION_TYPE = new UnstableValue("m.room.retention", "org.matrix.msc1763.retention");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The content of a `m.room.retention` state event.
|
|
12
|
+
*/
|
|
13
|
+
//# sourceMappingURL=retention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention.js","names":["UnstableValue","ROOM_RETENTION_TYPE"],"sources":["../../src/@types/retention.ts"],"sourcesContent":["import { UnstableValue } from \"../NamespacedValue.ts\";\n\n/**\n * Event type for a room policy event.\n * NOTE: While MSC1763 has not been merged, `m.room.retention` is unfortunately\n * already in use in production.\n */\nexport const ROOM_RETENTION_TYPE = new UnstableValue(\"m.room.retention\", \"org.matrix.msc1763.retention\");\n\n/**\n * The content of a `m.room.retention` state event.\n */\nexport interface RoomRetentionContent {\n max_lifetime?: number;\n min_lifetime?: number;\n}\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,mBAAmB,GAAG,IAAID,aAAa,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;;AAExG;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type IHttpOpts, type MatrixHttpApi } from "./http-api/index.ts";
|
|
2
|
+
import { type Logger } from "./logger.ts";
|
|
3
|
+
import { TypedEventEmitter } from "./models/typed-event-emitter.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Manages storing and periodically refreshing the server capabilities.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class CapabilityPoller<ResponseType> extends TypedEventEmitter<"update", {
|
|
8
|
+
update: (data: ResponseType) => void;
|
|
9
|
+
}> {
|
|
10
|
+
protected readonly logger: Logger;
|
|
11
|
+
protected readonly http: MatrixHttpApi<IHttpOpts & {
|
|
12
|
+
onlyData: true;
|
|
13
|
+
}>;
|
|
14
|
+
private readonly name;
|
|
15
|
+
protected cached?: ResponseType;
|
|
16
|
+
private retryTimeout?;
|
|
17
|
+
private refreshTimeout?;
|
|
18
|
+
constructor(logger: Logger, http: MatrixHttpApi<IHttpOpts & {
|
|
19
|
+
onlyData: true;
|
|
20
|
+
}>, name: string);
|
|
21
|
+
/**
|
|
22
|
+
* Starts periodically fetching the server capabilities.
|
|
23
|
+
*/
|
|
24
|
+
start(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Stops the service
|
|
27
|
+
*/
|
|
28
|
+
stop(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the cached capabilities, or undefined if none are cached.
|
|
31
|
+
* @returns the current capabilities, if any.
|
|
32
|
+
*/
|
|
33
|
+
getCached(): ResponseType | undefined;
|
|
34
|
+
abstract fetch(): Promise<ResponseType>;
|
|
35
|
+
private poll;
|
|
36
|
+
private clearTimeouts;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=capabilityPoller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityPoller.d.ts","sourceRoot":"","sources":["../src/capabilityPoller.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAUpE;;GAEG;AACH,8BAAsB,gBAAgB,CAAC,YAAY,CAAE,SAAQ,iBAAiB,CAC1E,QAAQ,EACR;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;CAAE,CAC3C;IAMO,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IACtE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPzB,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAChC,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,cAAc,CAAC,CAAiC;gBAGjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,EACrD,IAAI,EAAE,MAAM;IAKjC;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB;;;OAGG;IACI,SAAS,IAAI,YAAY,GAAG,SAAS;aAI5B,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAE9C,OAAO,CAAC,IAAI,CAiBV;IAEF,OAAO,CAAC,aAAa;CAUxB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
/*
|
|
4
|
+
Copyright 2026 Element Creations Ltd.
|
|
5
|
+
Copyright 2024 The Matrix.org Foundation C.I.C.
|
|
6
|
+
|
|
7
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
you may not use this file except in compliance with the License.
|
|
9
|
+
You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
See the License for the specific language governing permissions and
|
|
17
|
+
limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { TypedEventEmitter } from "./models/typed-event-emitter.js";
|
|
21
|
+
import { deepCompare } from "./utils.js";
|
|
22
|
+
|
|
23
|
+
// How often we update the server capabilities.
|
|
24
|
+
// 6 hours - an arbitrary value, but they should change very infrequently.
|
|
25
|
+
var CAPABILITIES_CACHE_MS = 6 * 60 * 60 * 1000;
|
|
26
|
+
|
|
27
|
+
// How long we want before retrying if we couldn't fetch
|
|
28
|
+
var CAPABILITIES_RETRY_MS = 30 * 1000;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Manages storing and periodically refreshing the server capabilities.
|
|
32
|
+
*/
|
|
33
|
+
export class CapabilityPoller extends TypedEventEmitter {
|
|
34
|
+
constructor(logger, http, name) {
|
|
35
|
+
var _this;
|
|
36
|
+
super();
|
|
37
|
+
_this = this;
|
|
38
|
+
this.logger = logger;
|
|
39
|
+
this.http = http;
|
|
40
|
+
this.name = name;
|
|
41
|
+
_defineProperty(this, "cached", void 0);
|
|
42
|
+
_defineProperty(this, "retryTimeout", void 0);
|
|
43
|
+
_defineProperty(this, "refreshTimeout", void 0);
|
|
44
|
+
_defineProperty(this, "poll", /*#__PURE__*/_asyncToGenerator(function* () {
|
|
45
|
+
_this.logger.debug("Checking capabilites");
|
|
46
|
+
try {
|
|
47
|
+
var current = _this.cached;
|
|
48
|
+
yield _this.fetch();
|
|
49
|
+
_this.clearTimeouts();
|
|
50
|
+
_this.refreshTimeout = globalThis.setTimeout(_this.poll, CAPABILITIES_CACHE_MS);
|
|
51
|
+
_this.logger.debug("Fetched new server ".concat(_this.name));
|
|
52
|
+
if (_this.cached && !deepCompare(current, _this.cached)) {
|
|
53
|
+
_this.emit("update", _this.cached);
|
|
54
|
+
}
|
|
55
|
+
} catch (e) {
|
|
56
|
+
_this.clearTimeouts();
|
|
57
|
+
var howLong = Math.floor(CAPABILITIES_RETRY_MS + Math.random() * 5000);
|
|
58
|
+
_this.retryTimeout = globalThis.setTimeout(_this.poll, howLong);
|
|
59
|
+
_this.logger.warn("Failed to refresh ".concat(_this.name, ": retrying in ").concat(howLong, "ms"), e);
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Starts periodically fetching the server capabilities.
|
|
66
|
+
*/
|
|
67
|
+
start() {
|
|
68
|
+
this.poll().then();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Stops the service
|
|
73
|
+
*/
|
|
74
|
+
stop() {
|
|
75
|
+
this.clearTimeouts();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Returns the cached capabilities, or undefined if none are cached.
|
|
80
|
+
* @returns the current capabilities, if any.
|
|
81
|
+
*/
|
|
82
|
+
getCached() {
|
|
83
|
+
return this.cached;
|
|
84
|
+
}
|
|
85
|
+
clearTimeouts() {
|
|
86
|
+
if (this.refreshTimeout) {
|
|
87
|
+
clearInterval(this.refreshTimeout);
|
|
88
|
+
this.refreshTimeout = undefined;
|
|
89
|
+
}
|
|
90
|
+
if (this.retryTimeout) {
|
|
91
|
+
clearTimeout(this.retryTimeout);
|
|
92
|
+
this.retryTimeout = undefined;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=capabilityPoller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilityPoller.js","names":["TypedEventEmitter","deepCompare","CAPABILITIES_CACHE_MS","CAPABILITIES_RETRY_MS","CapabilityPoller","constructor","logger","http","name","_this","this","_defineProperty","_asyncToGenerator","debug","current","cached","fetch","clearTimeouts","refreshTimeout","globalThis","setTimeout","poll","concat","emit","e","howLong","Math","floor","random","retryTimeout","warn","start","then","stop","getCached","clearInterval","undefined","clearTimeout"],"sources":["../src/capabilityPoller.ts"],"sourcesContent":["/*\nCopyright 2026 Element Creations Ltd.\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type IHttpOpts, type MatrixHttpApi } from \"./http-api/index.ts\";\nimport { type Logger } from \"./logger.ts\";\nimport { TypedEventEmitter } from \"./models/typed-event-emitter.ts\";\nimport { deepCompare } from \"./utils.ts\";\n\n// How often we update the server capabilities.\n// 6 hours - an arbitrary value, but they should change very infrequently.\nconst CAPABILITIES_CACHE_MS = 6 * 60 * 60 * 1000;\n\n// How long we want before retrying if we couldn't fetch\nconst CAPABILITIES_RETRY_MS = 30 * 1000;\n\n/**\n * Manages storing and periodically refreshing the server capabilities.\n */\nexport abstract class CapabilityPoller<ResponseType> extends TypedEventEmitter<\n \"update\",\n { update: (data: ResponseType) => void }\n> {\n protected cached?: ResponseType;\n private retryTimeout?: ReturnType<typeof setTimeout>;\n private refreshTimeout?: ReturnType<typeof setInterval>;\n\n public constructor(\n protected readonly logger: Logger,\n protected readonly http: MatrixHttpApi<IHttpOpts & { onlyData: true }>,\n private readonly name: string,\n ) {\n super();\n }\n\n /**\n * Starts periodically fetching the server capabilities.\n */\n public start(): void {\n this.poll().then();\n }\n\n /**\n * Stops the service\n */\n public stop(): void {\n this.clearTimeouts();\n }\n\n /**\n * Returns the cached capabilities, or undefined if none are cached.\n * @returns the current capabilities, if any.\n */\n public getCached(): ResponseType | undefined {\n return this.cached;\n }\n\n public abstract fetch(): Promise<ResponseType>;\n\n private poll = async (): Promise<void> => {\n this.logger.debug(\"Checking capabilites\");\n try {\n const current = this.cached;\n await this.fetch();\n this.clearTimeouts();\n this.refreshTimeout = globalThis.setTimeout(this.poll, CAPABILITIES_CACHE_MS);\n this.logger.debug(`Fetched new server ${this.name}`);\n if (this.cached && !deepCompare(current, this.cached)) {\n this.emit(\"update\", this.cached);\n }\n } catch (e) {\n this.clearTimeouts();\n const howLong = Math.floor(CAPABILITIES_RETRY_MS + Math.random() * 5000);\n this.retryTimeout = globalThis.setTimeout(this.poll, howLong);\n this.logger.warn(`Failed to refresh ${this.name}: retrying in ${howLong}ms`, e);\n }\n };\n\n private clearTimeouts(): void {\n if (this.refreshTimeout) {\n clearInterval(this.refreshTimeout);\n this.refreshTimeout = undefined;\n }\n if (this.retryTimeout) {\n clearTimeout(this.retryTimeout);\n this.retryTimeout = undefined;\n }\n }\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,iBAAiB,QAAQ,iCAAiC;AACnE,SAASC,WAAW,QAAQ,YAAY;;AAExC;AACA;AACA,IAAMC,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;;AAEhD;AACA,IAAMC,qBAAqB,GAAG,EAAE,GAAG,IAAI;;AAEvC;AACA;AACA;AACA,OAAO,MAAeC,gBAAgB,SAAuBJ,iBAAiB,CAG5E;EAKSK,WAAWA,CACKC,MAAc,EACdC,IAAmD,EACrDC,IAAY,EAC/B;IAAA,IAAAC,KAAA;IACE,KAAK,CAAC,CAAC;IAAAA,KAAA,GAAAC,IAAA;IAAA,KAJYJ,MAAc,GAAdA,MAAc;IAAA,KACdC,IAAmD,GAAnDA,IAAmD;IAAA,KACrDC,IAAY,GAAZA,IAAY;IAAAG,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,4BAAAC,iBAAA,CA6BlB,aAA2B;MACtCH,KAAI,CAACH,MAAM,CAACO,KAAK,CAAC,sBAAsB,CAAC;MACzC,IAAI;QACA,IAAMC,OAAO,GAAGL,KAAI,CAACM,MAAM;QAC3B,MAAMN,KAAI,CAACO,KAAK,CAAC,CAAC;QAClBP,KAAI,CAACQ,aAAa,CAAC,CAAC;QACpBR,KAAI,CAACS,cAAc,GAAGC,UAAU,CAACC,UAAU,CAACX,KAAI,CAACY,IAAI,EAAEnB,qBAAqB,CAAC;QAC7EO,KAAI,CAACH,MAAM,CAACO,KAAK,uBAAAS,MAAA,CAAuBb,KAAI,CAACD,IAAI,CAAE,CAAC;QACpD,IAAIC,KAAI,CAACM,MAAM,IAAI,CAACd,WAAW,CAACa,OAAO,EAAEL,KAAI,CAACM,MAAM,CAAC,EAAE;UACnDN,KAAI,CAACc,IAAI,CAAC,QAAQ,EAAEd,KAAI,CAACM,MAAM,CAAC;QACpC;MACJ,CAAC,CAAC,OAAOS,CAAC,EAAE;QACRf,KAAI,CAACQ,aAAa,CAAC,CAAC;QACpB,IAAMQ,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACxB,qBAAqB,GAAGuB,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;QACxEnB,KAAI,CAACoB,YAAY,GAAGV,UAAU,CAACC,UAAU,CAACX,KAAI,CAACY,IAAI,EAAEI,OAAO,CAAC;QAC7DhB,KAAI,CAACH,MAAM,CAACwB,IAAI,sBAAAR,MAAA,CAAsBb,KAAI,CAACD,IAAI,oBAAAc,MAAA,CAAiBG,OAAO,SAAMD,CAAC,CAAC;MACnF;IACJ,CAAC;EA3CD;;EAEA;AACJ;AACA;EACWO,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACV,IAAI,CAAC,CAAC,CAACW,IAAI,CAAC,CAAC;EACtB;;EAEA;AACJ;AACA;EACWC,IAAIA,CAAA,EAAS;IAChB,IAAI,CAAChB,aAAa,CAAC,CAAC;EACxB;;EAEA;AACJ;AACA;AACA;EACWiB,SAASA,CAAA,EAA6B;IACzC,OAAO,IAAI,CAACnB,MAAM;EACtB;EAuBQE,aAAaA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACC,cAAc,EAAE;MACrBiB,aAAa,CAAC,IAAI,CAACjB,cAAc,CAAC;MAClC,IAAI,CAACA,cAAc,GAAGkB,SAAS;IACnC;IACA,IAAI,IAAI,CAACP,YAAY,EAAE;MACnBQ,YAAY,CAAC,IAAI,CAACR,YAAY,CAAC;MAC/B,IAAI,CAACA,YAAY,GAAGO,SAAS;IACjC;EACJ;AACJ","ignoreList":[]}
|
package/lib/client.d.ts
CHANGED
|
@@ -64,6 +64,7 @@ import { type Capabilities } from "./serverCapabilities.ts";
|
|
|
64
64
|
import { type OidcClientConfig } from "./oidc/index.ts";
|
|
65
65
|
import { type EmptyObject } from "./@types/common.ts";
|
|
66
66
|
import { type Transport } from "./matrixrtc/index.ts";
|
|
67
|
+
import { RetentionPolicyService } from "./retentionPolicy.ts";
|
|
67
68
|
export type Store = IStore;
|
|
68
69
|
export type ResetTimelineCallback = (roomId: string) => boolean;
|
|
69
70
|
export declare const UNSTABLE_MSC3852_LAST_SEEN_UA: UnstableValue<"last_seen_user_agent", "org.matrix.msc3852.last_seen_user_agent">;
|
|
@@ -235,6 +236,10 @@ export interface ICreateClientOpts {
|
|
|
235
236
|
* Defaults to the built-in global logger; see {@link DebugLogger} for an alternative.
|
|
236
237
|
*/
|
|
237
238
|
logger?: Logger;
|
|
239
|
+
/**
|
|
240
|
+
* Locally remove events past the server global or per room retention setting.
|
|
241
|
+
*/
|
|
242
|
+
unstableMSC1763Retention?: boolean;
|
|
238
243
|
}
|
|
239
244
|
export interface IMatrixClientCreateOpts extends ICreateClientOpts {
|
|
240
245
|
/**
|
|
@@ -934,6 +939,8 @@ export declare class MatrixClient extends TypedEventEmitter<EmittedEvents, Clien
|
|
|
934
939
|
readonly ignoredInvites: IgnoredInvites;
|
|
935
940
|
readonly matrixRTC: MatrixRTCSessionManager;
|
|
936
941
|
private serverCapabilitiesService;
|
|
942
|
+
readonly retentionPolicyService: RetentionPolicyService;
|
|
943
|
+
readonly _unstable_shouldApplyMessageRetention: boolean;
|
|
937
944
|
constructor(opts: IMatrixClientCreateOpts);
|
|
938
945
|
set store(newStore: Store);
|
|
939
946
|
get store(): Store;
|