@signalapp/ringrtc 2.64.0 → 2.65.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.
@@ -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.64.0, protobuf 2.64.0, ringrtc 2.64.0, regex-aot 0.1.0, partial-default-derive 0.1.0, partial-default 0.1.0
672
+ ## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.65.0, protobuf 2.65.0, ringrtc 2.65.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
@@ -910,7 +910,7 @@ You should also get your employer (if you work as a programmer) or school, if an
910
910
 
911
911
  ```
912
912
 
913
- ## pulldown-cmark-to-cmark 21.1.0
913
+ ## pulldown-cmark-to-cmark 22.0.0
914
914
 
915
915
  ```
916
916
  Apache License
@@ -1324,7 +1324,7 @@ You should also get your employer (if you work as a programmer) or school, if an
1324
1324
 
1325
1325
  ```
1326
1326
 
1327
- ## prost-build 0.14.1, prost-derive 0.14.1, prost-types 0.14.1, prost 0.14.1
1327
+ ## prost-build 0.14.3, prost-derive 0.14.3, prost-types 0.14.3, prost 0.14.3
1328
1328
 
1329
1329
  ```
1330
1330
  Apache License
@@ -1900,7 +1900,7 @@ SOFTWARE.
1900
1900
 
1901
1901
  ```
1902
1902
 
1903
- ## cc 1.2.51, cfg-if 1.0.4, cmake 0.1.57, find-msvc-tools 0.1.6, pkg-config 0.3.32
1903
+ ## cc 1.2.54, cfg-if 1.0.4, cmake 0.1.57, find-msvc-tools 0.1.8, pkg-config 0.3.32
1904
1904
 
1905
1905
  ```
1906
1906
  Copyright (c) 2014 Alex Crichton
@@ -1962,7 +1962,7 @@ DEALINGS IN THE SOFTWARE.
1962
1962
 
1963
1963
  ```
1964
1964
 
1965
- ## base64ct 1.8.2
1965
+ ## base64ct 1.8.3
1966
1966
 
1967
1967
  ```
1968
1968
  Copyright (c) 2014 Steve "Sc00bz" Thomas (steve at tobtu dot com)
@@ -2025,7 +2025,7 @@ DEALINGS IN THE SOFTWARE.
2025
2025
 
2026
2026
  ```
2027
2027
 
2028
- ## uuid 1.19.0
2028
+ ## uuid 1.20.0
2029
2029
 
2030
2030
  ```
2031
2031
  Copyright (c) 2014 The Rust Project Developers
@@ -2057,7 +2057,7 @@ DEALINGS IN THE SOFTWARE.
2057
2057
 
2058
2058
  ```
2059
2059
 
2060
- ## libc 0.2.179
2060
+ ## libc 0.2.180
2061
2061
 
2062
2062
  ```
2063
2063
  Copyright (c) 2014-2020 The Rust Project Developers
@@ -2114,7 +2114,7 @@ THE SOFTWARE.
2114
2114
 
2115
2115
  ```
2116
2116
 
2117
- ## either 1.15.0, itertools 0.14.0, petgraph 0.7.1, serde_with 3.16.1, serde_with_macros 3.16.1
2117
+ ## either 1.15.0, itertools 0.14.0, petgraph 0.8.3, serde_with 3.16.1, serde_with_macros 3.16.1
2118
2118
 
2119
2119
  ```
2120
2120
  Copyright (c) 2015
@@ -2402,7 +2402,7 @@ DEALINGS IN THE SOFTWARE.
2402
2402
 
2403
2403
  ```
2404
2404
 
2405
- ## hashbrown 0.16.1
2405
+ ## hashbrown 0.15.5, hashbrown 0.16.1
2406
2406
 
2407
2407
  ```
2408
2408
  Copyright (c) 2016 Amanieu d'Antras
@@ -2837,7 +2837,7 @@ DEALINGS IN THE SOFTWARE.
2837
2837
 
2838
2838
  ```
2839
2839
 
2840
- ## getrandom 0.2.16
2840
+ ## getrandom 0.2.17
2841
2841
 
2842
2842
  ```
