@signalapp/ringrtc 2.70.2 → 2.72.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 +601 -197
- package/dist/index.d.ts +1 -1
- package/dist/ringrtc/CallLinks.d.ts +1 -0
- package/dist/ringrtc/CallLinks.js +5 -1
- package/dist/ringrtc/Service.d.ts +20 -5
- package/dist/ringrtc/Service.js +11 -5
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RingRTCType } from './ringrtc/Service';
|
|
2
|
-
export type { AudioDevice, CallId, CallSettings, DeviceId, GroupCallObserver, HttpResult, PeekDeviceInfo, PeekInfo, Reaction, UserId, VideoFrameSender, VideoFrameSource, } from './ringrtc/Service';
|
|
2
|
+
export type { AudioDevice, CallId, CallSettings, DeviceId, GroupCallObserver, GroupCallSvcConfig, HttpResult, PeekDeviceInfo, PeekInfo, Reaction, UserId, VideoFrameSender, VideoFrameSource, } from './ringrtc/Service';
|
|
3
3
|
export { AnswerMessage, DataMode, BusyMessage, Call, CallEndReason, CallLogLevel, CallMessageUrgency, CallRejectReason, CallState, CallingMessage, ConnectionState, GroupCall, GroupCallKind, GroupMemberInfo, HangupMessage, HangupType, HttpMethod, IceCandidateMessage, JoinState, LocalDeviceState, OfferMessage, OfferType, OpaqueMessage, PeekStatusCodes, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, SpeechEvent, VideoPixelFormatEnum, videoPixelFormatToEnum, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
|
|
4
4
|
export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, } from './ringrtc/CallLinks';
|
|
5
5
|
export { CallSummary, QualityStats } from './ringrtc/CallSummary';
|
|
@@ -6,6 +6,7 @@ export declare class CallLinkRootKey {
|
|
|
6
6
|
static generate(): CallLinkRootKey;
|
|
7
7
|
static generateAdminPassKey(): Uint8Array<ArrayBuffer>;
|
|
8
8
|
deriveRoomId(): Uint8Array<ArrayBuffer>;
|
|
9
|
+
toUnredactedString(): string;
|
|
9
10
|
toString(): string;
|
|
10
11
|
}
|
|
11
12
|
export declare class CallLinkState {
|
|
@@ -31,10 +31,14 @@ class CallLinkRootKey {
|
|
|
31
31
|
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
32
32
|
return Native_1.default.CallLinkRootKey_deriveRoomId(this.bytes);
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
toUnredactedString() {
|
|
35
35
|
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
36
36
|
return Native_1.default.CallLinkRootKey_toFormattedString(this.bytes);
|
|
37
37
|
}
|
|
38
|
+
toString() {
|
|
39
|
+
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
40
|
+
return Native_1.default.CallLinkRootKey_toRedactedString(this.bytes);
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
exports.CallLinkRootKey = CallLinkRootKey;
|
|
40
44
|
class CallLinkState {
|
|
@@ -238,8 +238,8 @@ export declare class RingRTCType {
|
|
|
238
238
|
deleteCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array<ArrayBuffer>, linkRootKey: CallLinkRootKey, adminPasskey: Uint8Array<ArrayBuffer>): Promise<HttpResult<undefined>>;
|
|
239
239
|
receivedHttpResponse(requestId: number, status: number, body: Uint8Array<ArrayBuffer>): void;
|
|
240
240
|
httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
|
|
241
|
-
getGroupCall(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
242
|
-
getCallLinkCall(sfuUrl: string, endorsementPublicKey: Uint8Array<ArrayBuffer>, authCredentialPresentation: Uint8Array<ArrayBuffer>, rootKey: CallLinkRootKey, adminPasskey: Uint8Array<ArrayBuffer> | undefined, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
241
|
+
getGroupCall(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, svcConfig: GroupCallSvcConfig | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
242
|
+
getCallLinkCall(sfuUrl: string, endorsementPublicKey: Uint8Array<ArrayBuffer>, authCredentialPresentation: Uint8Array<ArrayBuffer>, rootKey: CallLinkRootKey, adminPasskey: Uint8Array<ArrayBuffer> | undefined, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number | undefined, dredDuration: number | undefined, svcConfig: GroupCallSvcConfig | undefined, observer: GroupCallObserver): GroupCall | undefined;
|
|
243
243
|
peekGroupCall(sfuUrl: string, membershipProof: Uint8Array<ArrayBuffer>, groupMembers: Array<GroupMemberInfo>): Promise<PeekInfo>;
|
|
244
244
|
setMicrophoneWarmupEnabled(warmup: boolean): void;
|
|
245
245
|
peekCallLinkCall(sfuUrl: string, authCredentialPresentation: Uint8Array<ArrayBuffer>, rootKey: CallLinkRootKey): Promise<HttpResult<PeekInfo>>;
|
|
@@ -311,12 +311,22 @@ export declare class RingRTCType {
|
|
|
311
311
|
*/
|
|
312
312
|
setVoiceProcessingEnabled(enabled: boolean): void;
|
|
313
313
|
}
|
|
314
|
+
type CallConfig = {
|
|
315
|
+
dataMode: DataMode;
|
|
316
|
+
dredDuration: number;
|
|
317
|
+
enableVp9Encode: boolean;
|
|
318
|
+
enableVp9Decode: boolean;
|
|
319
|
+
statsIntervalSecs?: number;
|
|
320
|
+
};
|
|
314
321
|
export type CallSettings = {
|
|
315
322
|
iceServers: Array<IceServer>;
|
|
316
323
|
hideIp: boolean;
|
|
317
324
|
dataMode: DataMode;
|
|
318
325
|
audioLevelsIntervalMillis?: number;
|
|
319
326
|
dredDuration?: number;
|
|
327
|
+
enableVp9Encode?: boolean;
|
|
328
|
+
enableVp9Decode?: boolean;
|
|
329
|
+
statsIntervalSecs?: number;
|
|
320
330
|
};
|
|
321
331
|
type IceServer = {
|
|
322
332
|
username?: string;
|
|
@@ -529,6 +539,11 @@ export type GroupCallObserver = {
|
|
|
529
539
|
onRemoteMute(groupCall: GroupCall, demuxId: number): void;
|
|
530
540
|
onObservedRemoteMute(groupCall: GroupCall, sourceDemuxId: number, targetDemuxId: number): void;
|
|
531
541
|
};
|
|
542
|
+
export type GroupCallSvcConfig = {
|
|
543
|
+
mode: string;
|
|
544
|
+
modeForScreenshare: string;
|
|
545
|
+
maxBitrateBps: number | undefined;
|
|
546
|
+
};
|
|
532
547
|
export declare class GroupCall {
|
|
533
548
|
private readonly _kind;
|
|
534
549
|
private readonly _callManager;
|
|
@@ -658,7 +673,7 @@ export type CallManager = {
|
|
|
658
673
|
setSelfUuid(uuid: Uint8Array<ArrayBuffer>): void;
|
|
659
674
|
addAsset(assetGroup: string, filePath: string | null, content: Uint8Array<ArrayBuffer> | null): void;
|
|
660
675
|
createOutgoingCall(remoteUserId: UserId, isVideoCall: boolean, localDeviceId: DeviceId): CallId;
|
|
661
|
-
proceed(callId: CallId, iceServers: Array<IceServer>, hideIp: boolean,
|
|
676
|
+
proceed(callId: CallId, iceServers: Array<IceServer>, hideIp: boolean, callConfig: CallConfig, audioLevelsIntervalMillis: number): void;
|
|
662
677
|
accept(callId: CallId): void;
|
|
663
678
|
ignore(callId: CallId): void;
|
|
664
679
|
hangup(): void;
|
|
@@ -680,8 +695,8 @@ export type CallManager = {
|
|
|
680
695
|
receivedCallMessage(remoteUserId: Uint8Array<ArrayBuffer>, remoteDeviceId: DeviceId, localDeviceId: DeviceId, data: Uint8Array<ArrayBuffer>, messageAgeSec: number): void;
|
|
681
696
|
receivedHttpResponse(requestId: number, status: number, body: Uint8Array<ArrayBuffer>): void;
|
|
682
697
|
httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
|
|
683
|
-
createGroupCallClient(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number, dredDuration: number): GroupCallClientId;
|
|
684
|
-
createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array<ArrayBuffer>, authCredentialPresentation: Uint8Array<ArrayBuffer>, linkRootKey: Uint8Array<ArrayBuffer>, adminPasskey: Uint8Array<ArrayBuffer> | undefined, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number, dredDuration: number): GroupCallClientId;
|
|
698
|
+
createGroupCallClient(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number, dredDuration: number, svcConfig: GroupCallSvcConfig | undefined): GroupCallClientId;
|
|
699
|
+
createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array<ArrayBuffer>, authCredentialPresentation: Uint8Array<ArrayBuffer>, linkRootKey: Uint8Array<ArrayBuffer>, adminPasskey: Uint8Array<ArrayBuffer> | undefined, hkdfExtraInfo: Uint8Array<ArrayBuffer>, audioLevelsIntervalMillis: number, dredDuration: number, svcConfig: GroupCallSvcConfig | undefined): GroupCallClientId;
|
|
685
700
|
deleteGroupCallClient(clientId: GroupCallClientId): void;
|
|
686
701
|
connect(clientId: GroupCallClientId): void;
|
|
687
702
|
join(clientId: GroupCallClientId): void;
|
package/dist/ringrtc/Service.js
CHANGED
|
@@ -390,7 +390,13 @@ class RingRTCType {
|
|
|
390
390
|
}
|
|
391
391
|
proceed(callId, settings) {
|
|
392
392
|
sillyDeadlockProtection(() => {
|
|
393
|
-
this.callManager.proceed(callId, settings.iceServers, settings.hideIp,
|
|
393
|
+
this.callManager.proceed(callId, settings.iceServers, settings.hideIp, {
|
|
394
|
+
dataMode: settings.dataMode,
|
|
395
|
+
dredDuration: settings.dredDuration ?? 0,
|
|
396
|
+
enableVp9Encode: settings.enableVp9Encode ?? true,
|
|
397
|
+
enableVp9Decode: settings.enableVp9Decode ?? true,
|
|
398
|
+
statsIntervalSecs: settings.statsIntervalSecs,
|
|
399
|
+
}, settings.audioLevelsIntervalMillis || 0);
|
|
394
400
|
});
|
|
395
401
|
}
|
|
396
402
|
// Called by Rust
|
|
@@ -724,8 +730,8 @@ class RingRTCType {
|
|
|
724
730
|
}
|
|
725
731
|
// Group Calls
|
|
726
732
|
// Called by UX
|
|
727
|
-
getGroupCall(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, observer) {
|
|
728
|
-
const clientId = this.callManager.createGroupCallClient(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis ?? 0, dredDuration ?? 0);
|
|
733
|
+
getGroupCall(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, svcConfig, observer) {
|
|
734
|
+
const clientId = this.callManager.createGroupCallClient(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis ?? 0, dredDuration ?? 0, svcConfig);
|
|
729
735
|
if (clientId === INVALID_CLIENT_ID) {
|
|
730
736
|
// Return undefined since the group call client creation failed.
|
|
731
737
|
return undefined;
|
|
@@ -735,8 +741,8 @@ class RingRTCType {
|
|
|
735
741
|
return groupCall;
|
|
736
742
|
}
|
|
737
743
|
// Called by UX
|
|
738
|
-
getCallLinkCall(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, observer) {
|
|
739
|
-
const clientId = this.callManager.createCallLinkCallClient(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey.bytes, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0, dredDuration ?? 0);
|
|
744
|
+
getCallLinkCall(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, dredDuration, svcConfig, observer) {
|
|
745
|
+
const clientId = this.callManager.createCallLinkCallClient(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey.bytes, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0, dredDuration ?? 0, svcConfig);
|
|
740
746
|
if (clientId === INVALID_CLIENT_ID) {
|
|
741
747
|
// Return undefined since the call link client creation failed.
|
|
742
748
|
return undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalapp/ringrtc",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.72.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/signalapp/ringrtc.git",
|
|
@@ -33,13 +33,13 @@
|
|
|
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": "5030c683f0f181b0f132e58881c0d5e371f68185141de0e50c865d851b8b01de"
|
|
37
37
|
},
|
|
38
38
|
"author": "",
|
|
39
39
|
"license": "AGPL-3.0-only",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"https-proxy-agent": "7.0.6",
|
|
42
|
-
"tar": "7.5.
|
|
42
|
+
"tar": "7.5.22"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/chai": "5.2.3",
|