@signalapp/ringrtc 2.69.1 → 2.69.4
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 +30 -33
- package/dist/index.d.ts +2 -1
- package/dist/ringrtc/CallLinks.js +3 -3
- package/dist/ringrtc/Native.js +3 -3
- package/dist/ringrtc/Service.d.ts +33 -33
- package/dist/ringrtc/Service.js +16 -22
- package/package.json +25 -22
- package/scripts/fetch-prebuild.js +9 -11
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, libsignal-debug 0.89.2, mrp 2.69.
|
|
672
|
+
## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, libsignal-debug 0.89.2, mrp 2.69.4, protobuf 2.69.4, ringrtc 2.69.4, 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
|
|
@@ -1764,7 +1764,7 @@ THIS SOFTWARE.
|
|
|
1764
1764
|
|
|
1765
1765
|
```
|
|
1766
1766
|
|
|
1767
|
-
## cubeb-core 0.
|
|
1767
|
+
## cubeb-core 0.35.3, cubeb-sys 0.35.3, cubeb 0.35.3
|
|
1768
1768
|
|
|
1769
1769
|
```
|
|
1770
1770
|
Copyright © 2017 Mozilla Foundation
|
|
@@ -1783,7 +1783,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
1783
1783
|
|
|
1784
1784
|
```
|
|
1785
1785
|
|
|
1786
|
-
## windows-sys 0.
|
|
1786
|
+
## windows-sys 0.59.0, windows-sys 0.61.2, windows-targets 0.52.6, windows_aarch64_msvc 0.52.6, windows_x86_64_gnu 0.52.6, windows_x86_64_msvc 0.52.6
|
|
1787
1787
|
|
|
1788
1788
|
```
|
|
1789
1789
|
MIT License
|
|
@@ -2201,7 +2201,7 @@ DEALINGS IN THE SOFTWARE.
|
|
|
2201
2201
|
|
|
2202
2202
|
```
|
|
2203
2203
|
|
|
2204
|
-
## jni-sys 0.
|
|
2204
|
+
## jni-sys 0.4.1
|
|
2205
2205
|
|
|
2206
2206
|
```
|
|
2207
2207
|
Copyright (c) 2015 The rust-jni-sys Developers
|
|
@@ -3605,7 +3605,7 @@ SOFTWARE.
|
|
|
3605
3605
|
|
|
3606
3606
|
```
|
|
3607
3607
|
|
|
3608
|
-
##
|
|
3608
|
+
## jni-macros 0.22.4, jni-sys-macros 0.4.1, jni 0.22.4, neon 1.1.1, objc2-core-foundation 0.3.2, objc2-io-kit 0.3.2, protobuf-parse 3.7.2, tonic-prost-build 0.14.5, windows-collections 0.2.0, windows-collections 0.3.2, windows-core 0.61.2, windows-core 0.62.2, windows-future 0.2.1, windows-future 0.3.2, windows-implement 0.60.2, windows-interface 0.59.3, windows-link 0.1.3, windows-link 0.2.1, windows-numerics 0.2.0, windows-numerics 0.3.1, windows-result 0.3.4, windows-result 0.4.1, windows-strings 0.4.2, windows-strings 0.5.1, windows-threading 0.1.0, windows-threading 0.2.1, windows 0.61.3, windows 0.62.2
|
|
3609
3609
|
|
|
3610
3610
|
```
|
|
3611
3611
|
MIT License
|
|
@@ -3629,6 +3629,30 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
3629
3629
|
|
|
3630
3630
|
```
|
|
3631
3631
|
|
|
3632
|
+
## simdutf8 0.1.5
|
|
3633
|
+
|
|
3634
|
+
```
|
|
3635
|
+
MIT License
|
|
3636
|
+
|
|
3637
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
3638
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
3639
|
+
in the Software without restriction, including without limitation the rights
|
|
3640
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
3641
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
3642
|
+
furnished to do so, subject to the following conditions:
|
|
3643
|
+
|
|
3644
|
+
The above copyright notice and this permission notice shall be included in all
|
|
3645
|
+
copies or substantial portions of the Software.
|
|
3646
|
+
|
|
3647
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
3648
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
3649
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
3650
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
3651
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
3652
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
3653
|
+
SOFTWARE.
|
|
3654
|
+
```
|
|
3655
|
+
|
|
3632
3656
|
## ident_case 1.0.1
|
|
3633
3657
|
|
|
3634
3658
|
```
|
|
@@ -3654,7 +3678,7 @@ SOFTWARE.
|
|
|
3654
3678
|
|
|
3655
3679
|
```
|
|
3656
3680
|
|
|
3657
|
-
## curve25519-dalek-derive 0.1.1, anyhow 1.0.102, displaydoc 0.2.5, fastrand 2.4.1, home 0.5.12, itoa 1.0.18, linkme-impl 0.3.35, linkme 0.3.35, linux-raw-sys 0.12.1, linux-raw-sys 0.4.15, num_enum 0.7.6, num_enum_derive 0.7.6, once_cell 1.21.4, prettyplease 0.2.37, proc-macro-crate 3.5.0, proc-macro2 1.0.106, quote 1.0.45, rustix 0.38.44, rustix 1.1.4, rustversion 1.0.22, semver 1.0.28, send_wrapper 0.6.0, serde 1.0.228, serde_core 1.0.228, serde_derive 1.0.228, serde_json 1.0.149, syn 2.0.117, thiserror-impl 1.0.69, thiserror-impl 2.0.18, thiserror 1.0.69, thiserror 2.0.18, unicode-ident 1.0.24, zmij 1.0.21
|
|
3681
|
+
## curve25519-dalek-derive 0.1.1, anyhow 1.0.102, displaydoc 0.2.5, fastrand 2.4.1, home 0.5.12, itoa 1.0.18, linkme-impl 0.3.35, linkme 0.3.35, linux-raw-sys 0.12.1, linux-raw-sys 0.4.15, num_enum 0.7.6, num_enum_derive 0.7.6, once_cell 1.21.4, prettyplease 0.2.37, proc-macro-crate 3.5.0, proc-macro2 1.0.106, quote 1.0.45, rustix 0.38.44, rustix 1.1.4, rustversion 1.0.22, semver 1.0.28, send_wrapper 0.6.0, serde 1.0.228, serde_core 1.0.228, serde_derive 1.0.228, serde_json 1.0.149, simd_cesu8 1.1.1, syn 2.0.117, thiserror-impl 1.0.69, thiserror-impl 2.0.18, thiserror 1.0.69, thiserror 2.0.18, unicode-ident 1.0.24, zmij 1.0.21
|
|
3658
3682
|
|
|
3659
3683
|
```
|
|
3660
3684
|
Permission is hereby granted, free of charge, to any
|
|
@@ -3977,33 +4001,6 @@ SOFTWARE.
|
|
|
3977
4001
|
|
|
3978
4002
|
```
|
|
3979
4003
|
|
|
3980
|
-
## jni 0.21.1
|
|
3981
|
-
|
|
3982
|
-
```
|
|
3983
|
-
The MIT License (MIT)
|
|
3984
|
-
|
|
3985
|
-
Copyright (c) 2016 Prevoty, Inc. and jni-rs contributors
|
|
3986
|
-
|
|
3987
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
3988
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
3989
|
-
in the Software without restriction, including without limitation the rights
|
|
3990
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
3991
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
3992
|
-
furnished to do so, subject to the following conditions:
|
|
3993
|
-
|
|
3994
|
-
The above copyright notice and this permission notice shall be included in all
|
|
3995
|
-
copies or substantial portions of the Software.
|
|
3996
|
-
|
|
3997
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
3998
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
3999
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
4000
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
4001
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
4002
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
4003
|
-
SOFTWARE.
|
|
4004
|
-
|
|
4005
|
-
```
|
|
4006
|
-
|
|
4007
4004
|
## same-file 1.0.6, winapi-util 0.1.11
|
|
4008
4005
|
|
|
4009
4006
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RingRTCType } from './ringrtc/Service';
|
|
2
|
-
export {
|
|
2
|
+
export type { AudioDevice, CallId, CallSettings, DeviceId, GroupCallObserver, HttpResult, PeekDeviceInfo, PeekInfo, Reaction, UserId, VideoFrameSender, VideoFrameSource, } from './ringrtc/Service';
|
|
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';
|
|
3
4
|
export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, } from './ringrtc/CallLinks';
|
|
4
5
|
export { CallSummary, QualityStats } from './ringrtc/CallSummary';
|
|
5
6
|
export declare const RingRTC: RingRTCType;
|
|
@@ -24,15 +24,15 @@ class CallLinkRootKey {
|
|
|
24
24
|
return new CallLinkRootKey(Native_1.default.CallLinkRootKey_generate());
|
|
25
25
|
}
|
|
26
26
|
static generateAdminPassKey() {
|
|
27
|
-
//
|
|
27
|
+
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
28
28
|
return Native_1.default.CallLinkRootKey_generateAdminPasskey();
|
|
29
29
|
}
|
|
30
30
|
deriveRoomId() {
|
|
31
|
-
//
|
|
31
|
+
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
32
32
|
return Native_1.default.CallLinkRootKey_deriveRoomId(this.bytes);
|
|
33
33
|
}
|
|
34
34
|
toString() {
|
|
35
|
-
//
|
|
35
|
+
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
36
36
|
return Native_1.default.CallLinkRootKey_toFormattedString(this.bytes);
|
|
37
37
|
}
|
|
38
38
|
}
|
package/dist/ringrtc/Native.js
CHANGED
|
@@ -37,8 +37,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
const os = __importStar(require("os"));
|
|
41
|
-
const process = __importStar(require("process"));
|
|
42
|
-
//
|
|
40
|
+
const os = __importStar(require("node:os"));
|
|
41
|
+
const process = __importStar(require("node:process"));
|
|
42
|
+
// oxlint-disable-next-line typescript/no-var-requires import/no-dynamic-require node/global-require
|
|
43
43
|
exports.default = require(`../../build/${os.platform()}/libringrtc-${process.arch}.node`);
|
|
44
44
|
//# sourceMappingURL=Native.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CallLinkState, CallLinkRestrictions, CallLinkRootKey } from './CallLinks';
|
|
2
|
-
import { CallSummary } from './CallSummary';
|
|
2
|
+
import type { CallSummary } from './CallSummary';
|
|
3
3
|
export declare const callIdFromEra: (era: string) => CallId;
|
|
4
4
|
export declare function callIdFromRingId(ringId: bigint): CallId;
|
|
5
5
|
declare class Config {
|
|
@@ -7,16 +7,16 @@ declare class Config {
|
|
|
7
7
|
}
|
|
8
8
|
type GroupId = Uint8Array<ArrayBuffer>;
|
|
9
9
|
type GroupCallUserId = Uint8Array<ArrayBuffer>;
|
|
10
|
-
export
|
|
10
|
+
export type PeekDeviceInfo = {
|
|
11
11
|
demuxId: number;
|
|
12
12
|
userId?: GroupCallUserId;
|
|
13
|
-
}
|
|
14
|
-
export
|
|
13
|
+
};
|
|
14
|
+
export type Reaction = {
|
|
15
15
|
demuxId: number;
|
|
16
16
|
value: string;
|
|
17
|
-
}
|
|
17
|
+
};
|
|
18
18
|
/** type returned by Rust */
|
|
19
|
-
export
|
|
19
|
+
export type RawPeekInfo = {
|
|
20
20
|
devices: Array<PeekDeviceInfo>;
|
|
21
21
|
creator?: GroupCallUserId;
|
|
22
22
|
eraId?: string;
|
|
@@ -27,9 +27,9 @@ export interface RawPeekInfo {
|
|
|
27
27
|
deviceCountExcludingPendingDevices: number;
|
|
28
28
|
pendingUsers: Array<GroupCallUserId>;
|
|
29
29
|
callLinkState?: RawCallLinkState;
|
|
30
|
-
}
|
|
30
|
+
};
|
|
31
31
|
/** type derived from RawPeekInfo */
|
|
32
|
-
export
|
|
32
|
+
export type PeekInfo = {
|
|
33
33
|
devices: Array<PeekDeviceInfo>;
|
|
34
34
|
creator?: GroupCallUserId;
|
|
35
35
|
eraId?: string;
|
|
@@ -40,7 +40,7 @@ export interface PeekInfo {
|
|
|
40
40
|
deviceCountExcludingPendingDevices: number;
|
|
41
41
|
pendingUsers: Array<GroupCallUserId>;
|
|
42
42
|
callLinkState?: CallLinkState;
|
|
43
|
-
}
|
|
43
|
+
};
|
|
44
44
|
export declare enum PeekStatusCodes {
|
|
45
45
|
EXPIRED_CALL_LINK = 703,
|
|
46
46
|
INVALID_CALL_LINK = 704
|
|
@@ -69,13 +69,13 @@ export declare class ReceivedAudioLevel {
|
|
|
69
69
|
level: RawAudioLevel;
|
|
70
70
|
constructor(demuxId: number, level: RawAudioLevel);
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
type RawCallLinkState = {
|
|
73
73
|
name: string;
|
|
74
74
|
rawRestrictions: number;
|
|
75
75
|
revoked: boolean;
|
|
76
76
|
expiration: Date;
|
|
77
77
|
rootKey: Uint8Array<ArrayBuffer>;
|
|
78
|
-
}
|
|
78
|
+
};
|
|
79
79
|
export type EmptyObj = Record<PropertyKey, never>;
|
|
80
80
|
export type HttpResult<T> = {
|
|
81
81
|
success: true;
|
|
@@ -87,11 +87,11 @@ export type HttpResult<T> = {
|
|
|
87
87
|
export declare class RingRTCType {
|
|
88
88
|
private readonly callManager;
|
|
89
89
|
private _call;
|
|
90
|
-
private _groupCallByClientId;
|
|
91
|
-
private _peekRequests;
|
|
92
|
-
private _callLinkRequests;
|
|
93
|
-
private _emptyRequests;
|
|
94
|
-
private _callInfoByCallId;
|
|
90
|
+
private readonly _groupCallByClientId;
|
|
91
|
+
private readonly _peekRequests;
|
|
92
|
+
private readonly _callLinkRequests;
|
|
93
|
+
private readonly _emptyRequests;
|
|
94
|
+
private readonly _callInfoByCallId;
|
|
95
95
|
private getCallInfoKey;
|
|
96
96
|
handleOutgoingSignaling: ((remoteUserId: UserId, message: CallingMessage) => Promise<boolean>) | null;
|
|
97
97
|
handleIncomingCall: ((call: Call) => Promise<boolean>) | null;
|
|
@@ -311,26 +311,26 @@ export declare class RingRTCType {
|
|
|
311
311
|
*/
|
|
312
312
|
setVoiceProcessingEnabled(enabled: boolean): void;
|
|
313
313
|
}
|
|
314
|
-
export
|
|
314
|
+
export type CallSettings = {
|
|
315
315
|
iceServers: Array<IceServer>;
|
|
316
316
|
hideIp: boolean;
|
|
317
317
|
dataMode: DataMode;
|
|
318
318
|
audioLevelsIntervalMillis?: number;
|
|
319
319
|
dredDuration?: number;
|
|
320
|
-
}
|
|
321
|
-
|
|
320
|
+
};
|
|
321
|
+
type IceServer = {
|
|
322
322
|
username?: string;
|
|
323
323
|
password?: string;
|
|
324
324
|
/** Provide hostname when urls contain IP addresses instead of hostname */
|
|
325
325
|
hostname?: string;
|
|
326
326
|
urls: Array<string>;
|
|
327
|
-
}
|
|
328
|
-
export
|
|
327
|
+
};
|
|
328
|
+
export type AudioDevice = {
|
|
329
329
|
name: string;
|
|
330
330
|
index: number;
|
|
331
331
|
uniqueId: string;
|
|
332
332
|
i18nKey?: string;
|
|
333
|
-
}
|
|
333
|
+
};
|
|
334
334
|
export declare enum VideoPixelFormatEnum {
|
|
335
335
|
I420 = 0,
|
|
336
336
|
Nv12 = 1,
|
|
@@ -343,7 +343,7 @@ export declare function videoPixelFormatToEnum(format: VideoPixelFormat): VideoP
|
|
|
343
343
|
* VideoFrameSender is used to transmit video frames (from a camera or screen share) over
|
|
344
344
|
* RTP via the RingRTC library.
|
|
345
345
|
*/
|
|
346
|
-
export
|
|
346
|
+
export type VideoFrameSender = {
|
|
347
347
|
/**
|
|
348
348
|
* Sends a video frame to be transmitted via RingRTC.
|
|
349
349
|
*
|
|
@@ -353,11 +353,11 @@ export interface VideoFrameSender {
|
|
|
353
353
|
* @param buffer - The raw video frame data
|
|
354
354
|
*/
|
|
355
355
|
sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Uint8Array<ArrayBuffer>): void;
|
|
356
|
-
}
|
|
356
|
+
};
|
|
357
357
|
/**
|
|
358
358
|
* Interface for retrieving received video frames from the RingRTC library.
|
|
359
359
|
*/
|
|
360
|
-
export
|
|
360
|
+
export type VideoFrameSource = {
|
|
361
361
|
/**
|
|
362
362
|
* Copies the latest frame into `buffer`.
|
|
363
363
|
*
|
|
@@ -375,7 +375,7 @@ export interface VideoFrameSource {
|
|
|
375
375
|
* Returns undefined if no new frame is available
|
|
376
376
|
*/
|
|
377
377
|
receiveVideoFrame(buffer: Uint8Array<ArrayBuffer>, maxWidth: number, maxHeight: number): [number, number] | undefined;
|
|
378
|
-
}
|
|
378
|
+
};
|
|
379
379
|
export declare class Call {
|
|
380
380
|
private readonly _callManager;
|
|
381
381
|
private readonly _remoteUserId;
|
|
@@ -514,7 +514,7 @@ export declare enum GroupCallKind {
|
|
|
514
514
|
SignalGroup = 0,
|
|
515
515
|
CallLink = 1
|
|
516
516
|
}
|
|
517
|
-
export
|
|
517
|
+
export type GroupCallObserver = {
|
|
518
518
|
requestMembershipProof(groupCall: GroupCall): void;
|
|
519
519
|
requestGroupMembers(groupCall: GroupCall): void;
|
|
520
520
|
onLocalDeviceStateChanged(groupCall: GroupCall): void;
|
|
@@ -528,14 +528,14 @@ export interface GroupCallObserver {
|
|
|
528
528
|
onSpeechEvent(groupCall: GroupCall, event: SpeechEvent): void;
|
|
529
529
|
onRemoteMute(groupCall: GroupCall, demuxId: number): void;
|
|
530
530
|
onObservedRemoteMute(groupCall: GroupCall, sourceDemuxId: number, targetDemuxId: number): void;
|
|
531
|
-
}
|
|
531
|
+
};
|
|
532
532
|
export declare class GroupCall {
|
|
533
533
|
private readonly _kind;
|
|
534
534
|
private readonly _callManager;
|
|
535
535
|
private readonly _observer;
|
|
536
536
|
private readonly _clientId;
|
|
537
537
|
get clientId(): GroupCallClientId;
|
|
538
|
-
private _localDeviceState;
|
|
538
|
+
private readonly _localDeviceState;
|
|
539
539
|
private _remoteDeviceStates;
|
|
540
540
|
private _peekInfo;
|
|
541
541
|
constructor(kind: GroupCallKind, callManager: CallManager, observer: GroupCallObserver, clientId: GroupCallClientId);
|
|
@@ -653,7 +653,7 @@ export declare enum RingCancelReason {
|
|
|
653
653
|
DeclinedByUser = 0,
|
|
654
654
|
Busy = 1
|
|
655
655
|
}
|
|
656
|
-
export
|
|
656
|
+
export type CallManager = {
|
|
657
657
|
setConfig(config: Config): void;
|
|
658
658
|
setSelfUuid(uuid: Uint8Array<ArrayBuffer>): void;
|
|
659
659
|
addAsset(assetGroup: string, filePath: string | null, content: Uint8Array<ArrayBuffer> | null): void;
|
|
@@ -718,8 +718,8 @@ export interface CallManager {
|
|
|
718
718
|
getAudioOutputs(): Array<AudioDevice>;
|
|
719
719
|
setAudioOutput(index: number): void;
|
|
720
720
|
setVoiceProcessingEnabled(enabled: boolean): void;
|
|
721
|
-
}
|
|
722
|
-
export
|
|
721
|
+
};
|
|
722
|
+
export type CallManagerCallbacks = {
|
|
723
723
|
onStartOutgoingCall(remoteUserId: UserId, callId: CallId): void;
|
|
724
724
|
onStartIncomingCall(remoteUserId: UserId, callId: CallId, isVideoCall: boolean): void;
|
|
725
725
|
onCallState(remoteUserId: UserId, state: CallState): void;
|
|
@@ -751,7 +751,7 @@ export interface CallManagerCallbacks {
|
|
|
751
751
|
handlePeekResponse(requestId: number, statusCode: number, rawInfo: RawPeekInfo | undefined): void;
|
|
752
752
|
handleEnded(clientId: GroupCallClientId, reason: CallEndReason, summary: CallSummary): void;
|
|
753
753
|
onLogMessage(level: number, fileName: string, line: number, message: string): void;
|
|
754
|
-
}
|
|
754
|
+
};
|
|
755
755
|
export declare enum CallState {
|
|
756
756
|
Prering = "idle",
|
|
757
757
|
Ringing = "ringing",
|
package/dist/ringrtc/Service.js
CHANGED
|
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.CallLogLevel = exports.CallRejectReason = exports.CallEndReason = exports.CallState = exports.RingCancelReason = exports.DataMode = exports.HangupType = exports.OpaqueMessage = exports.HangupMessage = exports.BusyMessage = exports.IceCandidateMessage = exports.AnswerMessage = exports.OfferType = exports.OfferMessage = exports.CallingMessage = exports.GroupCall = exports.GroupCallKind = exports.VideoRequest = exports.GroupMemberInfo = exports.RemoteDeviceState = exports.LocalDeviceState = exports.HttpMethod = exports.RingUpdate = exports.CallMessageUrgency = exports.SpeechEvent = exports.JoinState = exports.ConnectionState = exports.Call = exports.VideoPixelFormatEnum = exports.RingRTCType = exports.ReceivedAudioLevel = exports.NetworkRoute = exports.PeekStatusCodes = exports.callIdFromEra = void 0;
|
|
11
11
|
exports.callIdFromRingId = callIdFromRingId;
|
|
12
12
|
exports.videoPixelFormatToEnum = videoPixelFormatToEnum;
|
|
13
|
-
/* eslint-disable max-classes-per-file */
|
|
14
13
|
const CallLinks_1 = require("./CallLinks");
|
|
15
14
|
const Native_1 = __importDefault(require("./Native"));
|
|
16
15
|
const INVALID_CLIENT_ID = 0;
|
|
@@ -29,17 +28,16 @@ class NativeCallManager {
|
|
|
29
28
|
this.createCallEndpoint(config);
|
|
30
29
|
}
|
|
31
30
|
createCallEndpoint(config) {
|
|
32
|
-
const fieldTrials =
|
|
31
|
+
const fieldTrials = {
|
|
33
32
|
'RingRTC-AnyAddressPortsKillSwitch': 'Enabled',
|
|
34
33
|
'RingRTC-PruneTurnPorts': 'Enabled',
|
|
35
34
|
'WebRTC-Bwe-ProbingConfiguration': 'skip_if_est_larger_than_fraction_of_max:0.99',
|
|
36
35
|
'WebRTC-IncreaseIceCandidatePriorityHostSrflx': 'Enabled',
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
...config.field_trials,
|
|
37
|
+
};
|
|
39
38
|
const fieldTrialsString = Object.entries(fieldTrials)
|
|
40
39
|
.map(([k, v]) => `${k}/${v}`)
|
|
41
40
|
.join('/') + '/';
|
|
42
|
-
/* eslint-enable prefer-template */
|
|
43
41
|
Object.defineProperty(this, Native_1.default.callEndpointPropertyKey, {
|
|
44
42
|
configurable: true, // allows it to be changed
|
|
45
43
|
get() {
|
|
@@ -48,7 +46,7 @@ class NativeCallManager {
|
|
|
48
46
|
configurable: true, // allows it to be changed
|
|
49
47
|
value: callEndpoint,
|
|
50
48
|
});
|
|
51
|
-
//
|
|
49
|
+
// oxlint-disable-next-line typescript/no-unsafe-return
|
|
52
50
|
return callEndpoint;
|
|
53
51
|
},
|
|
54
52
|
});
|
|
@@ -213,9 +211,7 @@ function rawCallLinkStateToCallLinkState(raw) {
|
|
|
213
211
|
}
|
|
214
212
|
return new CallLinks_1.CallLinkState(raw.name, restrictions, raw.revoked, raw.expiration, new CallLinks_1.CallLinkRootKey(raw.rootKey));
|
|
215
213
|
}
|
|
216
|
-
|
|
217
|
-
return undefined;
|
|
218
|
-
}
|
|
214
|
+
return undefined;
|
|
219
215
|
}
|
|
220
216
|
function rawPeekInfoToPeekInfo(raw) {
|
|
221
217
|
return {
|
|
@@ -553,6 +549,7 @@ class RingRTCType {
|
|
|
553
549
|
}
|
|
554
550
|
sendSignaling(remoteUserId, remoteDeviceId, callId, broadcast, message) {
|
|
555
551
|
if (!broadcast) {
|
|
552
|
+
// oxlint-disable-next-line eslint/no-param-reassign
|
|
556
553
|
message.destinationDeviceId = remoteDeviceId;
|
|
557
554
|
}
|
|
558
555
|
(async () => {
|
|
@@ -760,15 +757,13 @@ class RingRTCType {
|
|
|
760
757
|
if (result.success) {
|
|
761
758
|
return result.value;
|
|
762
759
|
}
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
};
|
|
771
|
-
}
|
|
760
|
+
return {
|
|
761
|
+
devices: [],
|
|
762
|
+
deviceCount: 0,
|
|
763
|
+
deviceCountIncludingPendingDevices: 0,
|
|
764
|
+
deviceCountExcludingPendingDevices: 0,
|
|
765
|
+
pendingUsers: [],
|
|
766
|
+
};
|
|
772
767
|
});
|
|
773
768
|
}
|
|
774
769
|
// Called by UX
|
|
@@ -1692,7 +1687,7 @@ class GroupCall {
|
|
|
1692
1687
|
handleRemoteDevicesChanged(remoteDeviceStates) {
|
|
1693
1688
|
// We don't get aspect ratios from RingRTC, so make sure to copy them over.
|
|
1694
1689
|
for (const noo of remoteDeviceStates) {
|
|
1695
|
-
const old = this._remoteDeviceStates?.find(
|
|
1690
|
+
const old = this._remoteDeviceStates?.find(candidate => candidate.demuxId == noo.demuxId);
|
|
1696
1691
|
noo.videoAspectRatio = old?.videoAspectRatio;
|
|
1697
1692
|
}
|
|
1698
1693
|
this._remoteDeviceStates = remoteDeviceStates;
|
|
@@ -1893,9 +1888,8 @@ var CallLogLevel;
|
|
|
1893
1888
|
})(CallLogLevel || (exports.CallLogLevel = CallLogLevel = {}));
|
|
1894
1889
|
function sillyDeadlockProtection(f) {
|
|
1895
1890
|
void (async () => {
|
|
1896
|
-
//
|
|
1897
|
-
|
|
1898
|
-
await 0;
|
|
1891
|
+
// Yield so f() runs after unwinding the calling stack.
|
|
1892
|
+
await Promise.resolve();
|
|
1899
1893
|
f();
|
|
1900
1894
|
})();
|
|
1901
1895
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalapp/ringrtc",
|
|
3
|
-
"version": "2.69.
|
|
3
|
+
"version": "2.69.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/signalapp/ringrtc.git",
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"build": "tsc && bash scripts/build-help.sh",
|
|
25
25
|
"clean": "rimraf dist",
|
|
26
26
|
"test": "electron-mocha --renderer --recursive dist/test --timeout 10000 --require source-map-support/register",
|
|
27
|
-
"
|
|
28
|
-
"lint": "npm run format --list-different && npm run
|
|
27
|
+
"oxlint": "oxlint --format=stylish",
|
|
28
|
+
"lint": "npm run format --list-different && npm run oxlint",
|
|
29
29
|
"format": "prettier --write .",
|
|
30
30
|
"check-format": "prettier . --check",
|
|
31
31
|
"install": "node scripts/fetch-prebuild.js",
|
|
@@ -33,38 +33,41 @@
|
|
|
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": "fe47b35b5f893e15574c886753c2d977394b44bfe6aa0d9da0777f55eabe9499"
|
|
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": "
|
|
42
|
+
"tar": "7.5.15"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/chai": "5.2.3",
|
|
46
|
-
"@types/chai-as-promised": "
|
|
47
|
-
"@types/lodash": "
|
|
46
|
+
"@types/chai-as-promised": "8.0.2",
|
|
47
|
+
"@types/lodash": "4.17.21",
|
|
48
48
|
"@types/mocha": "10.0.10",
|
|
49
49
|
"@types/node": "25.0.3",
|
|
50
50
|
"@types/sinon-chai": "^4.0.0",
|
|
51
51
|
"chai": "6.2.2",
|
|
52
|
-
"chai-as-promised": "
|
|
53
|
-
"electron": "
|
|
52
|
+
"chai-as-promised": "8.0.2",
|
|
53
|
+
"electron": "42.3.0",
|
|
54
54
|
"electron-mocha": "13.1.0",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"prettier": "3.7.4",
|
|
64
|
-
"rimraf": "6.1.2",
|
|
65
|
-
"sinon": "^21.0.1",
|
|
66
|
-
"sinon-chai": "^4.0.1",
|
|
55
|
+
"lodash": "4.18.1",
|
|
56
|
+
"mocha": "11.7.6",
|
|
57
|
+
"oxlint": "1.65.0",
|
|
58
|
+
"oxlint-tsgolint": "0.22.1",
|
|
59
|
+
"prettier": "3.8.3",
|
|
60
|
+
"rimraf": "6.1.3",
|
|
61
|
+
"sinon": "22.0.0",
|
|
62
|
+
"sinon-chai": "4.0.1",
|
|
67
63
|
"source-map-support": "^0.5.21",
|
|
68
|
-
"typescript": "
|
|
64
|
+
"typescript": "6.0.3"
|
|
65
|
+
},
|
|
66
|
+
"overrides": {
|
|
67
|
+
"mocha": {
|
|
68
|
+
"brace-expansion": "2.0.3",
|
|
69
|
+
"diff": "8.0.3",
|
|
70
|
+
"serialize-javascript": "7.0.5"
|
|
71
|
+
}
|
|
69
72
|
}
|
|
70
73
|
}
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
4
4
|
//
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const https = require('https');
|
|
6
|
+
const https = require('node:https');
|
|
9
7
|
const { HttpsProxyAgent } = require('https-proxy-agent');
|
|
10
|
-
const fs = require('fs');
|
|
11
|
-
const path = require('path');
|
|
12
|
-
const crypto = require('crypto');
|
|
8
|
+
const fs = require('node:fs');
|
|
9
|
+
const path = require('node:path');
|
|
10
|
+
const crypto = require('node:crypto');
|
|
13
11
|
const tar = require('tar');
|
|
14
|
-
const { Transform } = require('stream');
|
|
15
|
-
const { pipeline } = require('stream/promises');
|
|
12
|
+
const { Transform } = require('node:stream');
|
|
13
|
+
const { pipeline } = require('node:stream/promises');
|
|
16
14
|
|
|
17
15
|
const VERSION = process.env.npm_package_version;
|
|
18
16
|
|
|
@@ -35,7 +33,7 @@ if (process.env.npm_package_json) {
|
|
|
35
33
|
}
|
|
36
34
|
|
|
37
35
|
const URL = config.prebuildUrl.replace(
|
|
38
|
-
'${npm_package_version}', //
|
|
36
|
+
'${npm_package_version}', // oxlint-disable-line eslint/no-template-curly-in-string
|
|
39
37
|
VERSION
|
|
40
38
|
);
|
|
41
39
|
const HASH = config.prebuildChecksum;
|
|
@@ -71,7 +69,7 @@ async function downloadIfNeeded() {
|
|
|
71
69
|
function download() {
|
|
72
70
|
console.log(`downloading ${URL}`);
|
|
73
71
|
return new Promise((resolve, reject) => {
|
|
74
|
-
|
|
72
|
+
const options = {};
|
|
75
73
|
if (process.env.HTTPS_PROXY != undefined) {
|
|
76
74
|
options.agent = new HttpsProxyAgent(process.env.HTTPS_PROXY);
|
|
77
75
|
}
|
|
@@ -107,4 +105,4 @@ function download() {
|
|
|
107
105
|
});
|
|
108
106
|
}
|
|
109
107
|
|
|
110
|
-
main();
|
|
108
|
+
void main();
|