2843
2843
  Copyright (c) 2018-2024 The rust-random Project Developers
@@ -3319,7 +3319,7 @@ SOFTWARE.
3319
3319
 
3320
3320
  ```
3321
3321
 
3322
- ## rand 0.8.5, rand 0.9.2, rand_chacha 0.3.1, rand_chacha 0.9.0, rand_core 0.6.4, rand_core 0.9.3
3322
+ ## rand 0.8.5, rand 0.9.2, rand_chacha 0.3.1, rand_chacha 0.9.0, rand_core 0.6.4, rand_core 0.9.5
3323
3323
 
3324
3324
  ```
3325
3325
  Copyright 2018 Developers of the Rand project
@@ -3351,7 +3351,7 @@ DEALINGS IN THE SOFTWARE.
3351
3351
 
3352
3352
  ```
3353
3353
 
3354
- ## zerocopy-derive 0.8.33, zerocopy 0.8.33
3354
+ ## zerocopy-derive 0.8.34, zerocopy 0.8.34
3355
3355
 
3356
3356
  ```
3357
3357
  Copyright 2023 The Fuchsia Authors
@@ -3518,7 +3518,7 @@ SOFTWARE.
3518
3518
 
3519
3519
  ```
3520
3520
 
3521
- ## const-str 0.6.4
3521
+ ## const-str 1.0.0
3522
3522
 
3523
3523
  ```
3524
3524
  MIT License
@@ -3621,7 +3621,7 @@ SOFTWARE.
3621
3621
 
3622
3622
  ```
3623
3623
 
3624
- ## curve25519-dalek-derive 0.1.1, anyhow 1.0.100, displaydoc 0.2.5, fastrand 2.3.0, home 0.5.12, itoa 1.0.17, linkme-impl 0.3.35, linkme 0.3.35, linux-raw-sys 0.11.0, linux-raw-sys 0.4.15, num_enum 0.7.5, num_enum_derive 0.7.5, once_cell 1.21.3, prettyplease 0.2.37, proc-macro-crate 3.4.0, proc-macro2 1.0.105, quote 1.0.43, rustix 0.38.44, rustix 1.1.3, rustversion 1.0.22, semver 1.0.27, 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.114, thiserror-impl 1.0.69, thiserror-impl 2.0.17, thiserror 1.0.69, thiserror 2.0.17, unicode-ident 1.0.22, zmij 1.0.12
3624
+ ## curve25519-dalek-derive 0.1.1, anyhow 1.0.100, displaydoc 0.2.5, fastrand 2.3.0, home 0.5.12, itoa 1.0.17, linkme-impl 0.3.35, linkme 0.3.35, linux-raw-sys 0.11.0, linux-raw-sys 0.4.15, num_enum 0.7.5, num_enum_derive 0.7.5, once_cell 1.21.3, prettyplease 0.2.37, proc-macro-crate 3.4.0, proc-macro2 1.0.106, quote 1.0.44, rustix 0.38.44, rustix 1.1.3, rustversion 1.0.22, semver 1.0.27, 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.114, thiserror-impl 1.0.69, thiserror-impl 2.0.18, thiserror 1.0.69, thiserror 2.0.18, unicode-ident 1.0.22, zmij 1.0.17
3625
3625
 
3626
3626
  ```
3627
3627
  Permission is hereby granted, free of charge, to any
@@ -4109,7 +4109,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4109
4109
  SOFTWARE.
4110
4110
  ```
4111
4111
 
4112
- ## hpke-rs-crypto 0.3.0, hpke-rs 0.4.0
4112
+ ## hpke-rs-crypto 0.4.0, hpke-rs 0.5.0
4113
4113
 
4114
4114
  ```
4115
4115
  Mozilla Public License Version 2.0
@@ -4533,6 +4533,30 @@ authorization of the copyright holder.
4533
4533
 
