@signalapp/ringrtc 2.65.2 → 2.66.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/dist/acknowledgments.md +36 -4
- package/dist/ringrtc/Service.d.ts +12 -5
- package/dist/ringrtc/Service.js +13 -5
- package/package.json +4 -4
package/dist/acknowledgments.md
CHANGED
|
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
|
|
|
669
669
|
|
|
670
670
|
```
|
|
671
671
|
|
|
672
|
-
## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.
|
|
672
|
+
## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.66.0, protobuf 2.66.0, ringrtc 2.66.0, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0
|
|
673
673
|
|
|
674
674
|
```
|
|
675
675
|
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
@@ -1531,7 +1531,7 @@ limitations under the License.
|
|
|
1531
1531
|
|
|
1532
1532
|
```
|
|
1533
1533
|
|
|
1534
|
-
## hax-lib-macros 0.3.
|
|
1534
|
+
## hax-lib-macros 0.3.6, hax-lib 0.3.6, libcrux-intrinsics 0.0.5, libcrux-platform 0.0.3, libcrux-secrets 0.0.5, libcrux-sha3 0.0.6, libcrux-traits 0.0.5
|
|
1535
1535
|
|
|
1536
1536
|
```
|
|
1537
1537
|
Apache License
|
|
@@ -2681,7 +2681,7 @@ DEALINGS IN THE SOFTWARE.
|
|
|
2681
2681
|
|
|
2682
2682
|
```
|
|
2683
2683
|
|
|
2684
|
-
## bytes 1.11.
|
|
2684
|
+
## bytes 1.11.1
|
|
2685
2685
|
|
|
2686
2686
|
```
|
|
2687
2687
|
Copyright (c) 2018 Carl Lerche
|
|
@@ -2869,6 +2869,38 @@ DEALINGS IN THE SOFTWARE.
|
|
|
2869
2869
|
|
|
2870
2870
|
```
|
|
2871
2871
|
|
|
2872
|
+
## hex-literal 1.1.0
|
|
2873
|
+
|
|
2874
|
+
```
|
|
2875
|
+
Copyright (c) 2018-2025 The RustCrypto Project Developers
|
|
2876
|
+
Copyright (c) 2018 Artyom Pavlov
|
|
2877
|
+
|
|
2878
|
+
Permission is hereby granted, free of charge, to any
|
|
2879
|
+
person obtaining a copy of this software and associated
|
|
2880
|
+
documentation files (the "Software"), to deal in the
|
|
2881
|
+
Software without restriction, including without
|
|
2882
|
+
limitation the rights to use, copy, modify, merge,
|
|
2883
|
+
publish, distribute, sublicense, and/or sell copies of
|
|
2884
|
+
the Software, and to permit persons to whom the Software
|
|
2885
|
+
is furnished to do so, subject to the following
|
|
2886
|
+
conditions:
|
|
2887
|
+
|
|
2888
|
+
The above copyright notice and this permission notice
|
|
2889
|
+
shall be included in all copies or substantial portions
|
|
2890
|
+
of the Software.
|
|
2891
|
+
|
|
2892
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|
2893
|
+
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
|
2894
|
+
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
2895
|
+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
|
2896
|
+
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
2897
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
2898
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|
2899
|
+
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
2900
|
+
DEALINGS IN THE SOFTWARE.
|
|
2901
|
+
|
|
2902
|
+
```
|
|
2903
|
+
|
|
2872
2904
|
## getrandom 0.3.4
|
|
2873
2905
|
|
|
2874
2906
|
```
|
|
@@ -4109,7 +4141,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
4109
4141
|
SOFTWARE.
|
|
4110
4142
|
```
|
|
4111
4143
|
|
|
4112
|
-
## hpke-rs-crypto 0.
|
|
4144
|
+
## hpke-rs-crypto 0.6.0, hpke-rs 0.6.0
|
|
4113
4145
|
|
|
4114
4146
|
```
|
|
4115
4147
|
Mozilla Public License Version 2.0
|
|
@@ -114,6 +114,11 @@ export declare class RingRTCType {
|
|
|
114
114
|
constructor();
|
|
115
115
|
setConfig(config: Config): void;
|
|
116
116
|
setSelfUuid(uuid: Uint8Array): void;
|
|
117
|
+
addAsset(assetGroup: string, asset: {
|
|
118
|
+
filePath: string;
|
|
119
|
+
} | {
|
|
120
|
+
content: Uint8Array;
|
|
121
|
+
}): void;
|
|
117
122
|
startOutgoingCall(remoteUserId: UserId, isVideoCall: boolean, localDeviceId: DeviceId): Call;
|
|
118
123
|
cancelGroupRing(groupId: GroupId, ringId: bigint, reason: RingCancelReason | null): void;
|
|
119
124
|
onStartOutgoingCall(remoteUserId: UserId, callId: CallId): void;
|
|
@@ -233,8 +238,8 @@ export declare class RingRTCType {
|
|
|
233
238
|
deleteCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, adminPasskey: Uint8Array): Promise<HttpResult<undefined>>;
|
|
234
239
|
receivedHttpResponse(requestId: number, status: number, body: Uint8Array): void;
|
|
235
240
|
httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
|
|
236
|
-
getGroupCall(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
237
|
-
getCallLinkCall(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
241
|
+
getGroupCall(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
242
|
+
getCallLinkCall(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
238
243
|
peekGroupCall(sfuUrl: string, membershipProof: Uint8Array, groupMembers: Array<GroupMemberInfo>): Promise<PeekInfo>;
|
|
239
244
|
setMicrophoneWarmupEnabled(warmup: boolean): void;
|
|
240
245
|
peekCallLinkCall(sfuUrl: string, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey): Promise<HttpResult<PeekInfo>>;
|
|
@@ -300,6 +305,7 @@ export interface CallSettings {
|
|
|
300
305
|
hideIp: boolean;
|
|
301
306
|
dataMode: DataMode;
|
|
302
307
|
audioLevelsIntervalMillis?: number;
|
|
308
|
+
dredDuration?: number;
|
|
303
309
|
}
|
|
304
310
|
interface IceServer {
|
|
305
311
|
username?: string;
|
|
@@ -643,8 +649,9 @@ export declare enum RingCancelReason {
|
|
|
643
649
|
export interface CallManager {
|
|
644
650
|
setConfig(config: Config): void;
|
|
645
651
|
setSelfUuid(uuid: Uint8Array): void;
|
|
652
|
+
addAsset(assetGroup: string, filePath: string | null, content: Uint8Array | null): void;
|
|
646
653
|
createOutgoingCall(remoteUserId: UserId, isVideoCall: boolean, localDeviceId: DeviceId): CallId;
|
|
647
|
-
proceed(callId: CallId, iceServers: Array<IceServer>, hideIp: boolean, dataMode: DataMode, audioLevelsIntervalMillis: number): void;
|
|
654
|
+
proceed(callId: CallId, iceServers: Array<IceServer>, hideIp: boolean, dataMode: DataMode, audioLevelsIntervalMillis: number, dredDuration: number): void;
|
|
648
655
|
accept(callId: CallId): void;
|
|
649
656
|
ignore(callId: CallId): void;
|
|
650
657
|
hangup(): void;
|
|
@@ -666,8 +673,8 @@ export interface CallManager {
|
|
|
666
673
|
receivedCallMessage(remoteUserId: Uint8Array, remoteDeviceId: DeviceId, localDeviceId: DeviceId, data: Uint8Array, messageAgeSec: number): void;
|
|
667
674
|
receivedHttpResponse(requestId: number, status: number, body: Uint8Array): void;
|
|
668
675
|
httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
|
|
669
|
-
createGroupCallClient(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number): GroupCallClientId;
|
|
670
|
-
createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number): GroupCallClientId;
|
|
676
|
+
createGroupCallClient(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number, dredDuration: number): GroupCallClientId;
|
|
677
|
+
createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number, dredDuration: number): GroupCallClientId;
|
|
671
678
|
deleteGroupCallClient(clientId: GroupCallClientId): void;
|
|
672
679
|
connect(clientId: GroupCallClientId): void;
|
|
673
680
|
join(clientId: GroupCallClientId): void;
|
package/dist/ringrtc/Service.js
CHANGED
|
@@ -38,6 +38,7 @@ class NativeCallManager {
|
|
|
38
38
|
'RingRTC-PruneTurnPorts': 'Enabled',
|
|
39
39
|
'WebRTC-Bwe-ProbingConfiguration': 'skip_if_est_larger_than_fraction_of_max:0.99',
|
|
40
40
|
'WebRTC-IncreaseIceCandidatePriorityHostSrflx': 'Enabled',
|
|
41
|
+
'WebRTC-Audio-OpusGeneratePlc': 'Enabled',
|
|
41
42
|
}, config.field_trials);
|
|
42
43
|
/* eslint-disable prefer-template */
|
|
43
44
|
const fieldTrialsString = Object.entries(fieldTrials)
|
|
@@ -61,6 +62,7 @@ class NativeCallManager {
|
|
|
61
62
|
// Mirror methods onto NativeCallManager.
|
|
62
63
|
// This is done through direct assignment rather than wrapper methods to avoid indirection.
|
|
63
64
|
NativeCallManager.prototype.setSelfUuid = Native_1.default.cm_setSelfUuid;
|
|
65
|
+
NativeCallManager.prototype.addAsset = Native_1.default.cm_addAsset;
|
|
64
66
|
NativeCallManager.prototype.createOutgoingCall =
|
|
65
67
|
Native_1.default.cm_createOutgoingCall;
|
|
66
68
|
NativeCallManager.prototype.proceed = Native_1.default.cm_proceed;
|
|
@@ -301,6 +303,12 @@ class RingRTCType {
|
|
|
301
303
|
this.callManager.setSelfUuid(uuid);
|
|
302
304
|
}
|
|
303
305
|
// Called by UX
|
|
306
|
+
addAsset(assetGroup, asset) {
|
|
307
|
+
const filePath = 'filePath' in asset ? asset.filePath : null;
|
|
308
|
+
const content = 'content' in asset ? asset.content : null;
|
|
309
|
+
this.callManager.addAsset(assetGroup, filePath, content);
|
|
310
|
+
}
|
|
311
|
+
// Called by UX
|
|
304
312
|
startOutgoingCall(remoteUserId, isVideoCall, localDeviceId) {
|
|
305
313
|
const callId = this.callManager.createOutgoingCall(remoteUserId, isVideoCall, localDeviceId);
|
|
306
314
|
const isIncoming = false;
|
|
@@ -393,7 +401,7 @@ class RingRTCType {
|
|
|
393
401
|
}
|
|
394
402
|
proceed(callId, settings) {
|
|
395
403
|
sillyDeadlockProtection(() => {
|
|
396
|
-
this.callManager.proceed(callId, settings.iceServers, settings.hideIp, settings.dataMode, settings.audioLevelsIntervalMillis || 0);
|
|
404
|
+
this.callManager.proceed(callId, settings.iceServers, settings.hideIp, settings.dataMode, settings.audioLevelsIntervalMillis || 0, settings.dredDuration ?? 0);
|
|
397
405
|
});
|
|
398
406
|
}
|
|
399
407
|
// Called by Rust
|
|
@@ -726,8 +734,8 @@ class RingRTCType {
|
|
|
726
734
|
}
|
|
727
735
|
// Group Calls
|
|
728
736
|
// Called by UX
|
|
729
|
-
getGroupCall(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis, observer) {
|
|
730
|
-
const clientId = this.callManager.createGroupCallClient(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis
|
|
737
|
+
getGroupCall(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, observer) {
|
|
738
|
+
const clientId = this.callManager.createGroupCallClient(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis ?? 0, dredDuration ?? 0);
|
|
731
739
|
if (clientId === INVALID_CLIENT_ID) {
|
|
732
740
|
// Return undefined since the group call client creation failed.
|
|
733
741
|
return undefined;
|
|
@@ -737,8 +745,8 @@ class RingRTCType {
|
|
|
737
745
|
return groupCall;
|
|
738
746
|
}
|
|
739
747
|
// Called by UX
|
|
740
|
-
getCallLinkCall(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, observer) {
|
|
741
|
-
const clientId = this.callManager.createCallLinkCallClient(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey.bytes, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0);
|
|
748
|
+
getCallLinkCall(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, observer) {
|
|
749
|
+
const clientId = this.callManager.createCallLinkCallClient(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey.bytes, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0, dredDuration ?? 0);
|
|
742
750
|
if (clientId === INVALID_CLIENT_ID) {
|
|
743
751
|
// Return undefined since the call link client creation failed.
|
|
744
752
|
return undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalapp/ringrtc",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.66.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/signalapp/ringrtc.git",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"config": {
|
|
35
35
|
"prebuildUrl": "https://build-artifacts.signal.org/libraries/ringrtc-desktop-build-v${npm_package_version}.tar.gz",
|
|
36
|
-
"prebuildChecksum": "
|
|
36
|
+
"prebuildChecksum": "b2302bbb458747a5475bca520b0e0c6bcb7ed487b2370dea9e6ed4bc541c0984"
|
|
37
37
|
},
|
|
38
38
|
"author": "",
|
|
39
39
|
"license": "AGPL-3.0-only",
|
|
@@ -58,9 +58,9 @@
|
|
|
58
58
|
"eslint-plugin-import": "2.29.0",
|
|
59
59
|
"eslint-plugin-mocha": "10.2.0",
|
|
60
60
|
"eslint-plugin-more": "1.0.5",
|
|
61
|
-
"lodash": "4.17.
|
|
61
|
+
"lodash": "4.17.23",
|
|
62
62
|
"long": "5.3.2",
|
|
63
|
-
"mocha": "11.
|
|
63
|
+
"mocha": "11.3.0",
|
|
64
64
|
"prettier": "3.7.4",
|
|
65
65
|
"rimraf": "6.1.2",
|
|
66
66
|
"sinon": "^21.0.1",
|