matrix-js-sdk 42.0.0 → 42.1.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 (226) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/lib/@types/PushRules.d.ts.map +1 -1
  3. package/lib/@types/PushRules.js +0 -5
  4. package/lib/@types/PushRules.js.map +1 -1
  5. package/lib/@types/auth.d.ts.map +1 -1
  6. package/lib/@types/auth.js +0 -5
  7. package/lib/@types/auth.js.map +1 -1
  8. package/lib/@types/crypto.d.ts.map +1 -1
  9. package/lib/@types/crypto.js.map +1 -1
  10. package/lib/@types/event.d.ts +3 -1
  11. package/lib/@types/event.d.ts.map +1 -1
  12. package/lib/@types/event.js +1 -0
  13. package/lib/@types/event.js.map +1 -1
  14. package/lib/@types/extensible_events.js.map +1 -1
  15. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -1
  16. package/lib/@types/media.js.map +1 -1
  17. package/lib/@types/partials.d.ts.map +1 -1
  18. package/lib/@types/partials.js.map +1 -1
  19. package/lib/@types/requests.d.ts.map +1 -1
  20. package/lib/@types/requests.js +0 -5
  21. package/lib/@types/requests.js.map +1 -1
  22. package/lib/@types/search.d.ts.map +1 -1
  23. package/lib/@types/search.js +0 -3
  24. package/lib/@types/search.js.map +1 -1
  25. package/lib/@types/spaces.d.ts.map +1 -1
  26. package/lib/@types/spaces.js.map +1 -1
  27. package/lib/@types/synapse.d.ts.map +1 -1
  28. package/lib/@types/synapse.js.map +1 -1
  29. package/lib/@types/threepids.js.map +1 -1
  30. package/lib/ToDeviceMessageQueue.d.ts.map +1 -1
  31. package/lib/ToDeviceMessageQueue.js +0 -2
  32. package/lib/ToDeviceMessageQueue.js.map +1 -1
  33. package/lib/browser-index.d.ts.map +1 -1
  34. package/lib/browser-index.js +3 -1
  35. package/lib/browser-index.js.map +1 -1
  36. package/lib/client.d.ts +5 -8
  37. package/lib/client.d.ts.map +1 -1
  38. package/lib/client.js +5 -46
  39. package/lib/client.js.map +1 -1
  40. package/lib/common-crypto/key-passphrase.d.ts.map +1 -1
  41. package/lib/common-crypto/key-passphrase.js +0 -3
  42. package/lib/common-crypto/key-passphrase.js.map +1 -1
  43. package/lib/crypto/store/base.d.ts.map +1 -1
  44. package/lib/crypto/store/base.js +0 -9
  45. package/lib/crypto/store/base.js.map +1 -1
  46. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  47. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -1
  48. package/lib/crypto/store/localStorage-crypto-store.js +0 -2
  49. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  50. package/lib/crypto-api/keybackup.d.ts +13 -6
  51. package/lib/crypto-api/keybackup.d.ts.map +1 -1
  52. package/lib/crypto-api/keybackup.js.map +1 -1
  53. package/lib/embedded.d.ts.map +1 -1
  54. package/lib/embedded.js +0 -5
  55. package/lib/embedded.js.map +1 -1
  56. package/lib/feature.d.ts.map +1 -1
  57. package/lib/feature.js +0 -3
  58. package/lib/feature.js.map +1 -1
  59. package/lib/filter-component.d.ts.map +1 -1
  60. package/lib/filter-component.js +2 -5
  61. package/lib/filter-component.js.map +1 -1
  62. package/lib/filter.d.ts.map +1 -1
  63. package/lib/filter.js +0 -4
  64. package/lib/filter.js.map +1 -1
  65. package/lib/http-api/interface.d.ts.map +1 -1
  66. package/lib/http-api/interface.js.map +1 -1
  67. package/lib/http-api/refresh.d.ts.map +1 -1
  68. package/lib/http-api/refresh.js +0 -3
  69. package/lib/http-api/refresh.js.map +1 -1
  70. package/lib/interactive-auth.d.ts.map +1 -1
  71. package/lib/interactive-auth.js +5 -6
  72. package/lib/interactive-auth.js.map +1 -1
  73. package/lib/logger.d.ts.map +1 -1
  74. package/lib/logger.js +0 -2
  75. package/lib/logger.js.map +1 -1
  76. package/lib/matrixrtc/CallMembership.d.ts +3 -3
  77. package/lib/matrixrtc/CallMembership.js +5 -5
  78. package/lib/matrixrtc/CallMembership.js.map +1 -1
  79. package/lib/matrixrtc/MatrixRTCSession.d.ts +18 -1
  80. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  81. package/lib/matrixrtc/MatrixRTCSession.js +56 -4
  82. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  83. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +14 -1
  84. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -1
  85. package/lib/matrixrtc/MatrixRTCSessionManager.js +20 -1
  86. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  87. package/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
  88. package/lib/matrixrtc/MembershipManager.js +9 -6
  89. package/lib/matrixrtc/MembershipManager.js.map +1 -1
  90. package/lib/matrixrtc/index.d.ts +1 -1
  91. package/lib/matrixrtc/index.d.ts.map +1 -1
  92. package/lib/matrixrtc/index.js +1 -1
  93. package/lib/matrixrtc/index.js.map +1 -1
  94. package/lib/matrixrtc/membershipData/rtc.d.ts +6 -3
  95. package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -1
  96. package/lib/matrixrtc/membershipData/rtc.js +7 -4
  97. package/lib/matrixrtc/membershipData/rtc.js.map +1 -1
  98. package/lib/matrixrtc/types.d.ts +19 -6
  99. package/lib/matrixrtc/types.d.ts.map +1 -1
  100. package/lib/matrixrtc/types.js +11 -1
  101. package/lib/matrixrtc/types.js.map +1 -1
  102. package/lib/models/event.d.ts.map +1 -1
  103. package/lib/models/event.js +0 -6
  104. package/lib/models/event.js.map +1 -1
  105. package/lib/models/room-state.d.ts.map +1 -1
  106. package/lib/models/room-state.js.map +1 -1
  107. package/lib/models/room.d.ts.map +1 -1
  108. package/lib/models/room.js +6 -6
  109. package/lib/models/room.js.map +1 -1
  110. package/lib/models/thread.d.ts +2 -2
  111. package/lib/models/thread.d.ts.map +1 -1
  112. package/lib/models/thread.js.map +1 -1
  113. package/lib/realtime-callbacks.js +0 -1
  114. package/lib/realtime-callbacks.js.map +1 -1
  115. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -1
  116. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -1
  117. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  118. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -1
  119. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -2
  120. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  121. package/lib/rust-crypto/backup.d.ts +21 -1
  122. package/lib/rust-crypto/backup.d.ts.map +1 -1
  123. package/lib/rust-crypto/backup.js +62 -21
  124. package/lib/rust-crypto/backup.js.map +1 -1
  125. package/lib/rust-crypto/device-converter.d.ts.map +1 -1
  126. package/lib/rust-crypto/device-converter.js +1 -0
  127. package/lib/rust-crypto/device-converter.js.map +1 -1
  128. package/lib/rust-crypto/index.d.ts +7 -0
  129. package/lib/rust-crypto/index.d.ts.map +1 -1
  130. package/lib/rust-crypto/index.js +3 -3
  131. package/lib/rust-crypto/index.js.map +1 -1
  132. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -1
  133. package/lib/rust-crypto/libolm_migration.js +0 -2
  134. package/lib/rust-crypto/libolm_migration.js.map +1 -1
  135. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  136. package/lib/rust-crypto/rust-crypto.js +0 -3
  137. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  138. package/lib/scheduler.d.ts.map +1 -1
  139. package/lib/scheduler.js +0 -3
  140. package/lib/scheduler.js.map +1 -1
  141. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  142. package/lib/sliding-sync-sdk.js +6 -0
  143. package/lib/sliding-sync-sdk.js.map +1 -1
  144. package/lib/sliding-sync.d.ts.map +1 -1
  145. package/lib/sliding-sync.js +3 -0
  146. package/lib/sliding-sync.js.map +1 -1
  147. package/lib/store/indexeddb.d.ts.map +1 -1
  148. package/lib/store/indexeddb.js +0 -2
  149. package/lib/store/indexeddb.js.map +1 -1
  150. package/lib/store/memory.d.ts.map +1 -1
  151. package/lib/store/memory.js +7 -9
  152. package/lib/store/memory.js.map +1 -1
  153. package/lib/sync-accumulator.d.ts.map +1 -1
  154. package/lib/sync-accumulator.js +1 -5
  155. package/lib/sync-accumulator.js.map +1 -1
  156. package/lib/sync.d.ts.map +1 -1
  157. package/lib/sync.js +1 -1
  158. package/lib/sync.js.map +1 -1
  159. package/lib/timeline-window.d.ts.map +1 -1
  160. package/lib/timeline-window.js +0 -1
  161. package/lib/timeline-window.js.map +1 -1
  162. package/lib/utils/internal/deriveKeys.d.ts.map +1 -1
  163. package/lib/utils/internal/deriveKeys.js +0 -1
  164. package/lib/utils/internal/deriveKeys.js.map +1 -1
  165. package/lib/webrtc/callEventTypes.d.ts.map +1 -1
  166. package/lib/webrtc/callEventTypes.js +0 -5
  167. package/lib/webrtc/callEventTypes.js.map +1 -1
  168. package/package.json +5 -5
  169. package/src/@types/PushRules.ts +0 -5
  170. package/src/@types/auth.ts +0 -6
  171. package/src/@types/crypto.ts +2 -6
  172. package/src/@types/event.ts +3 -0
  173. package/src/@types/extensible_events.ts +4 -4
  174. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -1
  175. package/src/@types/media.ts +1 -1
  176. package/src/@types/partials.ts +0 -2
  177. package/src/@types/requests.ts +0 -5
  178. package/src/@types/search.ts +0 -2
  179. package/src/@types/spaces.ts +0 -2
  180. package/src/@types/synapse.ts +0 -2
  181. package/src/@types/threepids.ts +2 -2
  182. package/src/ToDeviceMessageQueue.ts +0 -2
  183. package/src/browser-index.ts +3 -3
  184. package/src/client.ts +18 -61
  185. package/src/common-crypto/key-passphrase.ts +0 -1
  186. package/src/crypto/store/base.ts +1 -8
  187. package/src/crypto/store/indexeddb-crypto-store-backend.ts +1 -1
  188. package/src/crypto/store/localStorage-crypto-store.ts +0 -1
  189. package/src/crypto-api/keybackup.ts +14 -7
  190. package/src/embedded.ts +0 -5
  191. package/src/feature.ts +0 -3
  192. package/src/filter-component.ts +1 -2
  193. package/src/filter.ts +0 -3
  194. package/src/http-api/interface.ts +0 -1
  195. package/src/http-api/refresh.ts +0 -1
  196. package/src/interactive-auth.ts +4 -4
  197. package/src/logger.ts +0 -2
  198. package/src/matrixrtc/CallMembership.ts +5 -5
  199. package/src/matrixrtc/MatrixRTCSession.ts +70 -3
  200. package/src/matrixrtc/MatrixRTCSessionManager.ts +21 -2
  201. package/src/matrixrtc/MembershipManager.ts +8 -5
  202. package/src/matrixrtc/index.ts +1 -1
  203. package/src/matrixrtc/membershipData/rtc.ts +18 -7
  204. package/src/matrixrtc/types.ts +24 -7
  205. package/src/models/event.ts +0 -3
  206. package/src/models/room-state.ts +0 -3
  207. package/src/models/room.ts +6 -6
  208. package/src/models/thread.ts +2 -2
  209. package/src/realtime-callbacks.ts +0 -1
  210. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -1
  211. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -1
  212. package/src/rust-crypto/backup.ts +66 -28
  213. package/src/rust-crypto/device-converter.ts +1 -0
  214. package/src/rust-crypto/index.ts +11 -0
  215. package/src/rust-crypto/libolm_migration.ts +0 -2
  216. package/src/rust-crypto/rust-crypto.ts +0 -3
  217. package/src/scheduler.ts +0 -3
  218. package/src/sliding-sync-sdk.ts +3 -0
  219. package/src/sliding-sync.ts +2 -0
  220. package/src/store/indexeddb.ts +0 -2
  221. package/src/store/memory.ts +7 -9
  222. package/src/sync-accumulator.ts +1 -3
  223. package/src/sync.ts +1 -3
  224. package/src/timeline-window.ts +0 -1
  225. package/src/utils/internal/deriveKeys.ts +0 -1
  226. package/src/webrtc/callEventTypes.ts +0 -5