4534
4534
  ```
4535
4535
 
4536
+ ## foldhash 0.1.5
4537
+
4538
+ ```
4539
+ Copyright (c) 2024 Orson Peters
4540
+
4541
+ This software is provided 'as-is', without any express or implied warranty. In
4542
+ no event will the authors be held liable for any damages arising from the use of
4543
+ this software.
4544
+
4545
+ Permission is granted to anyone to use this software for any purpose, including
4546
+ commercial applications, and to alter it and redistribute it freely, subject to
4547
+ the following restrictions:
4548
+
4549
+ 1. The origin of this software must not be misrepresented; you must not claim
4550
+ that you wrote the original software. If you use this software in a product,
4551
+ an acknowledgment in the product documentation would be appreciated but is
4552
+ not required.
4553
+
4554
+ 2. Altered source versions must be plainly marked as such, and must not be
4555
+ misrepresented as being the original software.
4556
+
4557
+ 3. This notice may not be removed or altered from any source distribution.
4558
+ ```
4559
+
4536
4560
  ## webrtc
4537
4561
 
4538
4562
  ```
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { RingRTCType } from './ringrtc/Service';
2
2
  export { AnswerMessage, AudioDevice, DataMode, BusyMessage, Call, CallEndReason, CallId, CallLogLevel, CallMessageUrgency, CallRejectReason, CallSettings, CallState, CallingMessage, ConnectionState, DeviceId, GroupCall, GroupCallKind, GroupCallObserver, GroupMemberInfo, HangupMessage, HangupType, HttpMethod, HttpResult, IceCandidateMessage, JoinState, LocalDeviceState, OfferMessage, OfferType, OpaqueMessage, PeekDeviceInfo, PeekInfo, PeekStatusCodes, Reaction, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, SpeechEvent, UserId, VideoFrameSender, VideoFrameSource, VideoPixelFormatEnum, videoPixelFormatToEnum, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
3
- export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, CallLinkEpoch, } from './ringrtc/CallLinks';
3
+ export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, } from './ringrtc/CallLinks';
4
4
  export { CallSummary, QualityStats } from './ringrtc/CallSummary';
5
5
  export declare const RingRTC: RingRTCType;
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // SPDX-License-Identifier: AGPL-3.0-only
5
5
  //
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.RingRTC = exports.QualityStats = exports.CallSummary = exports.CallLinkEpoch = exports.CallLinkState = exports.CallLinkRestrictions = exports.CallLinkRootKey = exports.callIdFromRingId = exports.callIdFromEra = exports.VideoRequest = exports.videoPixelFormatToEnum = exports.VideoPixelFormatEnum = exports.SpeechEvent = exports.RingUpdate = exports.RingRTCType = exports.RingCancelReason = exports.RemoteDeviceState = exports.PeekStatusCodes = exports.OpaqueMessage = exports.OfferType = exports.OfferMessage = exports.LocalDeviceState = exports.JoinState = exports.IceCandidateMessage = exports.HttpMethod = exports.HangupType = exports.HangupMessage = exports.GroupMemberInfo = exports.GroupCallKind = exports.GroupCall = exports.ConnectionState = exports.CallingMessage = exports.CallState = exports.CallRejectReason = exports.CallMessageUrgency = exports.CallLogLevel = exports.CallEndReason = exports.Call = exports.BusyMessage = exports.DataMode = exports.AnswerMessage = void 0;
7
+ exports.RingRTC = exports.QualityStats = exports.CallSummary = exports.CallLinkState = exports.CallLinkRestrictions = exports.CallLinkRootKey = exports.callIdFromRingId = exports.callIdFromEra = exports.VideoRequest = exports.videoPixelFormatToEnum = exports.VideoPixelFormatEnum = exports.SpeechEvent = exports.RingUpdate = exports.RingRTCType = exports.RingCancelReason = exports.RemoteDeviceState = exports.PeekStatusCodes = exports.OpaqueMessage = exports.OfferType = exports.OfferMessage = exports.LocalDeviceState = exports.JoinState = exports.IceCandidateMessage = exports.HttpMethod = exports.HangupType = exports.HangupMessage = exports.GroupMemberInfo = exports.GroupCallKind = exports.GroupCall = exports.ConnectionState = exports.CallingMessage = exports.CallState = exports.CallRejectReason = exports.CallMessageUrgency = exports.CallLogLevel = exports.CallEndReason = exports.Call = exports.BusyMessage = exports.DataMode = exports.AnswerMessage = void 0;
8
8
  const Service_1 = require("./ringrtc/Service");
