matrix-js-sdk 41.8.0 → 41.9.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.
Files changed (458) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
  4. package/lib/@types/IIdentityServerProvider.js +3 -1
  5. package/lib/@types/PushRules.js +7 -7
  6. package/lib/@types/PushRules.js.map +1 -1
  7. package/lib/@types/auth.js +4 -4
  8. package/lib/@types/auth.js.map +1 -1
  9. package/lib/@types/beacon.js +2 -2
  10. package/lib/@types/beacon.js.map +1 -1
  11. package/lib/@types/common.js +3 -1
  12. package/lib/@types/crypto.js +3 -1
  13. package/lib/@types/event.js +20 -20
  14. package/lib/@types/event.js.map +1 -1
  15. package/lib/@types/events.js +3 -1
  16. package/lib/@types/extensible_events.js +6 -6
  17. package/lib/@types/extensible_events.js.map +1 -1
  18. package/lib/@types/global.d.js.map +1 -1
  19. package/lib/@types/json.js +3 -1
  20. package/lib/@types/local_notifications.js +3 -1
  21. package/lib/@types/location.js +4 -4
  22. package/lib/@types/location.js.map +1 -1
  23. package/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
  24. package/lib/@types/media.js +3 -1
  25. package/lib/@types/membership.js +1 -1
  26. package/lib/@types/membership.js.map +1 -1
  27. package/lib/@types/partials.js +6 -6
  28. package/lib/@types/partials.js.map +1 -1
  29. package/lib/@types/polls.js +5 -5
  30. package/lib/@types/polls.js.map +1 -1
  31. package/lib/@types/read_receipts.js +2 -2
  32. package/lib/@types/read_receipts.js.map +1 -1
  33. package/lib/@types/registration.js +3 -1
  34. package/lib/@types/requests.js +1 -1
  35. package/lib/@types/requests.js.map +1 -1
  36. package/lib/@types/retention.js +1 -1
  37. package/lib/@types/retention.js.map +1 -1
  38. package/lib/@types/search.js +1 -1
  39. package/lib/@types/search.js.map +1 -1
  40. package/lib/@types/signed.js +3 -1
  41. package/lib/@types/spaces.js +3 -1
  42. package/lib/@types/state_events.js +3 -1
  43. package/lib/@types/synapse.js +3 -1
  44. package/lib/@types/sync.js +1 -1
  45. package/lib/@types/sync.js.map +1 -1
  46. package/lib/@types/threepids.js +1 -1
  47. package/lib/@types/threepids.js.map +1 -1
  48. package/lib/@types/topic.js +1 -1
  49. package/lib/@types/topic.js.map +1 -1
  50. package/lib/@types/uia.js +3 -1
  51. package/lib/NamespacedValue.js +8 -8
  52. package/lib/NamespacedValue.js.map +1 -1
  53. package/lib/ReEmitter.js +9 -16
  54. package/lib/ReEmitter.js.map +1 -1
  55. package/lib/ToDeviceMessageQueue.js +49 -57
  56. package/lib/ToDeviceMessageQueue.js.map +1 -1
  57. package/lib/autodiscovery.js +232 -247
  58. package/lib/autodiscovery.js.map +1 -1
  59. package/lib/base64.js +1 -1
  60. package/lib/base64.js.map +1 -1
  61. package/lib/browser-index.d.ts +2 -2
  62. package/lib/browser-index.d.ts.map +1 -1
  63. package/lib/browser-index.js +5 -5
  64. package/lib/browser-index.js.map +1 -1
  65. package/lib/capabilityPoller.js +19 -22
  66. package/lib/capabilityPoller.js.map +1 -1
  67. package/lib/client.d.ts +2 -8
  68. package/lib/client.d.ts.map +1 -1
  69. package/lib/client.js +2043 -2487
  70. package/lib/client.js.map +1 -1
  71. package/lib/common-crypto/CryptoBackend.js +2 -2
  72. package/lib/common-crypto/CryptoBackend.js.map +1 -1
  73. package/lib/common-crypto/key-passphrase.js.map +1 -1
  74. package/lib/content-helpers.js +43 -48
  75. package/lib/content-helpers.js.map +1 -1
  76. package/lib/content-repo.js +14 -24
  77. package/lib/content-repo.js.map +1 -1
  78. package/lib/crypto/store/base.js +6 -6
  79. package/lib/crypto/store/base.js.map +1 -1
  80. package/lib/crypto/store/indexeddb-crypto-store-backend.js +190 -238
  81. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  82. package/lib/crypto/store/indexeddb-crypto-store.js +25 -30
  83. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  84. package/lib/crypto/store/localStorage-crypto-store.js +113 -145
  85. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  86. package/lib/crypto/store/memory-crypto-store.js +74 -105
  87. package/lib/crypto/store/memory-crypto-store.js.map +1 -1
  88. package/lib/crypto-api/CryptoEvent.js +1 -1
  89. package/lib/crypto-api/CryptoEvent.js.map +1 -1
  90. package/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
  91. package/lib/crypto-api/index.d.ts +15 -6
  92. package/lib/crypto-api/index.d.ts.map +1 -1
  93. package/lib/crypto-api/index.js +22 -22
  94. package/lib/crypto-api/index.js.map +1 -1
  95. package/lib/crypto-api/key-passphrase.js +15 -23
  96. package/lib/crypto-api/key-passphrase.js.map +1 -1
  97. package/lib/crypto-api/keybackup.js +3 -1
  98. package/lib/crypto-api/recovery-key.js +11 -12
  99. package/lib/crypto-api/recovery-key.js.map +1 -1
  100. package/lib/crypto-api/verification.js +3 -3
  101. package/lib/crypto-api/verification.js.map +1 -1
  102. package/lib/digest.js +7 -14
  103. package/lib/digest.js.map +1 -1
  104. package/lib/embedded.d.ts.map +1 -1
  105. package/lib/embedded.js +380 -505
  106. package/lib/embedded.js.map +1 -1
  107. package/lib/errors.js +2 -2
  108. package/lib/errors.js.map +1 -1
  109. package/lib/event-mapper.js +10 -12
  110. package/lib/event-mapper.js.map +1 -1
  111. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
  112. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
  113. package/lib/extensible_events_v1/MessageEvent.js +11 -13
  114. package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  115. package/lib/extensible_events_v1/PollEndEvent.js +3 -4
  116. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  117. package/lib/extensible_events_v1/PollResponseEvent.js +5 -6
  118. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  119. package/lib/extensible_events_v1/PollStartEvent.js +8 -10
  120. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  121. package/lib/extensible_events_v1/utilities.js.map +1 -1
  122. package/lib/feature.js +18 -31
  123. package/lib/feature.js.map +1 -1
  124. package/lib/filter-component.d.ts.map +1 -1
  125. package/lib/filter-component.js +20 -26
  126. package/lib/filter-component.js.map +1 -1
  127. package/lib/filter.js +14 -17
  128. package/lib/filter.js.map +1 -1
  129. package/lib/http-api/errors.js +28 -43
  130. package/lib/http-api/errors.js.map +1 -1
  131. package/lib/http-api/fetch.js +141 -159
  132. package/lib/http-api/fetch.js.map +1 -1
  133. package/lib/http-api/index.js +17 -20
  134. package/lib/http-api/index.js.map +1 -1
  135. package/lib/http-api/interface.js +1 -1
  136. package/lib/http-api/interface.js.map +1 -1
  137. package/lib/http-api/method.js +1 -1
  138. package/lib/http-api/method.js.map +1 -1
  139. package/lib/http-api/prefix.js +3 -3
  140. package/lib/http-api/prefix.js.map +1 -1
  141. package/lib/http-api/refresh.js +74 -94
  142. package/lib/http-api/refresh.js.map +1 -1
  143. package/lib/http-api/utils.d.ts +1 -1
  144. package/lib/http-api/utils.d.ts.map +1 -1
  145. package/lib/http-api/utils.js +34 -42
  146. package/lib/http-api/utils.js.map +1 -1
  147. package/lib/index.js.map +1 -1
  148. package/lib/indexeddb-helpers.js +3 -3
  149. package/lib/indexeddb-helpers.js.map +1 -1
  150. package/lib/indexeddb-worker.js.map +1 -1
  151. package/lib/interactive-auth.d.ts +5 -5
  152. package/lib/interactive-auth.d.ts.map +1 -1
  153. package/lib/interactive-auth.js +172 -204
  154. package/lib/interactive-auth.js.map +1 -1
  155. package/lib/logger.js +21 -57
  156. package/lib/logger.js.map +1 -1
  157. package/lib/matrix.js +7 -11
  158. package/lib/matrix.js.map +1 -1
  159. package/lib/matrixrtc/CallMembership.js +80 -74
  160. package/lib/matrixrtc/CallMembership.js.map +1 -1
  161. package/lib/matrixrtc/EncryptionManager.js +1 -1
  162. package/lib/matrixrtc/EncryptionManager.js.map +1 -1
  163. package/lib/matrixrtc/IKeyTransport.js +1 -1
  164. package/lib/matrixrtc/IKeyTransport.js.map +1 -1
  165. package/lib/matrixrtc/IMembershipManager.js +1 -1
  166. package/lib/matrixrtc/IMembershipManager.js.map +1 -1
  167. package/lib/matrixrtc/LivekitTransport.d.ts +1 -1
  168. package/lib/matrixrtc/LivekitTransport.js +4 -4
  169. package/lib/matrixrtc/LivekitTransport.js.map +1 -1
  170. package/lib/matrixrtc/MatrixRTCSession.js +137 -187
  171. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  172. package/lib/matrixrtc/MatrixRTCSessionManager.js +36 -41
  173. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  174. package/lib/matrixrtc/MembershipManager.js +332 -378
  175. package/lib/matrixrtc/MembershipManager.js.map +1 -1
  176. package/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -63
  177. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
  178. package/lib/matrixrtc/RTCEncryptionManager.js +119 -143
  179. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  180. package/lib/matrixrtc/ToDeviceKeyTransport.js +53 -58
  181. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
  182. package/lib/matrixrtc/index.js.map +1 -1
  183. package/lib/matrixrtc/membershipData/common.js +1 -1
  184. package/lib/matrixrtc/membershipData/common.js.map +1 -1
  185. package/lib/matrixrtc/membershipData/index.js.map +1 -1
  186. package/lib/matrixrtc/membershipData/rtc.js +15 -23
  187. package/lib/matrixrtc/membershipData/rtc.js.map +1 -1
  188. package/lib/matrixrtc/membershipData/session.js +4 -5
  189. package/lib/matrixrtc/membershipData/session.js.map +1 -1
  190. package/lib/matrixrtc/types.js +4 -6
  191. package/lib/matrixrtc/types.js.map +1 -1
  192. package/lib/matrixrtc/utils.js +4 -11
  193. package/lib/matrixrtc/utils.js.map +1 -1
  194. package/lib/models/MSC3089Branch.js +91 -116
  195. package/lib/models/MSC3089Branch.js.map +1 -1
  196. package/lib/models/MSC3089TreeSpace.js +209 -245
  197. package/lib/models/MSC3089TreeSpace.js.map +1 -1
  198. package/lib/models/ToDeviceMessage.js +3 -1
  199. package/lib/models/beacon.js +14 -13
  200. package/lib/models/beacon.js.map +1 -1
  201. package/lib/models/compare-event-ordering.js +13 -13
  202. package/lib/models/compare-event-ordering.js.map +1 -1
  203. package/lib/models/device.js +3 -3
  204. package/lib/models/device.js.map +1 -1
  205. package/lib/models/event-context.js +5 -8
  206. package/lib/models/event-context.js.map +1 -1
  207. package/lib/models/event-status.js +1 -1
  208. package/lib/models/event-status.js.map +1 -1
  209. package/lib/models/event-timeline-set.js +88 -94
  210. package/lib/models/event-timeline-set.js.map +1 -1
  211. package/lib/models/event-timeline.js +28 -30
  212. package/lib/models/event-timeline.js.map +1 -1
  213. package/lib/models/event.js +182 -226
  214. package/lib/models/event.js.map +1 -1
  215. package/lib/models/invites-ignorer-types.js +4 -4
  216. package/lib/models/invites-ignorer-types.js.map +1 -1
  217. package/lib/models/invites-ignorer.js +159 -179
  218. package/lib/models/invites-ignorer.js.map +1 -1
  219. package/lib/models/poll.js +71 -81
  220. package/lib/models/poll.js.map +1 -1
  221. package/lib/models/profile-keys.js +2 -2
  222. package/lib/models/profile-keys.js.map +1 -1
  223. package/lib/models/read-receipt.js +40 -56
  224. package/lib/models/read-receipt.js.map +1 -1
  225. package/lib/models/related-relations.js.map +1 -1
  226. package/lib/models/relations-container.js +22 -23
  227. package/lib/models/relations-container.js.map +1 -1
  228. package/lib/models/relations.js +133 -159
  229. package/lib/models/relations.js.map +1 -1
  230. package/lib/models/room-member.js +24 -29
  231. package/lib/models/room-member.js.map +1 -1
  232. package/lib/models/room-receipts.js +29 -43
  233. package/lib/models/room-receipts.js.map +1 -1
  234. package/lib/models/room-retention.js +74 -83
  235. package/lib/models/room-retention.js.map +1 -1
  236. package/lib/models/room-state.js +143 -172
  237. package/lib/models/room-state.js.map +1 -1
  238. package/lib/models/room-sticky-events.d.ts +1 -0
  239. package/lib/models/room-sticky-events.d.ts.map +1 -1
  240. package/lib/models/room-sticky-events.js +45 -65
  241. package/lib/models/room-sticky-events.js.map +1 -1
  242. package/lib/models/room-summary.js.map +1 -1
  243. package/lib/models/room.d.ts.map +1 -1
  244. package/lib/models/room.js +765 -909
  245. package/lib/models/room.js.map +1 -1
  246. package/lib/models/search-result.js +5 -5
  247. package/lib/models/search-result.js.map +1 -1
  248. package/lib/models/thread.js +225 -285
  249. package/lib/models/thread.js.map +1 -1
  250. package/lib/models/typed-event-emitter.js +7 -18
  251. package/lib/models/typed-event-emitter.js.map +1 -1
  252. package/lib/models/user.js +8 -8
  253. package/lib/models/user.js.map +1 -1
  254. package/lib/oidc/authorize.js +208 -241
  255. package/lib/oidc/authorize.js.map +1 -1
  256. package/lib/oidc/discovery.js +23 -36
  257. package/lib/oidc/discovery.js.map +1 -1
  258. package/lib/oidc/error.js +1 -1
  259. package/lib/oidc/error.js.map +1 -1
  260. package/lib/oidc/index.js +1 -0
  261. package/lib/oidc/index.js.map +1 -1
  262. package/lib/oidc/register.js +60 -66
  263. package/lib/oidc/register.js.map +1 -1
  264. package/lib/oidc/tokenRefresher.js +77 -91
  265. package/lib/oidc/tokenRefresher.js.map +1 -1
  266. package/lib/oidc/validate.js +18 -18
  267. package/lib/oidc/validate.js.map +1 -1
  268. package/lib/pushprocessor.js +71 -82
  269. package/lib/pushprocessor.js.map +1 -1
  270. package/lib/randomstring.js +9 -9
  271. package/lib/randomstring.js.map +1 -1
  272. package/lib/realtime-callbacks.js +25 -28
  273. package/lib/realtime-callbacks.js.map +1 -1
  274. package/lib/receipt-accumulator.d.ts +2 -0
  275. package/lib/receipt-accumulator.d.ts.map +1 -1
  276. package/lib/receipt-accumulator.js +14 -22
  277. package/lib/receipt-accumulator.js.map +1 -1
  278. package/lib/rendezvous/MSC4108SignInWithQR.js +271 -302
  279. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
  280. package/lib/rendezvous/RendezvousChannel.js +3 -1
  281. package/lib/rendezvous/RendezvousCode.js +3 -1
  282. package/lib/rendezvous/RendezvousError.js.map +1 -1
  283. package/lib/rendezvous/RendezvousFailureReason.js +2 -2
  284. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
  285. package/lib/rendezvous/RendezvousIntent.js +1 -1
  286. package/lib/rendezvous/RendezvousIntent.js.map +1 -1
  287. package/lib/rendezvous/RendezvousTransport.js +3 -1
  288. package/lib/rendezvous/channels/MSC4108SecureChannel.js +123 -147
  289. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  290. package/lib/rendezvous/index.js +44 -69
  291. package/lib/rendezvous/index.js.map +1 -1
  292. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
  293. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +134 -152
  294. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  295. package/lib/retentionPolicy.js +6 -9
  296. package/lib/retentionPolicy.js.map +1 -1
  297. package/lib/room-hierarchy.js +52 -60
  298. package/lib/room-hierarchy.js.map +1 -1
  299. package/lib/rust-crypto/CrossSigningIdentity.js +94 -104
  300. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
  301. package/lib/rust-crypto/DehydratedDeviceManager.js +157 -190
  302. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
  303. package/lib/rust-crypto/KeyClaimManager.js +18 -22
  304. package/lib/rust-crypto/KeyClaimManager.js.map +1 -1
  305. package/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
  306. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  307. package/lib/rust-crypto/OutgoingRequestsManager.js +66 -80
  308. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  309. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
  310. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +196 -224
  311. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
  312. package/lib/rust-crypto/RoomEncryptor.js +127 -143
  313. package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
  314. package/lib/rust-crypto/backup.js +453 -549
  315. package/lib/rust-crypto/backup.js.map +1 -1
  316. package/lib/rust-crypto/constants.js +1 -1
  317. package/lib/rust-crypto/constants.js.map +1 -1
  318. package/lib/rust-crypto/device-converter.js +15 -28
  319. package/lib/rust-crypto/device-converter.js.map +1 -1
  320. package/lib/rust-crypto/index.js +103 -116
  321. package/lib/rust-crypto/index.js.map +1 -1
  322. package/lib/rust-crypto/libolm_migration.js +303 -365
  323. package/lib/rust-crypto/libolm_migration.js.map +1 -1
  324. package/lib/rust-crypto/rust-crypto.d.ts +5 -1
  325. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  326. package/lib/rust-crypto/rust-crypto.js +1067 -1332
  327. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  328. package/lib/rust-crypto/secret-storage.js +12 -25
  329. package/lib/rust-crypto/secret-storage.js.map +1 -1
  330. package/lib/rust-crypto/verification.js +137 -189
  331. package/lib/rust-crypto/verification.js.map +1 -1
  332. package/lib/scheduler.js +44 -19
  333. package/lib/scheduler.js.map +1 -1
  334. package/lib/secret-storage.js +179 -213
  335. package/lib/secret-storage.js.map +1 -1
  336. package/lib/serverCapabilities.js +6 -9
  337. package/lib/serverCapabilities.js.map +1 -1
  338. package/lib/service-types.js +1 -1
  339. package/lib/service-types.js.map +1 -1
  340. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  341. package/lib/sliding-sync-sdk.js +368 -424
  342. package/lib/sliding-sync-sdk.js.map +1 -1
  343. package/lib/sliding-sync.js +135 -171
  344. package/lib/sliding-sync.js.map +1 -1
  345. package/lib/store/index.js +3 -1
  346. package/lib/store/indexeddb-backend.js +3 -1
  347. package/lib/store/indexeddb-local-backend.js +194 -253
  348. package/lib/store/indexeddb-local-backend.js.map +1 -1
  349. package/lib/store/indexeddb-remote-backend.js +33 -63
  350. package/lib/store/indexeddb-remote-backend.js.map +1 -1
  351. package/lib/store/indexeddb-store-worker.js +22 -23
  352. package/lib/store/indexeddb-store-worker.js.map +1 -1
  353. package/lib/store/indexeddb.js +44 -71
  354. package/lib/store/indexeddb.js.map +1 -1
  355. package/lib/store/local-storage-events-emitter.js +2 -2
  356. package/lib/store/local-storage-events-emitter.js.map +1 -1
  357. package/lib/store/memory.js +34 -57
  358. package/lib/store/memory.js.map +1 -1
  359. package/lib/store/stub.js +22 -35
  360. package/lib/store/stub.js.map +1 -1
  361. package/lib/sync-accumulator.js +54 -66
  362. package/lib/sync-accumulator.js.map +1 -1
  363. package/lib/sync.d.ts.map +1 -1
  364. package/lib/sync.js +905 -998
  365. package/lib/sync.js.map +1 -1
  366. package/lib/testing.js +63 -105
  367. package/lib/testing.js.map +1 -1
  368. package/lib/thread-utils.js +1 -4
  369. package/lib/thread-utils.js.map +1 -1
  370. package/lib/timeline-window.js +89 -102
  371. package/lib/timeline-window.js.map +1 -1
  372. package/lib/types.js +1 -1
  373. package/lib/types.js.map +1 -1
  374. package/lib/utils/decryptAESSecretStorageItem.js +14 -25
  375. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  376. package/lib/utils/encryptAESSecretStorageItem.js +27 -38
  377. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  378. package/lib/utils/internal/deriveKeys.js +25 -32
  379. package/lib/utils/internal/deriveKeys.js.map +1 -1
  380. package/lib/utils/roomVersion.js +1 -1
  381. package/lib/utils/roomVersion.js.map +1 -1
  382. package/lib/utils.js +83 -135
  383. package/lib/utils.js.map +1 -1
  384. package/lib/version-support.js +3 -3
  385. package/lib/version-support.js.map +1 -1
  386. package/lib/webrtc/audioContext.js +5 -6
  387. package/lib/webrtc/audioContext.js.map +1 -1
  388. package/lib/webrtc/call.js +1081 -1250
  389. package/lib/webrtc/call.js.map +1 -1
  390. package/lib/webrtc/callEventHandler.js +202 -214
  391. package/lib/webrtc/callEventHandler.js.map +1 -1
  392. package/lib/webrtc/callEventTypes.js +2 -2
  393. package/lib/webrtc/callEventTypes.js.map +1 -1
  394. package/lib/webrtc/callFeed.js +18 -20
  395. package/lib/webrtc/callFeed.js.map +1 -1
  396. package/lib/webrtc/groupCall.js +513 -602
  397. package/lib/webrtc/groupCall.js.map +1 -1
  398. package/lib/webrtc/groupCallEventHandler.js +59 -62
  399. package/lib/webrtc/groupCallEventHandler.js.map +1 -1
  400. package/lib/webrtc/mediaHandler.js +198 -232
  401. package/lib/webrtc/mediaHandler.js.map +1 -1
  402. package/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
  403. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
  404. package/lib/webrtc/stats/callStatsReportGatherer.js +67 -75
  405. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  406. package/lib/webrtc/stats/callStatsReportSummary.js +3 -1
  407. package/lib/webrtc/stats/connectionStats.js.map +1 -1
  408. package/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
  409. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
  410. package/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
  411. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  412. package/lib/webrtc/stats/groupCallStats.js +6 -8
  413. package/lib/webrtc/stats/groupCallStats.js.map +1 -1
  414. package/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
  415. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
  416. package/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
  417. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
  418. package/lib/webrtc/stats/media/mediaTrackStats.js +3 -3
  419. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  420. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +7 -7
  421. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  422. package/lib/webrtc/stats/statsReport.js +1 -1
  423. package/lib/webrtc/stats/statsReport.js.map +1 -1
  424. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
  425. package/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
  426. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
  427. package/lib/webrtc/stats/trackStatsBuilder.js +32 -34
  428. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
  429. package/lib/webrtc/stats/transportStats.js +3 -1
  430. package/lib/webrtc/stats/transportStatsBuilder.js +9 -9
  431. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  432. package/lib/webrtc/stats/valueFormatter.js +1 -1
  433. package/lib/webrtc/stats/valueFormatter.js.map +1 -1
  434. package/package.json +18 -33
  435. package/src/@types/global.d.ts +2 -2
  436. package/src/ToDeviceMessageQueue.ts +2 -2
  437. package/src/browser-index.ts +4 -4
  438. package/src/client.ts +15 -20
  439. package/src/crypto-api/index.ts +17 -6
  440. package/src/embedded.ts +4 -6
  441. package/src/filter-component.ts +1 -0
  442. package/src/http-api/utils.ts +1 -1
  443. package/src/interactive-auth.ts +11 -5
  444. package/src/matrixrtc/LivekitTransport.ts +1 -1
  445. package/src/matrixrtc/MatrixRTCSession.ts +1 -1
  446. package/src/models/MSC3089Branch.ts +1 -1
  447. package/src/models/room-sticky-events.ts +1 -0
  448. package/src/models/room.ts +9 -11
  449. package/src/receipt-accumulator.ts +2 -0
  450. package/src/rendezvous/index.ts +1 -1
  451. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
  452. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
  453. package/src/rust-crypto/index.ts +6 -6
  454. package/src/rust-crypto/rust-crypto.ts +31 -7
  455. package/src/rust-crypto/verification.ts +1 -1
  456. package/src/sliding-sync-sdk.ts +5 -7
  457. package/src/store/indexeddb-local-backend.ts +3 -3
  458. package/src/sync.ts +6 -8
