matrix-js-sdk 41.0.0 → 41.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.
- package/CHANGELOG.md +8 -0
- package/lib/@types/event.d.ts +1 -1
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +1 -1
- package/lib/@types/event.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +250 -246
- package/lib/client.js.map +1 -1
- package/lib/crypto-api/index.d.ts +13 -2
- package/lib/crypto-api/index.d.ts.map +1 -1
- package/lib/crypto-api/index.js +11 -0
- package/lib/crypto-api/index.js.map +1 -1
- package/lib/logger.d.ts +5 -5
- package/lib/logger.d.ts.map +1 -1
- package/lib/logger.js.map +1 -1
- package/lib/matrixrtc/CallMembership.d.ts +49 -145
- package/lib/matrixrtc/CallMembership.d.ts.map +1 -1
- package/lib/matrixrtc/CallMembership.js +157 -265
- package/lib/matrixrtc/CallMembership.js.map +1 -1
- package/lib/matrixrtc/EncryptionManager.d.ts +1 -85
- package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -1
- package/lib/matrixrtc/EncryptionManager.js +0 -317
- package/lib/matrixrtc/EncryptionManager.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSession.d.ts +18 -22
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/lib/matrixrtc/MatrixRTCSession.js +48 -76
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +2 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.js +3 -2
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManager.d.ts +10 -4
- package/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
- package/lib/matrixrtc/MembershipManager.js +10 -4
- package/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/lib/matrixrtc/RTCEncryptionManager.d.ts +6 -7
- package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -1
- package/lib/matrixrtc/RTCEncryptionManager.js +4 -7
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/lib/matrixrtc/index.d.ts +1 -0
- package/lib/matrixrtc/index.d.ts.map +1 -1
- package/lib/matrixrtc/index.js.map +1 -1
- package/lib/matrixrtc/membershipData/common.d.ts +8 -0
- package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/common.js +26 -0
- package/lib/matrixrtc/membershipData/common.js.map +1 -0
- package/lib/matrixrtc/membershipData/index.d.ts +4 -0
- package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/index.js +20 -0
- package/lib/matrixrtc/membershipData/index.js.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
- package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/rtc.js +137 -0
- package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
- package/lib/matrixrtc/membershipData/session.d.ts +77 -0
- package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
- package/lib/matrixrtc/membershipData/session.js +62 -0
- package/lib/matrixrtc/membershipData/session.js.map +1 -0
- package/lib/matrixrtc/types.d.ts +23 -0
- package/lib/matrixrtc/types.d.ts.map +1 -1
- package/lib/matrixrtc/types.js +9 -1
- package/lib/matrixrtc/types.js.map +1 -1
- package/lib/matrixrtc/utils.d.ts +11 -1
- package/lib/matrixrtc/utils.d.ts.map +1 -1
- package/lib/matrixrtc/utils.js +24 -1
- package/lib/matrixrtc/utils.js.map +1 -1
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
- package/lib/rust-crypto/rust-crypto.js +2 -2
- package/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/package.json +5 -7
- package/src/@types/event.ts +2 -2
- package/src/client.ts +5 -3
- package/src/crypto-api/index.ts +17 -2
- package/src/logger.ts +5 -5
- package/src/matrixrtc/CallMembership.ts +159 -373
- package/src/matrixrtc/EncryptionManager.ts +1 -417
- package/src/matrixrtc/MatrixRTCSession.ts +82 -122
- package/src/matrixrtc/MatrixRTCSessionManager.ts +5 -3
- package/src/matrixrtc/MembershipManager.ts +14 -17
- package/src/matrixrtc/RTCEncryptionManager.ts +7 -10
- package/src/matrixrtc/index.ts +1 -0
- package/src/matrixrtc/membershipData/common.ts +27 -0
- package/src/matrixrtc/membershipData/index.ts +19 -0
- package/src/matrixrtc/membershipData/rtc.ts +156 -0
- package/src/matrixrtc/membershipData/session.ts +146 -0
- package/src/matrixrtc/types.ts +27 -1
- package/src/matrixrtc/utils.ts +24 -2
- package/src/rust-crypto/rust-crypto.ts +4 -1
- package/lib/matrixrtc/RoomKeyTransport.d.ts +0 -25
- package/lib/matrixrtc/RoomKeyTransport.d.ts.map +0 -1
- package/lib/matrixrtc/RoomKeyTransport.js +0 -152
- package/lib/matrixrtc/RoomKeyTransport.js.map +0 -1
- package/src/matrixrtc/RoomKeyTransport.ts +0 -189
package/package.json
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "matrix-js-sdk",
|
|
3
|
-
"version": "41.
|
|
3
|
+
"version": "41.1.0",
|
|
4
4
|
"description": "Matrix Client-Server SDK for Javascript",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
9
|
"prepare": "pnpm build",
|
|
10
|
-
"start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && babel src -w -s -d lib --verbose --extensions \".ts,.js\"",
|
|
11
|
-
"
|
|
12
|
-
"build": "pnpm clean && pnpm build:compile && pnpm build:types",
|
|
10
|
+
"start": "echo THIS IS FOR LEGACY PURPOSES ONLY. && babel --delete-dir-on-start src -w -s -d lib --verbose --extensions \".ts,.js\"",
|
|
11
|
+
"build": "pnpm build:compile && pnpm build:types",
|
|
13
12
|
"build:types": "tsc -p tsconfig-build.json --emitDeclarationOnly",
|
|
14
|
-
"build:compile": "babel -d lib --verbose --extensions \".ts,.js\" src",
|
|
13
|
+
"build:compile": "babel --delete-dir-on-start -d lib --verbose --extensions \".ts,.js\" src",
|
|
15
14
|
"gendoc": "typedoc",
|
|
16
15
|
"lint": "pnpm lint:types && pnpm lint:js && pnpm lint:workflows",
|
|
17
16
|
"lint:js": "eslint --max-warnings 0 src spec && prettier --check .",
|
|
@@ -111,7 +110,6 @@
|
|
|
111
110
|
"lint-staged": "^16.0.0",
|
|
112
111
|
"matrix-mock-request": "^2.5.0",
|
|
113
112
|
"prettier": "3.8.1",
|
|
114
|
-
"rimraf": "^6.0.0",
|
|
115
113
|
"typedoc": "^0.28.1",
|
|
116
114
|
"typedoc-plugin-coverage": "^4.0.0",
|
|
117
115
|
"typedoc-plugin-mdn-links": "^5.0.0",
|
|
@@ -133,5 +131,5 @@
|
|
|
133
131
|
"eslint": "8"
|
|
134
132
|
}
|
|
135
133
|
},
|
|
136
|
-
"packageManager": "pnpm@10.
|
|
134
|
+
"packageManager": "pnpm@10.29.3+sha512.498e1fb4cca5aa06c1dcf2611e6fafc50972ffe7189998c409e90de74566444298ffe43e6cd2acdc775ba1aa7cc5e092a8b7054c811ba8c5770f84693d33d2dc"
|
|
137
135
|
}
|
package/src/@types/event.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Copyright 2020 The Matrix.org Foundation C.I.C.
|
|
2
|
+
Copyright 2020-2026 The Matrix.org Foundation C.I.C.
|
|
3
3
|
|
|
4
4
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
you may not use this file except in compliance with the License.
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
type ICallNotifyContent,
|
|
61
61
|
} from "../matrixrtc/types.ts";
|
|
62
62
|
import { type M_POLL_END, type M_POLL_START, type PollEndEventContent, type PollStartEventContent } from "./polls.ts";
|
|
63
|
-
import { type RtcMembershipData, type SessionMembershipData } from "../matrixrtc/
|
|
63
|
+
import { type RtcMembershipData, type SessionMembershipData } from "../matrixrtc/membershipData/index.ts";
|
|
64
64
|
import { type LocalNotificationSettings } from "./local_notifications.ts";
|
|
65
65
|
import { type IPushRules } from "./PushRules.ts";
|
|
66
66
|
import { type SecretInfo, type SecretStorageKeyDescription } from "../secret-storage.ts";
|
package/src/client.ts
CHANGED
|
@@ -3918,7 +3918,7 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
|
|
|
3918
3918
|
* @returns Rejects: with an error response.
|
|
3919
3919
|
* May return synthesized attributes if the URL lacked OG meta.
|
|
3920
3920
|
*/
|
|
3921
|
-
public getUrlPreview(url: string, ts: number): Promise<IPreviewUrlResponse> {
|
|
3921
|
+
public async getUrlPreview(url: string, ts: number): Promise<IPreviewUrlResponse> {
|
|
3922
3922
|
// bucket the timestamp to the nearest minute to prevent excessive spam to the server
|
|
3923
3923
|
// Surely 60-second accuracy is enough for anyone.
|
|
3924
3924
|
ts = Math.floor(ts / 60000) * 60000;
|
|
@@ -3934,16 +3934,18 @@ export class MatrixClient extends TypedEventEmitter<EmittedEvents, ClientEventHa
|
|
|
3934
3934
|
return this.urlPreviewCache[key];
|
|
3935
3935
|
}
|
|
3936
3936
|
|
|
3937
|
+
const supportsNewEndpoint = await this.isVersionSupported("v1.11");
|
|
3938
|
+
|
|
3937
3939
|
const resp = this.http.authedRequest<IPreviewUrlResponse>(
|
|
3938
3940
|
Method.Get,
|
|
3939
|
-
"/preview_url",
|
|
3941
|
+
supportsNewEndpoint ? "/media/preview_url" : "/preview_url",
|
|
3940
3942
|
{
|
|
3941
3943
|
url,
|
|
3942
3944
|
ts: ts.toString(),
|
|
3943
3945
|
},
|
|
3944
3946
|
undefined,
|
|
3945
3947
|
{
|
|
3946
|
-
prefix: MediaPrefix.V3,
|
|
3948
|
+
prefix: supportsNewEndpoint ? ClientPrefix.V1 : MediaPrefix.V3,
|
|
3947
3949
|
priority: "low",
|
|
3948
3950
|
},
|
|
3949
3951
|
);
|
package/src/crypto-api/index.ts
CHANGED
|
@@ -563,8 +563,11 @@ export interface CryptoApi {
|
|
|
563
563
|
* if they match, stores the key in the crypto store by calling {@link storeSessionBackupPrivateKey},
|
|
564
564
|
* which enables automatic restore of individual keys when an Unable-to-decrypt error is encountered.
|
|
565
565
|
*
|
|
566
|
-
* If
|
|
567
|
-
*
|
|
566
|
+
* If the backup decryption key from secret storage does not match the
|
|
567
|
+
* latest backup on the server, we throw a {@link DecryptionKeyDoesNotMatchError}.
|
|
568
|
+
*
|
|
569
|
+
* If we are unable to fetch the key from secret storage or there is no backup on the server,
|
|
570
|
+
* we throw an exception.
|
|
568
571
|
*/
|
|
569
572
|
loadSessionBackupPrivateKeyFromSecretStorage(): Promise<void>;
|
|
570
573
|
|
|
@@ -1339,6 +1342,18 @@ export interface OlmEncryptionInfo {
|
|
|
1339
1342
|
senderVerified: boolean;
|
|
1340
1343
|
}
|
|
1341
1344
|
|
|
1345
|
+
/**
|
|
1346
|
+
* An error thrown by loadSessionBackupPrivateKeyFromSecretStorage indicating
|
|
1347
|
+
* that the decryption key found in secret storage does not match the public key
|
|
1348
|
+
* of the latest backup.
|
|
1349
|
+
*/
|
|
1350
|
+
export class DecryptionKeyDoesNotMatchError extends Error {
|
|
1351
|
+
public constructor(message: string) {
|
|
1352
|
+
super(message);
|
|
1353
|
+
this.name = "DecryptionKeyDoesNotMatchError";
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1342
1357
|
export * from "./verification.ts";
|
|
1343
1358
|
export type * from "./keybackup.ts";
|
|
1344
1359
|
export * from "./recovery-key.ts";
|
package/src/logger.ts
CHANGED
|
@@ -52,35 +52,35 @@ export interface BaseLogger {
|
|
|
52
52
|
*
|
|
53
53
|
* @param msg - Data to log.
|
|
54
54
|
*/
|
|
55
|
-
trace(...msg: any[]): void;
|
|
55
|
+
trace(this: void, ...msg: any[]): void;
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* Output debug message to the logger.
|
|
59
59
|
*
|
|
60
60
|
* @param msg - Data to log.
|
|
61
61
|
*/
|
|
62
|
-
debug(...msg: any[]): void;
|
|
62
|
+
debug(this: void, ...msg: any[]): void;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Output info message to the logger.
|
|
66
66
|
*
|
|
67
67
|
* @param msg - Data to log.
|
|
68
68
|
*/
|
|
69
|
-
info(...msg: any[]): void;
|
|
69
|
+
info(this: void, ...msg: any[]): void;
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Output warn message to the logger.
|
|
73
73
|
*
|
|
74
74
|
* @param msg - Data to log.
|
|
75
75
|
*/
|
|
76
|
-
warn(...msg: any[]): void;
|
|
76
|
+
warn(this: void, ...msg: any[]): void;
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Output error message to the logger.
|
|
80
80
|
*
|
|
81
81
|
* @param msg - Data to log.
|
|
82
82
|
*/
|
|
83
|
-
error(...msg: any[]): void;
|
|
83
|
+
error(this: void, ...msg: any[]): void;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
// This is to demonstrate, that you can use any namespace you want.
|