9
9
  var Service_2 = require("./ringrtc/Service");
10
10
  Object.defineProperty(exports, "AnswerMessage", { enumerable: true, get: function () { return Service_2.AnswerMessage; } });
@@ -45,7 +45,6 @@ var CallLinks_1 = require("./ringrtc/CallLinks");
45
45
  Object.defineProperty(exports, "CallLinkRootKey", { enumerable: true, get: function () { return CallLinks_1.CallLinkRootKey; } });
46
46
  Object.defineProperty(exports, "CallLinkRestrictions", { enumerable: true, get: function () { return CallLinks_1.CallLinkRestrictions; } });
47
47
  Object.defineProperty(exports, "CallLinkState", { enumerable: true, get: function () { return CallLinks_1.CallLinkState; } });
48
- Object.defineProperty(exports, "CallLinkEpoch", { enumerable: true, get: function () { return CallLinks_1.CallLinkEpoch; } });
49
48
  var CallSummary_1 = require("./ringrtc/CallSummary");
50
49
  Object.defineProperty(exports, "CallSummary", { enumerable: true, get: function () { return CallSummary_1.CallSummary; } });
51
50
  Object.defineProperty(exports, "QualityStats", { enumerable: true, get: function () { return CallSummary_1.QualityStats; } });
@@ -1,6 +1,6 @@
1
1
  export declare class CallLinkRootKey {
2
2
  readonly bytes: Uint8Array;
3
- private constructor();
3
+ constructor(bytes: Uint8Array);
4
4
  static parse(str: string): CallLinkRootKey;
5
5
  static fromBytes(bytes: Uint8Array): CallLinkRootKey;
6
6
  static generate(): CallLinkRootKey;
@@ -13,17 +13,11 @@ export declare class CallLinkState {
13
13
  restrictions: CallLinkRestrictions;
14
14
  revoked: boolean;
15
15
  expiration: Date;
16
- epoch?: CallLinkEpoch | undefined;
17
- constructor(name: string, restrictions: CallLinkRestrictions, revoked: boolean, expiration: Date, epoch?: CallLinkEpoch | undefined);
16
+ rootKey: CallLinkRootKey;
17
+ constructor(name: string, restrictions: CallLinkRestrictions, revoked: boolean, expiration: Date, rootKey: CallLinkRootKey);
18
18
  }
19
19
  export declare enum CallLinkRestrictions {
20
20
  None = 0,
21
21
  AdminApproval = 1,
22
22
  Unknown = 2
23
23
  }
24
- export declare class CallLinkEpoch {
25
- static parse(str: string): CallLinkEpoch;
26
- toString(): string;
27
- get bytes(): Uint8Array;
28
- static fromBytes(bytes: Uint8Array): CallLinkEpoch;
29
- }
@@ -7,7 +7,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  return (mod && mod.__esModule) ? mod : { "default": mod };
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.CallLinkEpoch = exports.CallLinkRestrictions = exports.CallLinkState = exports.CallLinkRootKey = void 0;
10
+ exports.CallLinkRestrictions = exports.CallLinkState = exports.CallLinkRootKey = void 0;
11
11
  const Native_1 = __importDefault(require("./Native"));
12
12
  class CallLinkRootKey {
13
13
  constructor(bytes) {
@@ -38,12 +38,12 @@ class CallLinkRootKey {
38
38
  }
39
39
  exports.CallLinkRootKey = CallLinkRootKey;
40
40
  class CallLinkState {
41
- constructor(name, restrictions, revoked, expiration, epoch) {
41
+ constructor(name, restrictions, revoked, expiration, rootKey) {
42
42
  this.name = name;
43
43
  this.restrictions = restrictions;
44
44
  this.revoked = revoked;
45
45
  this.expiration = expiration;
46
- this.epoch = epoch;
46
+ this.rootKey = rootKey;
47
47
  }
48
48
  }
49
49
  exports.CallLinkState = CallLinkState;
@@ -53,35 +53,4 @@ var CallLinkRestrictions;
53
53
  CallLinkRestrictions[CallLinkRestrictions["AdminApproval"] = 1] = "AdminApproval";
54
54
  CallLinkRestrictions[CallLinkRestrictions["Unknown"] = 2] = "Unknown";
55
55
  })(CallLinkRestrictions || (exports.CallLinkRestrictions = CallLinkRestrictions = {}));
56
- class CallLinkEpoch {
57
- /** @internal */
58
- constructor(value) {
59
- this.value = value;
60
- }
61
- /** @internal */
62
- asNumber() {
63
- return this.value;
64
- }
65
- static parse(str) {
66
- return new CallLinkEpoch(Native_1.default.CallLinkEpoch_parse(str));
67
- }
68
- toString() {
69
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
70
- return Native_1.default.CallLinkEpoch_toFormattedString(this.value);
71
- }
72
- get bytes() {
73
- const value = this.value & 0xffffffff;
74
- const bytes = new Uint8Array(4);
75
- bytes[0] = value & 0x000000ff;
76
- bytes[1] = (value & 0x0000ff00) >> 8;
77
- bytes[2] = (value & 0x00ff0000) >> 16;
78
- bytes[3] = (value & 0xff000000) >> 24;
79
- return bytes;
80
- }
81
- static fromBytes(bytes) {
82
- const value = bytes[0] + bytes[1] * 0x100 + 0x10000 * (bytes[2] + bytes[3] * 0x100);
83
- return new CallLinkEpoch(value);
84
- }
85
- }
86
- exports.CallLinkEpoch = CallLinkEpoch;
87
56
  //# sourceMappingURL=CallLinks.js.map
@@ -1,4 +1,4 @@
1
- import { CallLinkState, CallLinkRestrictions, CallLinkRootKey, CallLinkEpoch } from './CallLinks';
1
+ import { CallLinkState, CallLinkRestrictions, CallLinkRootKey } from './CallLinks';
2
2
  import { CallSummary } from './CallSummary';
3
3
  export declare const callIdFromEra: (era: string) => CallId;
4
4
  export declare function callIdFromRingId(ringId: bigint): CallId;
@@ -74,7 +74,7 @@ interface RawCallLinkState {
74
74
  rawRestrictions: number;
75
75
  revoked: boolean;
76
76
  expiration: Date;
77
- epoch?: number;
77
+ rootKey: Uint8Array;
78
78
  }
79
79
  export type EmptyObj = Record<PropertyKey, never>;
80
80
  export type HttpResult<T> = {
@@ -141,12 +141,11 @@ export declare class RingRTCType {
141
141
  * @param sfuUrl - the URL to use when accessing the SFU
142
142
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
143
143
  * @param linkRootKey - the root key for the call link
144
- * @param epoch - the optional call link epoch
145
144
  *
146
145
  * Expected failure codes include:
147
146
  * - 404: the room does not exist (or expired so long ago that it has been removed from the server)
148
147
  */
149
- readCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined): Promise<HttpResult<CallLinkState>>;
148
+ readCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey): Promise<HttpResult<CallLinkState>>;
150
149
  /**
151
150
  * Asynchronous request to create a new call link.
152
151
  *
@@ -196,11 +195,10 @@ export declare class RingRTCType {
196
195
  * @param sfuUrl - the URL to use when accessing the SFU
197
196
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
198
197
  * @param linkRootKey - the root key for the call link
199
- * @param epoch - the optional call link epoch
200
198
  * @param adminPasskey - the passkey specified when the link was created
201
199
  * @param newName - the new name to use
202
200
  */
203
- updateCallLinkName(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined, adminPasskey: Uint8Array, newName: string): Promise<HttpResult<CallLinkState>>;
201
+ updateCallLinkName(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, adminPasskey: Uint8Array, newName: string): Promise<HttpResult<CallLinkState>>;
204
202
  /**
205
203
  * Asynchronous request to update a call link's restrictions.
206
204
  *
@@ -214,11 +212,10 @@ export declare class RingRTCType {
214
212
  * @param sfuUrl - the URL to use when accessing the SFU
215
213
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
216
214
  * @param linkRootKey - the root key for the call link
217
- * @param epoch - the optional call link epoch
218
215
  * @param adminPasskey - the passkey specified when the link was created
219
216
  * @param restrictions - the new restrictions to use
220
217
  */
221
- updateCallLinkRestrictions(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined, adminPasskey: Uint8Array, restrictions: Exclude<CallLinkRestrictions, CallLinkRestrictions.Unknown>): Promise<HttpResult<CallLinkState>>;
218
+ updateCallLinkRestrictions(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, adminPasskey: Uint8Array, restrictions: Exclude<CallLinkRestrictions, CallLinkRestrictions.Unknown>): Promise<HttpResult<CallLinkState>>;
222
219
  /**
223
220
  * Asynchronous request to delete a call link.
224
221
  *
@@ -231,17 +228,16 @@ export declare class RingRTCType {
231
228
  * @param sfuUrl - the URL to use when accessing the SFU
232
229
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
233
230
  * @param linkRootKey - the root key for the call link
234
- * @param epoch - the optional call link epoch
235
231
  * @param adminPasskey - the passkey specified when the link was created
236
232
  */
237
- deleteCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined, adminPasskey: Uint8Array): Promise<HttpResult<undefined>>;
233
+ deleteCallLink(sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: CallLinkRootKey, adminPasskey: Uint8Array): Promise<HttpResult<undefined>>;
238
234
  receivedHttpResponse(requestId: number, status: number, body: Uint8Array): void;
239
235
  httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
240
236
  getGroupCall(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number | undefined, observer: GroupCallObserver): GroupCall | undefined;
241
- getCallLinkCall(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined, adminPasskey: Uint8Array | undefined, 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;
242
238
  peekGroupCall(sfuUrl: string, membershipProof: Uint8Array, groupMembers: Array<GroupMemberInfo>): Promise<PeekInfo>;
243
239
  setMicrophoneWarmupEnabled(warmup: boolean): void;
244
- peekCallLinkCall(sfuUrl: string, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey, epoch: CallLinkEpoch | undefined): Promise<HttpResult<PeekInfo>>;
240
+ peekCallLinkCall(sfuUrl: string, authCredentialPresentation: Uint8Array, rootKey: CallLinkRootKey): Promise<HttpResult<PeekInfo>>;
245
241
  requestMembershipProof(clientId: GroupCallClientId): void;
246
242
  requestGroupMembers(clientId: GroupCallClientId): void;
247
243
  handleConnectionStateChanged(clientId: GroupCallClientId, connectionState: ConnectionState): void;
@@ -671,7 +667,7 @@ export interface CallManager {
671
667
  receivedHttpResponse(requestId: number, status: number, body: Uint8Array): void;
672
668
  httpRequestFailed(requestId: number, debugInfo: string | undefined): void;
673
669
  createGroupCallClient(groupId: GroupId, sfuUrl: string, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number): GroupCallClientId;
674
- createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number): GroupCallClientId;
670
+ createCallLinkCallClient(sfuUrl: string, endorsementPublicKey: Uint8Array, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array | undefined, hkdfExtraInfo: Uint8Array, audioLevelsIntervalMillis: number): GroupCallClientId;
675
671
  deleteGroupCallClient(clientId: GroupCallClientId): void;
676
672
  connect(clientId: GroupCallClientId): void;
677
673
  join(clientId: GroupCallClientId): void;
@@ -697,12 +693,12 @@ export interface CallManager {
697
693
  setMembershipProof(clientId: GroupCallClientId, proof: Uint8Array): void;
698
694
  receiveGroupCallVideoFrame(clientId: GroupCallClientId, remoteDemuxId: number, buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
699
695
  setRtcStatsInterval(clientId: GroupCallClientId, intervalMillis: number): void;
700
- readCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined): void;
696
+ readCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array): void;
701
697
  createCallLink(requestId: number, sfuUrl: string, createCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array, callLinkPublicParams: Uint8Array, restrictions: number | undefined): void;
702
- updateCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined, adminPasskey: Uint8Array, newName: string | undefined, newRestrictions: number | undefined, newRevoked: boolean | undefined): void;
703
- deleteCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined, adminPasskey: Uint8Array): void;
698
+ updateCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array, newName: string | undefined, newRestrictions: number | undefined, newRevoked: boolean | undefined): void;
699
+ deleteCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array): void;
704
700
  peekGroupCall(requestId: number, sfu_url: string, membership_proof: Uint8Array, group_members: Array<GroupMemberInfo>): void;