@@ -1,7 +1,5 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
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 2015 - 2021 The Matrix.org Foundation C.I.C.
7
5
 
@@ -21,7 +19,7 @@ limitations under the License.
21
19
  import { deepCompare, escapeRegExp, globToRegexp, isNullOrUndefined } from "./utils.js";
22
20
  import { ConditionKind, PushRuleActionName, PushRuleKind, RuleId, TweakName } from "./@types/PushRules.js";
23
21
  import { EventType } from "./@types/event.js";
24
- var RULEKINDS_IN_ORDER = [PushRuleKind.Override, PushRuleKind.ContentSpecific, PushRuleKind.RoomSpecific, PushRuleKind.SenderSpecific, PushRuleKind.Underride];
22
+ const RULEKINDS_IN_ORDER = [PushRuleKind.Override, PushRuleKind.ContentSpecific, PushRuleKind.RoomSpecific, PushRuleKind.SenderSpecific, PushRuleKind.Underride];
25
23
 
26
24
  // The default override rules to apply to the push rules that arrive from the server.
27
25
  // We do this for two reasons:
@@ -30,7 +28,7 @@ var RULEKINDS_IN_ORDER = [PushRuleKind.Override, PushRuleKind.ContentSpecific, P
30
28
  // more details.
31
29
  // 2. We often want to start using push rules ahead of the server supporting them,
32
30
  // and so we can put them here.
33
- var DEFAULT_OVERRIDE_RULES = {
31
+ const DEFAULT_OVERRIDE_RULES = {
34
32
  ".m.rule.is_room_mention": {
35
33
  // Matrix v1.7
36
34
  rule_id: ".m.rule.is_room_mention",
@@ -79,9 +77,9 @@ var DEFAULT_OVERRIDE_RULES = {
79
77
  };
80
78
 
81
79
  // A special rule id for `EXPECTED_DEFAULT_OVERRIDE_RULE_IDS` and friends which denotes where user-defined rules live in the order.
82
- var UserDefinedRules = Symbol("UserDefinedRules");
83
- var EXPECTED_DEFAULT_OVERRIDE_RULE_IDS = [RuleId.Master, UserDefinedRules, RuleId.SuppressNotices, RuleId.InviteToSelf, RuleId.MemberEvent, RuleId.IsUserMention, RuleId.ContainsDisplayName, RuleId.IsRoomMention, RuleId.AtRoomNotification, RuleId.Tombstone, ".m.rule.reaction", ".m.rule.room.server_acl", ".org.matrix.msc3786.rule.room.server_acl", ".m.rule.suppress_edits"];
84
- var DEFAULT_UNDERRIDE_RULES = {
80
+ const UserDefinedRules = Symbol("UserDefinedRules");
81
+ const EXPECTED_DEFAULT_OVERRIDE_RULE_IDS = [RuleId.Master, UserDefinedRules, RuleId.SuppressNotices, RuleId.InviteToSelf, RuleId.MemberEvent, RuleId.IsUserMention, RuleId.ContainsDisplayName, RuleId.IsRoomMention, RuleId.AtRoomNotification, RuleId.Tombstone, ".m.rule.reaction", ".m.rule.room.server_acl", ".org.matrix.msc3786.rule.room.server_acl", ".m.rule.suppress_edits"];
82
+ const DEFAULT_UNDERRIDE_RULES = {
85
83
  ".org.matrix.msc3914.rule.room.call": {
86
84
  // For homeservers which don't support MSC3914 yet
87
85
  rule_id: ".org.matrix.msc3914.rule.room.call",
@@ -100,7 +98,7 @@ var DEFAULT_UNDERRIDE_RULES = {
100
98
  }]
101
99
  }
102
100
  };
103
- var EXPECTED_DEFAULT_UNDERRIDE_RULE_IDS = [UserDefinedRules, RuleId.IncomingCall, ".org.matrix.msc3914.rule.room.call", RuleId.EncryptedDM, RuleId.DM, RuleId.Message, RuleId.EncryptedMessage];
101
+ const EXPECTED_DEFAULT_UNDERRIDE_RULE_IDS = [UserDefinedRules, RuleId.IncomingCall, ".org.matrix.msc3914.rule.room.call", RuleId.EncryptedDM, RuleId.DM, RuleId.Message, RuleId.EncryptedMessage];
104
102
 
105
103
  /**
106
104
  * Make sure that each of the rules listed in `defaultRuleIds` is listed in the given set of push rules.
@@ -115,24 +113,24 @@ var EXPECTED_DEFAULT_UNDERRIDE_RULE_IDS = [UserDefinedRules, RuleId.IncomingCall
115
113
  */
116
114
  function mergeRulesWithDefaults(logger, kind, incomingRules, defaultRules, orderedRuleIds) {
117
115
  // Split the incomingRules into defaults and custom
118
- var incomingDefaultRules = incomingRules.filter(rule => rule.default);
119
- var incomingCustomRules = incomingRules.filter(rule => !rule.default);
116
+ const incomingDefaultRules = incomingRules.filter(rule => rule.default);
117
+ const incomingCustomRules = incomingRules.filter(rule => !rule.default);
120
118
  function insertDefaultPushRule(ruleId) {
121
119
  if (ruleId === UserDefinedRules) {
122
120
  // Re-insert any user-defined rules that were in `incomingRules`
123
121
  newRules.push(...incomingCustomRules);
124
122
  } else if (ruleId in defaultRules) {
125
- logger.warn("Adding default global ".concat(kind, " push rule ").concat(ruleId));
123
+ logger.warn(`Adding default global ${kind} push rule ${ruleId}`);
126
124
  newRules.push(defaultRules[ruleId]);
127
125
  } else {
128
- logger.warn("Missing default global ".concat(kind, " push rule ").concat(ruleId));
126
+ logger.warn(`Missing default global ${kind} push rule ${ruleId}`);
129
127
  }
130
128
  }
131
- var nextExpectedRuleIdIndex = 0;
132
- var newRules = [];
129
+ let nextExpectedRuleIdIndex = 0;
130
+ const newRules = [];
133
131
  // Merge our expected rules (including the incoming custom rules) into the incoming default rules.
134
- for (var rule of incomingDefaultRules) {
135
- var ruleIndex = orderedRuleIds.indexOf(rule.rule_id);
132
+ for (const rule of incomingDefaultRules) {
133
+ const ruleIndex = orderedRuleIds.indexOf(rule.rule_id);
136
134
  if (ruleIndex === -1) {
137
135
  // an unrecognised rule; copy it over
138
136
  newRules.push(rule);
@@ -140,7 +138,7 @@ function mergeRulesWithDefaults(logger, kind, incomingRules, defaultRules, order
140
138
  }
141
139
  while (ruleIndex > nextExpectedRuleIdIndex) {
142
140
  // insert new rules
143
- var defaultRuleId = orderedRuleIds[nextExpectedRuleIdIndex];
141
+ const defaultRuleId = orderedRuleIds[nextExpectedRuleIdIndex];
144
142
  insertDefaultPushRule(defaultRuleId);
145
143
  nextExpectedRuleIdIndex += 1;
146
144
  }
@@ -150,7 +148,7 @@ function mergeRulesWithDefaults(logger, kind, incomingRules, defaultRules, order
150
148
  }
151
149
 
152
150
  // Now copy over any remaining default rules
153
- for (var ruleId of orderedRuleIds.slice(nextExpectedRuleIdIndex)) {
151
+ for (const ruleId of orderedRuleIds.slice(nextExpectedRuleIdIndex)) {
154
152
  insertDefaultPushRule(ruleId);
155
153
  }
156
154
  return newRules;
@@ -161,12 +159,12 @@ export class PushProcessor {
161
159
  * @param client - The Matrix client object to use
162
160
  */
163
161
  constructor(client) {
164
- this.client = client;
165
162
  /**
166
163
  * Maps the original key from the push rules to a list of property names
167
164
  * after unescaping.
168
165
  */
169
166
  _defineProperty(this, "parsedKeys", new Map());
167
+ this.client = client;
170
168
  }
171
169
  /**
172
170
  * Convert a list of actions into a object with the actions as keys and their values
@@ -178,11 +176,11 @@ export class PushProcessor {
178
176
  * @returns A object with key 'notify' (true or false) and an object of actions
179
177
  */
180
178
  static actionListToActionsObject(actionList) {
181
- var actionObj = {
179
+ const actionObj = {
182
180
  notify: false,
183
181
  tweaks: {}
184
182
  };
185
- for (var action of actionList) {
183
+ for (const action of actionList) {
186
184
  if (action === PushRuleActionName.Notify) {
187
185
  actionObj.notify = true;
188
186
  } else if (typeof action === "object") {
@@ -205,9 +203,8 @@ export class PushProcessor {
205
203
  * @param userId - The Matrix ID of the client.
206
204
  * @returns The rewritten rules
207
205
  */
208
- static rewriteDefaultRules(logger, incomingRules) {
209
- var userId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
210
- var newRules = JSON.parse(JSON.stringify(incomingRules)); // deep clone
206
+ static rewriteDefaultRules(logger, incomingRules, userId = undefined) {
207
+ let newRules = JSON.parse(JSON.stringify(incomingRules)); // deep clone
211
208
 
212
209
  // These lines are mostly to make the tests happy. We shouldn't run into these
213
210
  // properties missing in practice.
@@ -231,14 +228,9 @@ export class PushProcessor {
231
228
  * as specified for `content.body` matches, will use lookaround assertions to ensure the match only includes the pattern
232
229
  * @param flags - the flags to pass to the RegExp constructor, defaults to case-insensitive
233
230
  */
234
- static getPushRuleGlobRegex(pattern) {
235
- var alignToWordBoundary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
236
- var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "i";
237
- var _ref = alignToWordBoundary ? ["(?<=^|\\W)", "(?=\\W|$)"] : ["^", "$"],
238
- _ref2 = _slicedToArray(_ref, 2),
239
- prefix = _ref2[0],
240
- suffix = _ref2[1];
241
- var cacheKey = "".concat(alignToWordBoundary, "-").concat(flags, "-").concat(pattern);
231
+ static getPushRuleGlobRegex(pattern, alignToWordBoundary = false, flags = "i") {
232
+ const [prefix, suffix] = alignToWordBoundary ? ["(?<=^|\\W)", "(?=\\W|$)"] : ["^", "$"];
233
+ const cacheKey = `${alignToWordBoundary}-${flags}-${pattern}`;
242
234
  if (!PushProcessor.cachedGlobToRegex[cacheKey]) {
243
235
  PushProcessor.cachedGlobToRegex[cacheKey] = new RegExp(prefix + "(" + globToRegexp(pattern) + ")" + suffix, flags);
244
236
  }
@@ -262,13 +254,13 @@ export class PushProcessor {
262
254
 
263
255
  // Process the 'key' property on event_match conditions pre-cache the
264
256
  // values and clean-out any unused values.
265
- var toRemoveKeys = new Set(this.parsedKeys.keys());
266
- for (var ruleset of [newRules.global.override, newRules.global.room, newRules.global.sender, newRules.global.underride]) {
267
- for (var rule of ruleset) {
257
+ const toRemoveKeys = new Set(this.parsedKeys.keys());
258
+ for (const ruleset of [newRules.global.override, newRules.global.room, newRules.global.sender, newRules.global.underride]) {
259
+ for (const rule of ruleset) {
268
260
  if (!rule.conditions) {
269
261
  continue;
270
262
  }
271
- for (var condition of rule.conditions) {
263
+ for (const condition of rule.conditions) {
272
264
  if (condition.kind !== ConditionKind.EventMatch) {
273
265
  continue;
274
266
  }
@@ -288,16 +280,16 @@ export class PushProcessor {
288
280
  // $glob: RegExp
289
281
 
290
282
  matchingRuleFromKindSet(ev, kindset) {
291
- for (var kind of RULEKINDS_IN_ORDER) {
292
- var ruleset = kindset[kind];
283
+ for (const kind of RULEKINDS_IN_ORDER) {
284
+ const ruleset = kindset[kind];
293
285
  if (!ruleset) {
294
286
  continue;
295
287
  }
296
- for (var rule of ruleset) {
288
+ for (const rule of ruleset) {
297
289
  if (!rule.enabled) {
298
290
  continue;
299
291
  }
300
- var rawrule = this.templateRuleToRaw(kind, rule);
292
+ const rawrule = this.templateRuleToRaw(kind, rule);
301
293
  if (!rawrule) {
302
294
  continue;
303
295
  }
@@ -311,7 +303,7 @@ export class PushProcessor {
311
303
  return null;
312
304
  }
313
305
  templateRuleToRaw(kind, tprule) {
314
- var rawrule = {
306
+ const rawrule = {
315
307
  rule_id: tprule.rule_id,
316
308
  actions: tprule.actions,
317
309
  conditions: []
@@ -379,12 +371,12 @@ export class PushProcessor {
379
371
  return false;
380
372
  }
381
373
  eventFulfillsSenderNotifPermCondition(cond, ev) {
382
- var notifLevelKey = cond["key"];
374
+ const notifLevelKey = cond["key"];
383
375
  if (!notifLevelKey) {
384
376
  return false;
385
377
  }
386
- var room = this.client.getRoom(ev.getRoomId());
387
- if (!(room !== null && room !== void 0 && room.currentState)) {
378
+ const room = this.client.getRoom(ev.getRoomId());
379
+ if (!room?.currentState) {
388
380
  return false;
389
381
  }
390
382
 
@@ -397,17 +389,17 @@ export class PushProcessor {
397
389
  if (!cond.is) {
398
390
  return false;
399
391
  }
400
- var room = this.client.getRoom(ev.getRoomId());
392
+ const room = this.client.getRoom(ev.getRoomId());
401
393
  if (!room || !room.currentState || !room.currentState.members) {
402
394
  return false;
403
395
  }
404
- var memberCount = room.currentState.getJoinedMemberCount();
405
- var m = cond.is.match(/^([=<>]*)(\d*)$/);
396
+ const memberCount = room.currentState.getJoinedMemberCount();
397
+ const m = cond.is.match(/^([=<>]*)(\d*)$/);
406
398
  if (!m) {
407
399
  return false;
408
400
  }
409
- var ineq = m[1];
410
- var rhs = parseInt(m[2]);
401
+ const ineq = m[1];
402
+ const rhs = parseInt(m[2]);
411
403
  if (isNaN(rhs)) {
412
404
  return false;
413
405
  }
@@ -428,24 +420,23 @@ export class PushProcessor {
428
420
  }
429
421
  }
430
422
  eventFulfillsDisplayNameCondition(cond, ev) {
431
- var _room$currentState;
432
- var content = ev.getContent();
423
+ let content = ev.getContent();
433
424
  if (ev.isEncrypted() && ev.getClearContent()) {
434
425
  content = ev.getClearContent();
435
426
  }
436
427
  if (!content || !content.body || typeof content.body != "string") {
437
428
  return false;
438
429
  }
439
- var room = this.client.getRoom(ev.getRoomId());
440
- var member = room === null || room === void 0 || (_room$currentState = room.currentState) === null || _room$currentState === void 0 ? void 0 : _room$currentState.getMember(this.client.credentials.userId);
430
+ const room = this.client.getRoom(ev.getRoomId());
431
+ const member = room?.currentState?.getMember(this.client.credentials.userId);
441
432
  if (!member) {
442
433
  return false;
443
434
  }
444
- var displayName = member.name;
435
+ const displayName = member.name;
445
436
 
446
437
  // N.B. we can't use \b as it chokes on unicode. however \W seems to be okay
447
438
  // as shorthand for [^0-9A-Za-z_].
448
- var pat = new RegExp("(^|\\W)" + escapeRegExp(displayName) + "(\\W|$)", "i");
439
+ const pat = new RegExp("(^|\\W)" + escapeRegExp(displayName) + "(\\W|$)", "i");
449
440
  return content.body.search(pat) > -1;
450
441
  }
451
442
 
@@ -460,7 +451,7 @@ export class PushProcessor {
460
451
  if (!cond.key) {
461
452
  return false;
462
453
  }
463
- var val = this.valueForDottedKey(cond.key, ev);
454
+ const val = this.valueForDottedKey(cond.key, ev);
464
455
  if (typeof val !== "string") {
465
456
  return false;
466
457
  }
@@ -477,7 +468,7 @@ export class PushProcessor {
477
468
 
478
469
  // Align to word boundary on `content.body` matches, whole string otherwise
479
470
  // https://spec.matrix.org/v1.13/client-server-api/#conditions-1
480
- var regex = PushProcessor.getPushRuleGlobRegex(cond.pattern, cond.key === "content.body");
471
+ const regex = PushProcessor.getPushRuleGlobRegex(cond.pattern, cond.key === "content.body");
481
472
  return !!val.match(regex);
482
473
  }
483
474
 
@@ -506,7 +497,7 @@ export class PushProcessor {
506
497
  if (!cond.key || cond.value === undefined) {
507
498
  return false;
508
499
  }
509
- var val = this.valueForDottedKey(cond.key, ev);
500
+ const val = this.valueForDottedKey(cond.key, ev);
510
501
  if (!Array.isArray(val)) {
511
502
  return false;
512
503
  }
@@ -527,17 +518,17 @@ export class PushProcessor {
527
518
  * @internal
528
519
  */
529
520
  static partsForDottedKey(str) {
530
- var result = [];
521
+ const result = [];
531
522
 
532
523
  // The current field and whether the previous character was the escape
533
524
  // character (a backslash).
534
- var part = "";
535
- var escaped = false;
525
+ let part = "";
526
+ let escaped = false;
536
527
 
537
528
  // Iterate over each character, and decide whether to append to the current
538
529
  // part (following the escape rules) or to start a new part (based on the
539
530
  // field separator).
540
- for (var c of str) {
531
+ for (const c of str) {
541
532
  // If the previous character was the escape character (a backslash)
542
533
  // then decide what to append to the current part.
543
534
  if (escaped) {
@@ -586,16 +577,16 @@ export class PushProcessor {
586
577
  // The key should already have been parsed via updateCachedPushRuleKeys,
587
578
  // but if it hasn't (maybe via an old consumer of the SDK which hasn't
588
579
  // been updated?) then lazily calculate it here.
589
- var parts = this.parsedKeys.get(key);
580
+ let parts = this.parsedKeys.get(key);
590
581
  if (parts === undefined) {
591
582
  parts = PushProcessor.partsForDottedKey(key);
592
583
  this.parsedKeys.set(key, parts);
593
584
  }
594
- var val;
585
+ let val;
595
586
 
596
587
  // special-case the first component to deal with encrypted messages
597
- var firstPart = parts[0];
598
- var currentIndex = 0;
588
+ const firstPart = parts[0];
589
+ let currentIndex = 0;
599
590
  if (firstPart === "content") {
600
591
  val = ev.getContent();
601
592
  ++currentIndex;
@@ -612,7 +603,7 @@ export class PushProcessor {
612
603
  if (isNullOrUndefined(val)) {
613
604
  return undefined;
614
605
  }
615
- var thisPart = parts[currentIndex];
606
+ const thisPart = parts[currentIndex];
616
607
  val = val[thisPart];
617
608
  }
618
609
  return val;
@@ -627,11 +618,11 @@ export class PushProcessor {
627
618
  return this.matchingRuleFromKindSet(ev, rulesets.global);
628
619
  }
629
620
  pushActionsForEventAndRulesets(ev, rulesets) {
630
- var rule = this.matchingRuleForEventWithRulesets(ev, rulesets);
621
+ const rule = this.matchingRuleForEventWithRulesets(ev, rulesets);
631
622
  if (!rule) {
632
623
  return {};
633
624
  }
634
- var actionObj = PushProcessor.actionListToActionsObject(rule.actions);
625
+ const actionObj = PushProcessor.actionListToActionsObject(rule.actions);
635
626
 
636
627
  // Some actions are implicit in some situations: we add those here
637
628
  if (actionObj.tweaks.highlight === undefined) {
@@ -645,20 +636,20 @@ export class PushProcessor {
645
636
  };
646
637
  }
647
638
  ruleMatchesEvent(rule, ev) {
648
- var _rule$conditions;
649
639
  // Disable the deprecated mentions push rules if the new mentions property exists.
650
640
  if (this.client.supportsIntentionalMentions() && ev.getContent()["m.mentions"] !== undefined && (rule.rule_id === RuleId.ContainsUserName || rule.rule_id === RuleId.ContainsDisplayName || rule.rule_id === RuleId.AtRoomNotification)) {
651
641
  return false;
652
642
  }
653
- return !((_rule$conditions = rule.conditions) !== null && _rule$conditions !== void 0 && _rule$conditions.some(cond => !this.eventFulfillsCondition(cond, ev)));
643
+ return !rule.conditions?.some(cond => !this.eventFulfillsCondition(cond, ev));
654
644
  }
655
645
 
656
646
  /**
657
647
  * Get the user's push actions for the given event
658
648
  */
659
649
  actionsForEvent(ev) {
660
- var _this$pushActionsForE = this.pushActionsForEventAndRulesets(ev, this.client.pushRules),
661
- actions = _this$pushActionsForE.actions;
650
+ const {
651
+ actions
652
+ } = this.pushActionsForEventAndRulesets(ev, this.client.pushRules);
662
653
  return actions || {};
663
654
  }
664
655
  actionsAndRuleForEvent(ev) {
@@ -672,9 +663,8 @@ export class PushProcessor {
672
663
  * @returns The push rule, or null if no such rule was found
673
664
  */
674
665
  getPushRuleById(ruleId) {
675
- var _result$rule;
676
- var result = this.getPushRuleAndKindById(ruleId);
677
- return (_result$rule = result === null || result === void 0 ? void 0 : result.rule) !== null && _result$rule !== void 0 ? _result$rule : null;
666
+ const result = this.getPushRuleAndKindById(ruleId);
667
+ return result?.rule ?? null;
678
668
  }
679
669
 
680
670
  /**
@@ -685,12 +675,11 @@ export class PushProcessor {
685
675
  * @returns kind - The PushRuleKind of the rule to search for
686
676
  */
687
677
  getPushRuleAndKindById(ruleId) {
688
- for (var scope of ["global"]) {
689
- var _this$client$pushRule;
690
- if (((_this$client$pushRule = this.client.pushRules) === null || _this$client$pushRule === void 0 ? void 0 : _this$client$pushRule[scope]) === undefined) continue;
691
- for (var kind of RULEKINDS_IN_ORDER) {
678
+ for (const scope of ["global"]) {
679
+ if (this.client.pushRules?.[scope] === undefined) continue;
680
+ for (const kind of RULEKINDS_IN_ORDER) {
692
681
  if (this.client.pushRules[scope][kind] === undefined) continue;
693
- for (var rule of this.client.pushRules[scope][kind]) {
682
+ for (const rule of this.client.pushRules[scope][kind]) {
694
683
  if (rule.rule_id === ruleId) return {
695
684
  rule,
696
685
  kind