package/src/scheduler.ts CHANGED
@@ -40,14 +40,12 @@ interface IQueueEntry<T> {
40
40
  */
41
41
  type ProcessFunction<T> = (event: MatrixEvent) => Promise<T>;
42
42
 
43
- // eslint-disable-next-line camelcase
44
43
  export class MatrixScheduler<T = ISendEventResponse> {
45
44
  /**
46
45
  * Default retry algorithm for the matrix scheduler. Retries events up to 4 times with exponential backoff.
47
46
  * @param attempts - Number of attempts that have been made, including the one that just failed (ie. starting at 1)
48
47
  * @see retryAlgorithm
49
48
  */
50
- // eslint-disable-next-line @typescript-eslint/naming-convention
51
49
  public static RETRY_BACKOFF_RATELIMIT(event: MatrixEvent | null, attempts: number, err: MatrixError): number {
52
50
  return calculateRetryBackoff(err, attempts, false);
53
51
  }
@@ -57,7 +55,6 @@ export class MatrixScheduler<T = ISendEventResponse> {
57
55
  * concurrently.
58
56
  * @see queueAlgorithm
59
57
  */
60
- // eslint-disable-next-line @typescript-eslint/naming-convention
61
58
  public static QUEUE_MESSAGES(event: MatrixEvent): string | null {
62
59
  // enqueue messages or events that associate with another event (redactions and relations)
63
60
  if (event.getType() === EventType.RoomMessage || event.hasAssociation()) {
@@ -199,6 +199,7 @@ class ExtensionAccountData implements Extension<ExtensionAccountDataRequest, Ext
199
199
  this.processGlobalAccountData(data.global);
200
200
  }
201
201
 
202
+ // oxlint-disable-next-line guard-for-in
202
203
  for (const roomId in data.rooms) {
203
204
  const accountDataEvents = mapEvents(this.client, roomId, data.rooms[roomId]);
204
205
  const room = this.client.getRoom(roomId);
@@ -266,6 +267,7 @@ class ExtensionTyping implements Extension<ExtensionTypingRequest, ExtensionTypi
266
267
  return;
267
268
  }
268
269
 
270
+ // oxlint-disable-next-line guard-for-in
269
271
  for (const roomId in data.rooms) {
270
272
  processEphemeralEvents(this.client, roomId, [data.rooms[roomId]]);
271
273
  }
@@ -302,6 +304,7 @@ class ExtensionReceipts implements Extension<ExtensionReceiptsRequest, Extension
302
304
  return;
303
305
  }
304
306
 
307
+ // oxlint-disable-next-line guard-for-in
305
308
  for (const roomId in data.rooms) {
306
309
  processEphemeralEvents(this.client, roomId, [data.rooms[roomId]]);
307
310
  }
@@ -479,6 +479,7 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
479
479
 
480
480
  private async getExtensionRequest(isInitial: boolean): Promise<Record<string, object | undefined>> {
481
481
  const ext: Record<string, object | undefined> = {};
482
+ // oxlint-disable-next-line guard-for-in
482
483
  for (const extName in this.extensions) {
483
484
  ext[extName] = await this.extensions[extName].onRequest(isInitial);
484
485
  }
@@ -655,6 +656,7 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
655
656
  }
656
657
  await this.onPreExtensionsResponse(resp.extensions);
657
658
 
659
+ // oxlint-disable-next-line guard-for-in
658
660
  for (const roomId in resp.rooms) {
659
661
  await this.invokeRoomDataListeners(roomId, resp!.rooms[roomId]);
660
662
  }
@@ -14,8 +14,6 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- /* eslint-disable @babel/no-invalid-this */
18
-
19
17
  import { MemoryStore, type IOpts as IBaseOpts } from "./memory.ts";
20
18
  import { LocalIndexedDBStoreBackend } from "./indexeddb-local-backend.ts";
21
19
  import { RemoteIndexedDBStoreBackend } from "./indexeddb-remote-backend.ts";
@@ -259,7 +259,9 @@ export class MemoryStore implements IStore {
259
259
  if (isValidFilterId(value)) {
260
260
  return value;
261
261
  }
262
- } catch {}
262
+ } catch {
263
+ // Do nothing
264
+ }
263
265
  return null;
264
266
  }
265
267
 
@@ -277,7 +279,9 @@ export class MemoryStore implements IStore {
277
279
  } else {
278
280
  this.localStorage.removeItem(key);
279
281
  }
280
- } catch {}
282
+ } catch {
283
+ // Do nothing
284
+ }
281
285
  }
