livekit-client 2.13.5 → 2.13.7

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.
@@ -34,8 +34,8 @@ export declare class SignalClient {
34
34
  /** simulate signaling latency by delaying messages */
35
35
  signalLatency?: number;
36
36
  onClose?: (reason: string) => void;
37
- onAnswer?: (sd: RTCSessionDescriptionInit) => void;
38
- onOffer?: (sd: RTCSessionDescriptionInit) => void;
37
+ onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
38
+ onOffer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
39
39
  onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
40
40
  onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
41
41
  onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
@@ -79,8 +79,8 @@ export declare class SignalClient {
79
79
  /** @internal */
80
80
  resetCallbacks: () => void;
81
81
  close(updateState?: boolean): Promise<void>;
82
- sendOffer(offer: RTCSessionDescriptionInit): void;
83
- sendAnswer(answer: RTCSessionDescriptionInit): Promise<void>;
82
+ sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
83
+ sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
84
84
  sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
85
85
  sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
86
86
  sendAddTrack(req: AddTrackRequest): Promise<void>;
@@ -111,6 +111,6 @@ export declare class SignalClient {
111
111
  private startPingInterval;
112
112
  private clearPingInterval;
113
113
  }
114
- export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit): SessionDescription;
114
+ export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
115
115
  export {};
116
116
  //# sourceMappingURL=SignalClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publishVideo.d.ts","sourceRoot":"","sources":["../../../../src/connectionHelper/checks/publishVideo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,iBAAkB,SAAQ,OAAO;IAC5C,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCxB,aAAa,CAAC,KAAK,EAAE,gBAAgB;CA+C5C"}
1
+ {"version":3,"file":"publishVideo.d.ts","sourceRoot":"","sources":["../../../../src/connectionHelper/checks/publishVideo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,iBAAkB,SAAQ,OAAO;IAC5C,IAAI,WAAW,IAAI,MAAM,CAExB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCxB,aAAa,CAAC,KAAK,EAAE,gBAAgB;CAgD5C"}
@@ -20,13 +20,14 @@ export default class PCTransport extends EventEmitter {
20
20
  private log;
21
21
  private loggerOptions;
22
22
  private ddExtID;
23
+ private latestOfferId;
23
24
  pendingCandidates: RTCIceCandidateInit[];
24
25
  restartingIce: boolean;
25
26
  renegotiate: boolean;
26
27
  trackBitrates: TrackBitrateInfo[];
27
28
  remoteStereoMids: string[];
28
29
  remoteNackMids: string[];
29
- onOffer?: (offer: RTCSessionDescriptionInit) => void;
30
+ onOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
30
31
  onIceCandidate?: (candidate: RTCIceCandidate) => void;
31
32
  onIceCandidateError?: (ev: Event) => void;
32
33
  onConnectionStateChange?: (state: RTCPeerConnectionState) => void;
@@ -39,7 +40,7 @@ export default class PCTransport extends EventEmitter {
39
40
  private get logContext();
40
41
  get isICEConnected(): boolean;
41
42
  addIceCandidate(candidate: RTCIceCandidateInit): Promise<void>;
42
- setRemoteDescription(sd: RTCSessionDescriptionInit): Promise<void>;
43
+ setRemoteDescription(sd: RTCSessionDescriptionInit, offerId: number): Promise<boolean>;
43
44
  negotiate: {
44
45
  (this: unknown, ...args: [onError?: ((e: Error) => void) | undefined] & any[]): Promise<Promise<void>>;
45
46
  cancel: (reason?: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,OAAO,CAAC,GAAG,CAA2B;IAEtC,OAAO,KAAK,EAAE,GAKb;IAED,OAAO,CAAC,MAAM,CAAC,CAAmB;IAElC,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,OAAO,CAAK;IAEpB,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAErD,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAEtD,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAElE,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEpE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE5D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;gBAE1B,MAAM,CAAC,EAAE,gBAAgB,EAAE,aAAa,GAAE,aAAkB;IAQxE,OAAO,CAAC,QAAQ;IA+BhB,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,cAAc,IAAI,OAAO,CAK5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoFxE,SAAS;iDAAiC,KAAK,KAAK,IAAI;uBA9MV,CAAC;MAyN1B;IAEf,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe;IAwF5C,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAa9D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB;IAIpE,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB;IAIzF,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAOhC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB;IAI3C,gBAAgB,CAAC,SAAS,EAAE,gBAAgB;IAO5C,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,MAAM,EAAE,YAAY;IAIhC,kBAAkB;IAIlB,qBAAqB;IAIrB,kBAAkB;IAIlB,eAAe;IAIf,UAAU;IAIV,mBAAmB;IAInB,oBAAoB;IAIpB,QAAQ;IAIF,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqCxD,KAAK,aAiBH;YAEY,YAAY;IAmD1B,OAAO,CAAC,4BAA4B;CAqCrC"}
1
+ {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class PCTransportManager {
20
20
  onIceCandidate?: (ev: RTCIceCandidate, target: SignalTarget) => void;
21
21
  onDataChannel?: (ev: RTCDataChannelEvent) => void;
22
22
  onTrack?: (ev: RTCTrackEvent) => void;
23
- onPublisherOffer?: (offer: RTCSessionDescriptionInit) => void;
23
+ onPublisherOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
24
24
  private isPublisherConnectionRequired;
25
25
  private isSubscriberConnectionRequired;
26
26
  private state;
@@ -33,12 +33,12 @@ export declare class PCTransportManager {
33
33
  requirePublisher(require?: boolean): void;
34
34
  requireSubscriber(require?: boolean): void;
35
35
  createAndSendPublisherOffer(options?: RTCOfferOptions): Promise<void>;
36
- setPublisherAnswer(sd: RTCSessionDescriptionInit): Promise<void>;
36
+ setPublisherAnswer(sd: RTCSessionDescriptionInit, offerId: number): Promise<boolean>;
37
37
  removeTrack(sender: RTCRtpSender): void | undefined;
38
38
  close(): Promise<void>;
39
39
  triggerIceRestart(): Promise<void>;
40
40
  addIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
41
- createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit): Promise<RTCSessionDescriptionInit>;
41
+ createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit, offerId: number): Promise<RTCSessionDescriptionInit | undefined>;
42
42
  updateConfiguration(config: RTCConfiguration, iceRestart?: boolean): void;
43
43
  ensurePCTransportConnection(abortController?: AbortController, timeout?: number): Promise<void>;
44
44
  negotiate(abortController: AbortController): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PCTransportManager.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransportManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,WAAyB,MAAM,eAAe,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,oBAAY,gBAAgB;IAC1B,GAAG,IAAA;IACH,UAAU,IAAA;IACV,SAAS,IAAA;IACT,MAAM,IAAA;IACN,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,qBAAa,kBAAkB;IACtB,SAAS,EAAE,WAAW,CAAC;IAEvB,UAAU,EAAE,WAAW,CAAC;IAExB,qBAAqB,EAAE,MAAM,CAAmD;IAEvF,IAAW,cAAc,YAExB;IAED,IAAW,eAAe,YAEzB;IAED,IAAW,YAAY,qBAEtB;IAEM,aAAa,CAAC,EAAE,CACrB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,sBAAsB,KAC7B,IAAI,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAErE,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;IAEtC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAErE,OAAO,CAAC,6BAA6B,CAAU;IAE/C,OAAO,CAAC,8BAA8B,CAAU;IAEhD,OAAO,CAAC,KAAK,CAAmB;IAEhC,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,eAAe,CAAQ;IAE/B,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,aAAa,CAAgB;gBAGnC,SAAS,EAAE,gBAAgB,EAC3B,iBAAiB,EAAE,OAAO,EAC1B,aAAa,EAAE,aAAa;IAuC9B,OAAO,KAAK,UAAU,GAIrB;IAED,gBAAgB,CAAC,OAAO,UAAO;IAK/B,iBAAiB,CAAC,OAAO,UAAO;IAKhC,2BAA2B,CAAC,OAAO,CAAC,EAAE,eAAe;IAIrD,kBAAkB,CAAC,EAAE,EAAE,yBAAyB;IAIhD,WAAW,CAAC,MAAM,EAAE,YAAY;IAI1B,KAAK;IAkBL,iBAAiB;IAQjB,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY;IAQpE,+BAA+B,CAAC,EAAE,EAAE,yBAAyB;IAmBnE,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,OAAO;IAQ5D,2BAA2B,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM;IAqB/E,SAAS,CAAC,eAAe,EAAE,eAAe;IA6BhD,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB;IAIvF,iBAAiB,CAAC,KAAK,EAAE,gBAAgB;IAIzC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB;IAI7E;;OAEG;IACH,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY;IASzC,OAAO,KAAK,kBAAkB,GAS7B;IAED,OAAO,CAAC,WAAW,CA+BjB;YAEY,wBAAwB;CAsDvC"}
1
+ {"version":3,"file":"PCTransportManager.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransportManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,WAAyB,MAAM,eAAe,CAAC;AAItD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,oBAAY,gBAAgB;IAC1B,GAAG,IAAA;IACH,UAAU,IAAA;IACV,SAAS,IAAA;IACT,MAAM,IAAA;IACN,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,qBAAa,kBAAkB;IACtB,SAAS,EAAE,WAAW,CAAC;IAEvB,UAAU,EAAE,WAAW,CAAC;IAExB,qBAAqB,EAAE,MAAM,CAAmD;IAEvF,IAAW,cAAc,YAExB;IAED,IAAW,eAAe,YAEzB;IAED,IAAW,YAAY,qBAEtB;IAEM,aAAa,CAAC,EAAE,CACrB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,sBAAsB,KAC7B,IAAI,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAErE,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;IAEtC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtF,OAAO,CAAC,6BAA6B,CAAU;IAE/C,OAAO,CAAC,8BAA8B,CAAU;IAEhD,OAAO,CAAC,KAAK,CAAmB;IAEhC,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,eAAe,CAAQ;IAE/B,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,aAAa,CAAgB;gBAGnC,SAAS,EAAE,gBAAgB,EAC3B,iBAAiB,EAAE,OAAO,EAC1B,aAAa,EAAE,aAAa;IAuC9B,OAAO,KAAK,UAAU,GAIrB;IAED,gBAAgB,CAAC,OAAO,UAAO;IAK/B,iBAAiB,CAAC,OAAO,UAAO;IAKhC,2BAA2B,CAAC,OAAO,CAAC,EAAE,eAAe;IAIrD,kBAAkB,CAAC,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM;IAIjE,WAAW,CAAC,MAAM,EAAE,YAAY;IAI1B,KAAK;IAkBL,iBAAiB;IAQjB,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY;IAQpE,+BAA+B,CAAC,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM;IAsBpF,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,OAAO;IAQ5D,2BAA2B,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM;IAqB/E,SAAS,CAAC,eAAe,EAAE,eAAe;IA6BhD,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB;IAIvF,iBAAiB,CAAC,KAAK,EAAE,gBAAgB;IAIzC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB;IAI7E;;OAEG;IACH,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY;IASzC,OAAO,KAAK,kBAAkB,GAS7B;IAED,OAAO,CAAC,WAAW,CA+BjB;YAEY,wBAAwB;CAsDvC"}
@@ -27,6 +27,10 @@ export default class RTCEngine extends RTCEngine_base {
27
27
  * @internal
28
28
  */
29
29
  latestJoinResponse?: JoinResponse;
30
+ /**
31
+ * @internal
32
+ */
33
+ latestRemoteOfferId: number;
30
34
  get isClosed(): boolean;
31
35
  get pendingReconnect(): boolean;
32
36
  private lossyDC?;
@@ -1 +1 @@
1
- {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,qBAAa,kBAAkB;IAC7B,KAAK,EAAE,UAAU,CAAC;IAElB,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAC;gBAE3B,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB;CAIlE;AAID,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAEvE,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,OAAO,CAAC,SAAS,CAAC,CAAgC;IAElD,OAAO,CAAC,SAAS,CAAC,CAA6B;IAG/C,eAAe,EAAE,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAA6C;IAEjG,OAAO,CAAC,gBAAgB,CAAC,CAAoB;IAM7C,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,qBAAqB,CAAwC;IAErE,IAAI,MAAM,IAAI,YAAY,GAAG,SAAS,CAErC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAK1C;IAED;;;;;OAKG;gBAED,UAAU,EAAE,gBAAgB,EAC5B,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAO,EACxB,aAAa,CAAC,EAAE,aAAa;IAM/B,IAAI,WAAW,IAAI,OAAO,CAKzB;IAGD,YAAY,CAAC,YAAY,EAAE,YAAY;IAoBvC,IAAI;IAQE,aAAa;IAOb,cAAc;IAOd,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAoB5B,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC;IAmBpC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;IAOhC,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgDnD,oBAAoB,CAAC,UAAU,EAAE,YAAY;IAcvC,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB;IAkB1C,YAAY,CAChB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,0BAA0B,UAAO;IAW7B,wBAAwB,CAAC,UAAU,EAAE,wBAAwB;IAcnE,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,wBAAwB,EAAE,GACrC,kBAAkB,GAAG,SAAS;IAejC,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY;IAgB/D;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgD3E;;;OAGG;IACG,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAiBxE,SAAS,CAAC,aAAa,sBAyBrB;cAEc,0BAA0B;CAO3C;AAgID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAW5D;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,wBAAwB,EAAE,EACtC,GAAG,CAAC,EAAE,OAAO,GACZ,UAAU,EAAE,CAiDd"}
@@ -34,8 +34,8 @@ export declare class SignalClient {
34
34
  /** simulate signaling latency by delaying messages */
35
35
  signalLatency?: number;
36
36
  onClose?: (reason: string) => void;
37
- onAnswer?: (sd: RTCSessionDescriptionInit) => void;
38
- onOffer?: (sd: RTCSessionDescriptionInit) => void;
37
+ onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
38
+ onOffer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
39
39
  onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
40
40
  onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
41
41
  onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
@@ -79,8 +79,8 @@ export declare class SignalClient {
79
79
  /** @internal */
80
80
  resetCallbacks: () => void;
81
81
  close(updateState?: boolean): Promise<void>;
82
- sendOffer(offer: RTCSessionDescriptionInit): void;
83
- sendAnswer(answer: RTCSessionDescriptionInit): Promise<void>;
82
+ sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
83
+ sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
84
84
  sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
85
85
  sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
86
86
  sendAddTrack(req: AddTrackRequest): Promise<void>;
@@ -114,6 +114,6 @@ export declare class SignalClient {
114
114
  private startPingInterval;
115
115
  private clearPingInterval;
116
116
  }
117
- export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit): SessionDescription;
117
+ export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
118
118
  export {};
119
119
  //# sourceMappingURL=SignalClient.d.ts.map
@@ -20,13 +20,14 @@ export default class PCTransport extends EventEmitter {
20
20
  private log;
21
21
  private loggerOptions;
22
22
  private ddExtID;
23
+ private latestOfferId;
23
24
  pendingCandidates: RTCIceCandidateInit[];
24
25
  restartingIce: boolean;
25
26
  renegotiate: boolean;
26
27
  trackBitrates: TrackBitrateInfo[];
27
28
  remoteStereoMids: string[];
28
29
  remoteNackMids: string[];
29
- onOffer?: (offer: RTCSessionDescriptionInit) => void;
30
+ onOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
30
31
  onIceCandidate?: (candidate: RTCIceCandidate) => void;
31
32
  onIceCandidateError?: (ev: Event) => void;
32
33
  onConnectionStateChange?: (state: RTCPeerConnectionState) => void;
@@ -39,7 +40,7 @@ export default class PCTransport extends EventEmitter {
39
40
  private get logContext();
40
41
  get isICEConnected(): boolean;
41
42
  addIceCandidate(candidate: RTCIceCandidateInit): Promise<void>;
42
- setRemoteDescription(sd: RTCSessionDescriptionInit): Promise<void>;
43
+ setRemoteDescription(sd: RTCSessionDescriptionInit, offerId: number): Promise<boolean>;
43
44
  negotiate: {
44
45
  (this: unknown, ...args: [
45
46
  onError?: ((e: Error) => void) | undefined
@@ -20,7 +20,7 @@ export declare class PCTransportManager {
20
20
  onIceCandidate?: (ev: RTCIceCandidate, target: SignalTarget) => void;
21
21
  onDataChannel?: (ev: RTCDataChannelEvent) => void;
22
22
  onTrack?: (ev: RTCTrackEvent) => void;
23
- onPublisherOffer?: (offer: RTCSessionDescriptionInit) => void;
23
+ onPublisherOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
24
24
  private isPublisherConnectionRequired;
25
25
  private isSubscriberConnectionRequired;
26
26
  private state;
@@ -33,12 +33,12 @@ export declare class PCTransportManager {
33
33
  requirePublisher(require?: boolean): void;
34
34
  requireSubscriber(require?: boolean): void;
35
35
  createAndSendPublisherOffer(options?: RTCOfferOptions): Promise<void>;
36
- setPublisherAnswer(sd: RTCSessionDescriptionInit): Promise<void>;
36
+ setPublisherAnswer(sd: RTCSessionDescriptionInit, offerId: number): Promise<boolean>;
37
37
  removeTrack(sender: RTCRtpSender): void | undefined;
38
38
  close(): Promise<void>;
39
39
  triggerIceRestart(): Promise<void>;
40
40
  addIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
41
- createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit): Promise<RTCSessionDescriptionInit>;
41
+ createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit, offerId: number): Promise<RTCSessionDescriptionInit | undefined>;
42
42
  updateConfiguration(config: RTCConfiguration, iceRestart?: boolean): void;
43
43
  ensurePCTransportConnection(abortController?: AbortController, timeout?: number): Promise<void>;
44
44
  negotiate(abortController: AbortController): Promise<void>;
@@ -28,6 +28,10 @@ export default class RTCEngine extends RTCEngine_base {
28
28
  * @internal
29
29
  */
30
30
  latestJoinResponse?: JoinResponse;
31
+ /**
32
+ * @internal
33
+ */
34
+ latestRemoteOfferId: number;
31
35
  get isClosed(): boolean;
32
36
  get pendingReconnect(): boolean;
33
37
  private lossyDC?;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livekit-client",
3
- "version": "2.13.5",
3
+ "version": "2.13.7",
4
4
  "description": "JavaScript/TypeScript client SDK for LiveKit",
5
5
  "main": "./dist/livekit-client.umd.js",
6
6
  "unpkg": "./dist/livekit-client.umd.js",
@@ -37,7 +37,7 @@
37
37
  "license": "Apache-2.0",
38
38
  "dependencies": {
39
39
  "@livekit/mutex": "1.1.1",
40
- "@livekit/protocol": "1.39.1",
40
+ "@livekit/protocol": "1.39.2",
41
41
  "events": "^3.3.0",
42
42
  "loglevel": "^1.9.2",
43
43
  "sdp-transform": "^2.15.0",
@@ -50,13 +50,13 @@
50
50
  "@types/dom-mediacapture-record": "^1"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/core": "7.27.1",
53
+ "@babel/core": "7.27.4",
54
54
  "@babel/preset-env": "7.27.2",
55
55
  "@bufbuild/protoc-gen-es": "^1.10.0",
56
56
  "@changesets/cli": "2.29.4",
57
57
  "@livekit/changesets-changelog-github": "^0.0.4",
58
58
  "@rollup/plugin-babel": "6.0.4",
59
- "@rollup/plugin-commonjs": "28.0.3",
59
+ "@rollup/plugin-commonjs": "28.0.5",
60
60
  "@rollup/plugin-json": "6.1.0",
61
61
  "@rollup/plugin-node-resolve": "16.0.1",
62
62
  "@rollup/plugin-terser": "^0.4.4",
@@ -64,25 +64,25 @@
64
64
  "@size-limit/webpack": "^11.2.0",
65
65
  "@trivago/prettier-plugin-sort-imports": "^5.0.0",
66
66
  "@types/events": "^3.0.3",
67
- "@types/sdp-transform": "2.4.9",
67
+ "@types/sdp-transform": "2.4.10",
68
68
  "@types/ua-parser-js": "0.7.39",
69
69
  "@typescript-eslint/eslint-plugin": "7.18.0",
70
70
  "@typescript-eslint/parser": "7.18.0",
71
71
  "downlevel-dts": "^0.11.0",
72
72
  "eslint": "8.57.1",
73
73
  "eslint-config-airbnb-typescript": "18.0.0",
74
- "eslint-config-prettier": "9.1.0",
74
+ "eslint-config-prettier": "10.1.5",
75
75
  "eslint-plugin-ecmascript-compat": "^3.2.1",
76
76
  "eslint-plugin-import": "2.31.0",
77
77
  "gh-pages": "6.3.0",
78
78
  "happy-dom": "^17.2.0",
79
79
  "jsdom": "^26.1.0",
80
80
  "prettier": "^3.4.2",
81
- "rollup": "4.41.0",
81
+ "rollup": "4.43.0",
82
82
  "rollup-plugin-delete": "^2.1.0",
83
83
  "rollup-plugin-typescript2": "0.36.0",
84
84
  "size-limit": "^11.2.0",
85
- "typedoc": "0.28.4",
85
+ "typedoc": "0.28.5",
86
86
  "typedoc-plugin-no-inherit": "1.6.1",
87
87
  "typescript": "5.8.3",
88
88
  "vite": "5.4.19",
@@ -110,9 +110,9 @@ export class SignalClient {
110
110
 
111
111
  onClose?: (reason: string) => void;
112
112
 
113
- onAnswer?: (sd: RTCSessionDescriptionInit) => void;
113
+ onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
114
114
 
115
- onOffer?: (sd: RTCSessionDescriptionInit) => void;
115
+ onOffer?: (sd: RTCSessionDescriptionInit, offerId: number) => void;
116
116
 
117
117
  // when a new ICE candidate is made available
118
118
  onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
@@ -246,16 +246,13 @@ export class SignalClient {
246
246
  // clear ping interval and restart it once reconnected
247
247
  this.clearPingInterval();
248
248
 
249
- const res = await this.connect(url, token, {
249
+ const res = (await this.connect(url, token, {
250
250
  ...this.options,
251
251
  reconnect: true,
252
252
  sid,
253
253
  reconnectReason: reason,
254
- });
255
- if (res instanceof ReconnectResponse) {
256
- return res;
257
- }
258
- return;
254
+ })) as ReconnectResponse;
255
+ return res;
259
256
  }
260
257
 
261
258
  private connect(
@@ -509,20 +506,20 @@ export class SignalClient {
509
506
  }
510
507
 
511
508
  // initial offer after joining
512
- sendOffer(offer: RTCSessionDescriptionInit) {
509
+ sendOffer(offer: RTCSessionDescriptionInit, offerId: number) {
513
510
  this.log.debug('sending offer', { ...this.logContext, offerSdp: offer.sdp });
514
511
  this.sendRequest({
515
512
  case: 'offer',
516
- value: toProtoSessionDescription(offer),
513
+ value: toProtoSessionDescription(offer, offerId),
517
514
  });
518
515
  }
519
516
 
520
517
  // answer a server-initiated offer
521
- sendAnswer(answer: RTCSessionDescriptionInit) {
518
+ sendAnswer(answer: RTCSessionDescriptionInit, offerId: number) {
522
519
  this.log.debug('sending answer', { ...this.logContext, answerSdp: answer.sdp });
523
520
  return this.sendRequest({
524
521
  case: 'answer',
525
- value: toProtoSessionDescription(answer),
522
+ value: toProtoSessionDescription(answer, offerId),
526
523
  });
527
524
  }
528
525
 
@@ -703,12 +700,12 @@ export class SignalClient {
703
700
  if (msg.case === 'answer') {
704
701
  const sd = fromProtoSessionDescription(msg.value);
705
702
  if (this.onAnswer) {
706
- this.onAnswer(sd);
703
+ this.onAnswer(sd, msg.value.id);
707
704
  }
708
705
  } else if (msg.case === 'offer') {
709
706
  const sd = fromProtoSessionDescription(msg.value);
710
707
  if (this.onOffer) {
711
- this.onOffer(sd);
708
+ this.onOffer(sd, msg.value.id);
712
709
  }
713
710
  } else if (msg.case === 'trickle') {
714
711
  const candidate: RTCIceCandidateInit = JSON.parse(msg.value.candidateInit!);
@@ -891,10 +888,12 @@ function fromProtoSessionDescription(sd: SessionDescription): RTCSessionDescript
891
888
 
892
889
  export function toProtoSessionDescription(
893
890
  rsd: RTCSessionDescription | RTCSessionDescriptionInit,
891
+ id?: number,
894
892
  ): SessionDescription {
895
893
  const sd = new SessionDescription({
896
894
  sdp: rsd.sdp!,
897
895
  type: rsd.type!,
896
+ id,
898
897
  });
899
898
  return sd;
900
899
  }
@@ -83,6 +83,7 @@ export class PublishVideoCheck extends Checker {
83
83
  video.play();
84
84
  });
85
85
 
86
+ stream.getTracks().forEach((t) => t.stop());
86
87
  video.remove();
87
88
  }
88
89
  }
@@ -50,6 +50,8 @@ export default class PCTransport extends EventEmitter {
50
50
 
51
51
  private ddExtID = 0;
52
52
 
53
+ private latestOfferId: number = 0;
54
+
53
55
  pendingCandidates: RTCIceCandidateInit[] = [];
54
56
 
55
57
  restartingIce: boolean = false;
@@ -62,7 +64,7 @@ export default class PCTransport extends EventEmitter {
62
64
 
63
65
  remoteNackMids: string[] = [];
64
66
 
65
- onOffer?: (offer: RTCSessionDescriptionInit) => void;
67
+ onOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
66
68
 
67
69
  onIceCandidate?: (candidate: RTCIceCandidate) => void;
68
70
 
@@ -137,7 +139,20 @@ export default class PCTransport extends EventEmitter {
137
139
  this.pendingCandidates.push(candidate);
138
140
  }
139
141
 
140
- async setRemoteDescription(sd: RTCSessionDescriptionInit): Promise<void> {
142
+ async setRemoteDescription(sd: RTCSessionDescriptionInit, offerId: number): Promise<boolean> {
143
+ if (
144
+ sd.type === 'answer' &&
145
+ this.latestOfferId > 0 &&
146
+ offerId > 0 &&
147
+ offerId !== this.latestOfferId
148
+ ) {
149
+ this.log.warn('ignoring answer for old offer', {
150
+ ...this.logContext,
151
+ offerId,
152
+ latestOfferId: this.latestOfferId,
153
+ });
154
+ return false;
155
+ }
141
156
  let mungedSDP: string | undefined = undefined;
142
157
  if (sd.type === 'offer') {
143
158
  let { stereoMids, nackMids } = extractStereoAndNackAudioFromOffer(sd);
@@ -218,6 +233,7 @@ export default class PCTransport extends EventEmitter {
218
233
  });
219
234
  }
220
235
  }
236
+ return true;
221
237
  }
222
238
 
223
239
  // debounced negotiate interface
@@ -235,6 +251,9 @@ export default class PCTransport extends EventEmitter {
235
251
  }, debounceInterval);
236
252
 
237
253
  async createAndSendOffer(options?: RTCOfferOptions) {
254
+ // increase the offer id at the start to ensure the offer is always > 0 so that we can use 0 as a default value for legacy behavior
255
+ const offerId = this.latestOfferId + 1;
256
+ this.latestOfferId = offerId;
238
257
  if (this.onOffer === undefined) {
239
258
  return;
240
259
  }
@@ -317,9 +336,16 @@ export default class PCTransport extends EventEmitter {
317
336
  });
318
337
  }
319
338
  });
320
-
339
+ if (this.latestOfferId > offerId) {
340
+ this.log.warn('latestOfferId mismatch', {
341
+ ...this.logContext,
342
+ latestOfferId: this.latestOfferId,
343
+ offerId,
344
+ });
345
+ return;
346
+ }
321
347
  await this.setMungedSDP(offer, write(sdpParsed));
322
- this.onOffer(offer);
348
+ this.onOffer(offer, this.latestOfferId);
323
349
  }
324
350
 
325
351
  async createAndSetAnswer(): Promise<RTCSessionDescriptionInit> {
@@ -48,7 +48,7 @@ export class PCTransportManager {
48
48
 
49
49
  public onTrack?: (ev: RTCTrackEvent) => void;
50
50
 
51
- public onPublisherOffer?: (offer: RTCSessionDescriptionInit) => void;
51
+ public onPublisherOffer?: (offer: RTCSessionDescriptionInit, offerId: number) => void;
52
52
 
53
53
  private isPublisherConnectionRequired: boolean;
54
54
 
@@ -96,8 +96,8 @@ export class PCTransportManager {
96
96
  this.subscriber.onTrack = (ev) => {
97
97
  this.onTrack?.(ev);
98
98
  };
99
- this.publisher.onOffer = (offer) => {
100
- this.onPublisherOffer?.(offer);
99
+ this.publisher.onOffer = (offer, offerId) => {
100
+ this.onPublisherOffer?.(offer, offerId);
101
101
  };
102
102
 
103
103
  this.state = PCTransportState.NEW;
@@ -126,8 +126,8 @@ export class PCTransportManager {
126
126
  return this.publisher.createAndSendOffer(options);
127
127
  }
128
128
 
129
- setPublisherAnswer(sd: RTCSessionDescriptionInit) {
130
- return this.publisher.setRemoteDescription(sd);
129
+ setPublisherAnswer(sd: RTCSessionDescriptionInit, offerId: number) {
130
+ return this.publisher.setRemoteDescription(sd, offerId);
131
131
  }
132
132
 
133
133
  removeTrack(sender: RTCRtpSender) {
@@ -168,7 +168,7 @@ export class PCTransportManager {
168
168
  }
169
169
  }
170
170
 
171
- async createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit) {
171
+ async createSubscriberAnswerFromOffer(sd: RTCSessionDescriptionInit, offerId: number) {
172
172
  this.log.debug('received server offer', {
173
173
  ...this.logContext,
174
174
  RTCSdpType: sd.type,
@@ -177,7 +177,10 @@ export class PCTransportManager {
177
177
  });
178
178
  const unlock = await this.remoteOfferLock.lock();
179
179
  try {
180
- await this.subscriber.setRemoteDescription(sd);
180
+ const success = await this.subscriber.setRemoteDescription(sd, offerId);
181
+ if (!success) {
182
+ return undefined;
183
+ }
181
184
 
182
185
  // answer the offer
183
186
  const answer = await this.subscriber.createAndSetAnswer();
@@ -111,6 +111,11 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
111
111
  */
112
112
  latestJoinResponse?: JoinResponse;
113
113
 
114
+ /**
115
+ * @internal
116
+ */
117
+ latestRemoteOfferId: number = 0;
118
+
114
119
  get isClosed() {
115
120
  return this._isClosed;
116
121
  }
@@ -420,8 +425,8 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
420
425
  this.client.sendIceCandidate(candidate, target);
421
426
  };
422
427
 
423
- this.pcManager.onPublisherOffer = (offer) => {
424
- this.client.sendOffer(offer);
428
+ this.pcManager.onPublisherOffer = (offer, offerId) => {
429
+ this.client.sendOffer(offer, offerId);
425
430
  };
426
431
 
427
432
  this.pcManager.onDataChannel = this.handleDataChannel;
@@ -476,12 +481,12 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
476
481
 
477
482
  private setupSignalClientCallbacks() {
478
483
  // configure signaling client
479
- this.client.onAnswer = async (sd) => {
484
+ this.client.onAnswer = async (sd, offerId) => {
480
485
  if (!this.pcManager) {
481
486
  return;
482
487
  }
483
488
  this.log.debug('received server answer', { ...this.logContext, RTCSdpType: sd.type });
484
- await this.pcManager.setPublisherAnswer(sd);
489
+ await this.pcManager.setPublisherAnswer(sd, offerId);
485
490
  };
486
491
 
487
492
  // add candidate on trickle
@@ -494,12 +499,15 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit
494
499
  };
495
500
 
496
501
  // when server creates an offer for the client
497
- this.client.onOffer = async (sd) => {
502
+ this.client.onOffer = async (sd, offerId) => {
503
+ this.latestRemoteOfferId = offerId;
498
504
  if (!this.pcManager) {
499
505
  return;
500
506
  }
501
- const answer = await this.pcManager.createSubscriberAnswerFromOffer(sd);
502
- this.client.sendAnswer(answer);
507
+ const answer = await this.pcManager.createSubscriberAnswerFromOffer(sd, offerId);
508
+ if (answer) {
509
+ this.client.sendAnswer(answer, offerId);
510
+ }
503
511
  };
504
512
 
505
513
  this.client.onLocalTrackPublished = (res: TrackPublishedResponse) => {