705
- peekCallLinkCall(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined): void;
701
+ peekCallLinkCall(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array): void;
706
702
  getAudioInputs(): Array<AudioDevice>;
707
703
  setAudioInput(index: number): void;
708
704
  getAudioOutputs(): Array<AudioDevice>;
@@ -212,11 +212,7 @@ function rawCallLinkStateToCallLinkState(raw) {
212
212
  restrictions = CallLinks_1.CallLinkRestrictions.Unknown;
213
213
  break;
214
214
  }
215
- let epoch;
216
- if (raw.epoch) {
217
- epoch = new CallLinks_1.CallLinkEpoch(raw.epoch);
218
- }
219
- return new CallLinks_1.CallLinkState(raw.name, restrictions, raw.revoked, raw.expiration, epoch);
215
+ return new CallLinks_1.CallLinkState(raw.name, restrictions, raw.revoked, raw.expiration, new CallLinks_1.CallLinkRootKey(raw.rootKey));
220
216
  }
221
217
  else {
222
218
  return undefined;
@@ -580,16 +576,15 @@ class RingRTCType {
580
576
  * @param sfuUrl - the URL to use when accessing the SFU
581
577
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
582
578
  * @param linkRootKey - the root key for the call link
583
- * @param epoch - the optional call link epoch
584
579
  *
585
580
  * Expected failure codes include:
586
581
  * - 404: the room does not exist (or expired so long ago that it has been removed from the server)
587
582
  */
588
- readCallLink(sfuUrl, authCredentialPresentation, linkRootKey, epoch) {
583
+ readCallLink(sfuUrl, authCredentialPresentation, linkRootKey) {
589
584
  const [requestId, promise] = this._callLinkRequests.add();
590
585
  // Response comes back via handleCallLinkResponse
591
586
  sillyDeadlockProtection(() => {
592
- this.callManager.readCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, epoch?.asNumber());
587
+ this.callManager.readCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes);
593
588
  });
594
589
  return promise;
595
590
  }
@@ -649,15 +644,14 @@ class RingRTCType {
649
644
  * @param sfuUrl - the URL to use when accessing the SFU
650
645
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
651
646
  * @param linkRootKey - the root key for the call link
652
- * @param epoch - the optional call link epoch
653
647
  * @param adminPasskey - the passkey specified when the link was created
654
648
  * @param newName - the new name to use
655
649
  */
656
- updateCallLinkName(sfuUrl, authCredentialPresentation, linkRootKey, epoch, adminPasskey, newName) {
650
+ updateCallLinkName(sfuUrl, authCredentialPresentation, linkRootKey, adminPasskey, newName) {
657
651
  const [requestId, promise] = this._callLinkRequests.add();
658
652
  // Response comes back via handleCallLinkResponse
659
653
  sillyDeadlockProtection(() => {
660
- this.callManager.updateCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, epoch?.asNumber(), adminPasskey, newName, undefined, undefined);
654
+ this.callManager.updateCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, adminPasskey, newName, undefined, undefined);
661
655
  });
662
656
  return promise;
663
657
  }
@@ -674,15 +668,14 @@ class RingRTCType {
674
668
  * @param sfuUrl - the URL to use when accessing the SFU
675
669
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
676
670
  * @param linkRootKey - the root key for the call link
677
- * @param epoch - the optional call link epoch
678
671
  * @param adminPasskey - the passkey specified when the link was created
679
672
  * @param restrictions - the new restrictions to use
680
673
  */
681
- updateCallLinkRestrictions(sfuUrl, authCredentialPresentation, linkRootKey, epoch, adminPasskey, restrictions) {
674
+ updateCallLinkRestrictions(sfuUrl, authCredentialPresentation, linkRootKey, adminPasskey, restrictions) {
682
675
  const [requestId, promise] = this._callLinkRequests.add();
683
676
  // Response comes back via handleCallLinkResponse
684
677
  sillyDeadlockProtection(() => {
685
- this.callManager.updateCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, epoch?.asNumber(), adminPasskey, undefined, restrictions, undefined);
678
+ this.callManager.updateCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, adminPasskey, undefined, restrictions, undefined);
686
679
  });
687
680
  return promise;
688
681
  }
@@ -698,14 +691,13 @@ class RingRTCType {
698
691
  * @param sfuUrl - the URL to use when accessing the SFU
699
692
  * @param authCredentialPresentation - a serialized CallLinkAuthCredentialPresentation
700
693
  * @param linkRootKey - the root key for the call link
701
- * @param epoch - the optional call link epoch
702
694
  * @param adminPasskey - the passkey specified when the link was created
703
695
  */
704
- deleteCallLink(sfuUrl, authCredentialPresentation, linkRootKey, epoch, adminPasskey) {
696
+ deleteCallLink(sfuUrl, authCredentialPresentation, linkRootKey, adminPasskey) {
705
697
  const [requestId, promise] = this._emptyRequests.add();
706
698
  // Response comes back via handleCallLinkResponse
707
699
  sillyDeadlockProtection(() => {
708
- this.callManager.deleteCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, epoch?.asNumber(), adminPasskey);
700
+ this.callManager.deleteCallLink(requestId, sfuUrl, authCredentialPresentation, linkRootKey.bytes, adminPasskey);
709
701
  });
710
702
  return promise;
711
703
  }
@@ -745,8 +737,8 @@ class RingRTCType {
745
737
  return groupCall;
746
738
  }
747
739
  // Called by UX
748
- getCallLinkCall(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey, epoch, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, observer) {
749
- const clientId = this.callManager.createCallLinkCallClient(sfuUrl, endorsementPublicKey, authCredentialPresentation, rootKey.bytes, epoch?.asNumber(), adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0);
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);
750
742
  if (clientId === INVALID_CLIENT_ID) {
751
743
  // Return undefined since the call link client creation failed.
752
744
  return undefined;
@@ -785,11 +777,11 @@ class RingRTCType {
785
777
  });
786
778
  }
787
779
  // Called by UX
788
- peekCallLinkCall(sfuUrl, authCredentialPresentation, rootKey, epoch) {
780
+ peekCallLinkCall(sfuUrl, authCredentialPresentation, rootKey) {
789
781
  const [requestId, promise] = this._peekRequests.add();
790
782
  // Response comes back via handlePeekResponse
791
783
  sillyDeadlockProtection(() => {
792
- this.callManager.peekCallLinkCall(requestId, sfuUrl, authCredentialPresentation, rootKey.bytes, epoch?.asNumber());
784
+ this.callManager.peekCallLinkCall(requestId, sfuUrl, authCredentialPresentation, rootKey.bytes);
793
785
  });
794
786
  return promise;
795
787
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalapp/ringrtc",
3
- "version": "2.64.0",
3
+ "version": "2.65.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": "8905e0be79720142f8086f5371e0f7fedf124ded589ad71224f3b4d6214a75bd"
36
+ "prebuildChecksum": "f178eec35e6b8a845059880210cff22167bd91a0cfabecd22c42a19f57f2cf3a"
37
37
  },
38
38
  "author": "",
39
39
  "license": "AGPL-3.0-only",