282
286
 
283
287
  /**
@@ -288,13 +292,7 @@ export class MemoryStore implements IStore {
288
292
  */
289
293
  public storeAccountDataEvents(events: MatrixEvent[]): void {
290
294
  events.forEach((event) => {
291
- // MSC3391: an event with content of {} should be interpreted as deleted
292
- const isDeleted = !Object.keys(event.getContent()).length;
293
- if (isDeleted) {
294
- this.accountData.delete(event.getType());
295
- } else {
296
- this.accountData.set(event.getType(), event);
297
- }
295
+ this.accountData.set(event.getType(), event);
298
296
  });
299
297
  }
300
298
 
@@ -54,7 +54,6 @@ export interface IEphemeral {
54
54
  events: IMinimalEvent[];
55
55
  }
56
56
 
57
- /* eslint-disable camelcase */
58
57
  interface UnreadNotificationCounts {
59
58
  highlight_count?: number;
60
59
  notification_count?: number;
@@ -210,7 +209,6 @@ export interface ISyncResponse {
210
209
  "device_unused_fallback_key_types"?: string[];
211
210
  "org.matrix.msc2732.device_unused_fallback_key_types"?: string[];
212
211
  }
213
- /* eslint-enable camelcase */
214
212
 
215
213
  export enum Category {
216
214
  Invite = "invite",
@@ -607,7 +605,7 @@ export class SyncAccumulator {
607
605
  for (let i = startIndex; i < currentData._timeline.length; i++) {
608
606
  if (currentData._timeline[i].token) {
609
607
  // keep all events after this, including this one
610
- currentData._timeline = currentData._timeline.slice(i, currentData._timeline.length);
608
+ currentData._timeline = currentData._timeline.slice(i);
611
609
  break;
612
610
  }
613
611
  }
package/src/sync.ts CHANGED
@@ -170,9 +170,7 @@ interface ISyncParams {
170
170
  "filter"?: string;
171
171
  "timeout": number;
172
172
  "since"?: string;
173
- // eslint-disable-next-line camelcase
174
173
  "full_state"?: boolean;
175
- // eslint-disable-next-line camelcase
176
174
  "set_presence"?: SetPresence;
177
175
  "_cacheBuster"?: string | number; // not part of the API itself
178
176
  "org.matrix.msc4222.use_state_after"?: boolean; // https://github.com/matrix-org/matrix-spec-proposals/pull/4222
@@ -1764,7 +1762,7 @@ export class SyncApi {
1764
1762
  // fire listeners
1765
1763
  member.setMembershipEvent(inviteEvent, room.currentState);
1766
1764
  },
1767
- function (err) {
1765
+ function () {
1768
1766
  // OH WELL.
1769
1767
  },
1770
1768
  );
@@ -394,7 +394,6 @@ export class TimelineWindow {
394
394
  // iterate through each timeline between this.start and this.end
395
395
  // (inclusive).
396
396
  let timeline: EventTimeline | null = this.start.timeline;
397
- // eslint-disable-next-line no-constant-condition
398
397
  while (timeline) {
399
398
  const events = timeline.getEvents();
400
399
 
@@ -31,7 +31,6 @@ export async function deriveKeys(key: Uint8Array<ArrayBuffer>, name: string): Pr
31
31
  {
32
32
  name: "HKDF",
33
33
  salt: zeroSalt,
34
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
35
34
  // @ts-ignore: https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/879
36
35
  info: new TextEncoder().encode(name),
37
36
  hash: "SHA-256",
@@ -1,6 +1,3 @@
1
- // allow non-camelcase as these are events type that go onto the wire
2
- /* eslint-disable camelcase */
3
-
4
1
  import { type CallErrorCode } from "./call.ts";
5
2
  import { NamespacedValue } from "../NamespacedValue.ts";
6
3
 
@@ -97,5 +94,3 @@ export interface MCallCandidates extends MCallBase {
97
94
  export interface MCallHangupReject extends MCallBase {
98
95
  reason?: CallErrorCode;
99
96
  }
100
-
101
- /* eslint-enable camelcase */