genesys-cloud-streaming-client 17.2.6 → 17.2.7-release.1

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.
Files changed (33) hide show
  1. package/dist/cjs/client.js +1 -1
  2. package/dist/cjs/types/genesys-cloud-media-session.d.ts +1 -0
  3. package/dist/cjs/types/genesys-cloud-media-session.js +1 -0
  4. package/dist/cjs/types/media-session.d.ts +2 -0
  5. package/dist/cjs/types/stanza-media-session.d.ts +1 -0
  6. package/dist/cjs/types/stanza-media-session.js +1 -0
  7. package/dist/cjs/webrtc.js +4 -1
  8. package/dist/deploy-info.json +5 -5
  9. package/dist/es/client.js +1 -1
  10. package/dist/es/index.bundle.js +7 -3
  11. package/dist/es/types/genesys-cloud-media-session.d.ts +1 -0
  12. package/dist/es/types/genesys-cloud-media-session.js +1 -0
  13. package/dist/es/types/media-session.d.ts +2 -0
  14. package/dist/es/types/stanza-media-session.d.ts +1 -0
  15. package/dist/es/types/stanza-media-session.js +1 -0
  16. package/dist/es/webrtc.js +4 -2
  17. package/dist/npm/CHANGELOG.md +4 -1
  18. package/dist/npm/client.js +1 -1
  19. package/dist/npm/types/genesys-cloud-media-session.d.ts +1 -0
  20. package/dist/npm/types/genesys-cloud-media-session.js +1 -0
  21. package/dist/npm/types/media-session.d.ts +2 -0
  22. package/dist/npm/types/stanza-media-session.d.ts +1 -0
  23. package/dist/npm/types/stanza-media-session.js +1 -0
  24. package/dist/npm/webrtc.js +4 -1
  25. package/dist/streaming-client.browser.ie.js +6 -6
  26. package/dist/streaming-client.browser.js +6 -6
  27. package/dist/v17/streaming-client.browser.ie.js +6 -6
  28. package/dist/v17/streaming-client.browser.js +6 -6
  29. package/dist/v17.2.7/streaming-client.browser.ie.js +32 -0
  30. package/dist/v17.2.7/streaming-client.browser.js +32 -0
  31. package/package.json +119 -117
  32. package/dist/v17.2.6/streaming-client.browser.ie.js +0 -32
  33. package/dist/v17.2.6/streaming-client.browser.js +0 -32
@@ -550,7 +550,7 @@ class Client extends events_1.default {
550
550
  return Client.version;
551
551
  }
552
552
  static get version() {
553
- return '17.2.6';
553
+ return '17.2.7';
554
554
  }
555
555
  }
556
556
  exports.Client = Client;
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
27
27
  dataChannel?: RTCDataChannel;
28
28
  state: SessionState;
29
29
  connectionState: ConnectionState;
30
+ privAnswerMode?: 'Auto';
30
31
  constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
31
32
  private keepStateInSyncWithPeerConnection;
32
33
  setRemoteDescription(sdp: string): Promise<void>;
@@ -33,6 +33,7 @@ class GenesysCloudMediaSession {
33
33
  this.allowIPv6 = !!params.allowIPv6;
34
34
  this.allowTCP = !!params.allowTCP;
35
35
  this.reinvite = !!params.reinvite;
36
+ this.privAnswerMode = params.privAnswerMode;
36
37
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
37
38
  // referencing https://github.com/babel/babel/issues/798
38
39
  const eventEmitter = new events_1.EventEmitter();
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
40
40
  fromUserId?: string;
41
41
  originalRoomJid?: string;
42
42
  meetingId?: string;
43
+ privAnswerMode?: 'Auto';
43
44
  }
44
45
  export interface IStanzaMediaSessionParams extends IMediaSessionParams {
45
46
  options: SessionOpts;
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
62
63
  state: SessionState | string;
63
64
  reinvite: boolean;
64
65
  meetingId?: string;
66
+ privAnswerMode?: 'Auto';
65
67
  setupStatsGatherer(): void;
66
68
  accept(opts?: RTCAnswerOptions): Promise<void>;
67
69
  end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
38
38
  allowTCP: boolean;
39
39
  dataChannel?: RTCDataChannel;
40
40
  reinvite: boolean;
41
+ privAnswerMode?: 'Auto';
41
42
  constructor(params: IStanzaMediaSessionParams);
42
43
  private getLogDetails;
43
44
  onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
@@ -30,6 +30,7 @@ class StanzaMediaSession extends jingle_1.MediaSession {
30
30
  this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
31
31
  this.allowIPv6 = !!params.allowIPv6;
32
32
  this.allowTCP = !!params.allowTCP;
33
+ this.privAnswerMode = params.privAnswerMode;
33
34
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
34
35
  // referencing https://github.com/babel/babel/issues/798
35
36
  const eventEmitter = new events_1.default();
@@ -171,6 +171,7 @@ class WebrtcExtension extends events_1.EventEmitter {
171
171
  meetingId: pendingSession.meetingId,
172
172
  fromUserId: pendingSession.fromUserId,
173
173
  originalRoomJid: pendingSession.originalRoomJid,
174
+ privAnswerMode: pendingSession.privAnswerMode
174
175
  };
175
176
  }
176
177
  else {
@@ -179,7 +180,9 @@ class WebrtcExtension extends events_1.EventEmitter {
179
180
  // if we receive an offer for an existing session and the ice info has not changed, this is
180
181
  // a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
181
182
  const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
183
+ this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
182
184
  if (existingSession) {
185
+ existingSession.conversationId = params.conversationId;
183
186
  // renego
184
187
  if (!utils_1.iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
185
188
  return this.handleGenesysRenegotiate(existingSession, params.sdp);
@@ -194,7 +197,7 @@ class WebrtcExtension extends events_1.EventEmitter {
194
197
  this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
195
198
  });
196
199
  this.webrtcSessions.push(session);
197
- this.logger.info('emitting sdp media-session (offer');
200
+ this.logger.info('emitting sdp media-session (offer)');
198
201
  return this.emit(events.INCOMING_RTCSESSION, session);
199
202
  }
200
203
  async handleGenesysRenegotiate(existingSession, newSdp) {
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "developercenter-cdn/streaming-client",
3
- "version": "17.2.6",
3
+ "version": "17.2.7",
4
4
  "ecosystem": "pc",
5
5
  "team": "Client Streaming and Signaling",
6
6
  "indexFiles": [
7
7
  {
8
- "file": "v17.2.6/streaming-client.browser.ie.js"
8
+ "file": "v17.2.7/streaming-client.browser.ie.js"
9
9
  },
10
10
  {
11
- "file": "v17.2.6/streaming-client.browser.js"
11
+ "file": "v17.2.7/streaming-client.browser.js"
12
12
  },
13
13
  {
14
14
  "file": "v17/streaming-client.browser.ie.js"
@@ -17,6 +17,6 @@
17
17
  "file": "v17/streaming-client.browser.js"
18
18
  }
19
19
  ],
20
- "build": "102",
21
- "buildDate": "2024-10-01T18:51:53.291470864Z"
20
+ "build": "1",
21
+ "buildDate": "2024-10-08T15:39:33.064298400Z"
22
22
  }
package/dist/es/client.js CHANGED
@@ -562,6 +562,6 @@ export class Client extends EventEmitter {
562
562
  return Client.version;
563
563
  }
564
564
  static get version() {
565
- return '17.2.6';
565
+ return '17.2.7';
566
566
  }
567
567
  }
@@ -30405,6 +30405,7 @@ class StanzaMediaSession extends jingle$1.MediaSession {
30405
30405
  this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
30406
30406
  this.allowIPv6 = !!params.allowIPv6;
30407
30407
  this.allowTCP = !!params.allowTCP;
30408
+ this.privAnswerMode = params.privAnswerMode;
30408
30409
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
30409
30410
  // referencing https://github.com/babel/babel/issues/798
30410
30411
  const eventEmitter = new EventEmitter();
@@ -30655,6 +30656,7 @@ class GenesysCloudMediaSession {
30655
30656
  this.allowIPv6 = !!params.allowIPv6;
30656
30657
  this.allowTCP = !!params.allowTCP;
30657
30658
  this.reinvite = !!params.reinvite;
30659
+ this.privAnswerMode = params.privAnswerMode;
30658
30660
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
30659
30661
  // referencing https://github.com/babel/babel/issues/798
30660
30662
  const eventEmitter = new EventEmitter();
@@ -31317,7 +31319,7 @@ class WebrtcExtension extends EventEmitter {
31317
31319
  // we should only do something if the pending session tells us to
31318
31320
  const pendingSession = this.pendingSessions[params.sessionId];
31319
31321
  if (pendingSession) {
31320
- mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid });
31322
+ mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid, privAnswerMode: pendingSession.privAnswerMode });
31321
31323
  }
31322
31324
  else {
31323
31325
  mediaSessionParams = commonParams;
@@ -31325,7 +31327,9 @@ class WebrtcExtension extends EventEmitter {
31325
31327
  // if we receive an offer for an existing session and the ice info has not changed, this is
31326
31328
  // a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
31327
31329
  const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
31330
+ this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
31328
31331
  if (existingSession) {
31332
+ existingSession.conversationId = params.conversationId;
31329
31333
  // renego
31330
31334
  if (!iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
31331
31335
  return this.handleGenesysRenegotiate(existingSession, params.sdp);
@@ -31340,7 +31344,7 @@ class WebrtcExtension extends EventEmitter {
31340
31344
  this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
31341
31345
  });
31342
31346
  this.webrtcSessions.push(session);
31343
- this.logger.info('emitting sdp media-session (offer');
31347
+ this.logger.info('emitting sdp media-session (offer)');
31344
31348
  return this.emit(events.INCOMING_RTCSESSION, session);
31345
31349
  });
31346
31350
  }
@@ -42601,7 +42605,7 @@ class Client extends EventEmitter {
42601
42605
  return Client.version;
42602
42606
  }
42603
42607
  static get version() {
42604
- return '17.2.6';
42608
+ return '17.2.7';
42605
42609
  }
42606
42610
  }
42607
42611
 
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
27
27
  dataChannel?: RTCDataChannel;
28
28
  state: SessionState;
29
29
  connectionState: ConnectionState;
30
+ privAnswerMode?: 'Auto';
30
31
  constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
31
32
  private keepStateInSyncWithPeerConnection;
32
33
  setRemoteDescription(sdp: string): Promise<void>;
@@ -30,6 +30,7 @@ export class GenesysCloudMediaSession {
30
30
  this.allowIPv6 = !!params.allowIPv6;
31
31
  this.allowTCP = !!params.allowTCP;
32
32
  this.reinvite = !!params.reinvite;
33
+ this.privAnswerMode = params.privAnswerMode;
33
34
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
34
35
  // referencing https://github.com/babel/babel/issues/798
35
36
  const eventEmitter = new EventEmitter();
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
40
40
  fromUserId?: string;
41
41
  originalRoomJid?: string;
42
42
  meetingId?: string;
43
+ privAnswerMode?: 'Auto';
43
44
  }
44
45
  export interface IStanzaMediaSessionParams extends IMediaSessionParams {
45
46
  options: SessionOpts;
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
62
63
  state: SessionState | string;
63
64
  reinvite: boolean;
64
65
  meetingId?: string;
66
+ privAnswerMode?: 'Auto';
65
67
  setupStatsGatherer(): void;
66
68
  accept(opts?: RTCAnswerOptions): Promise<void>;
67
69
  end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
38
38
  allowTCP: boolean;
39
39
  dataChannel?: RTCDataChannel;
40
40
  reinvite: boolean;
41
+ privAnswerMode?: 'Auto';
41
42
  constructor(params: IStanzaMediaSessionParams);
42
43
  private getLogDetails;
43
44
  onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
@@ -27,6 +27,7 @@ export class StanzaMediaSession extends MediaSession {
27
27
  this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
28
28
  this.allowIPv6 = !!params.allowIPv6;
29
29
  this.allowTCP = !!params.allowTCP;
30
+ this.privAnswerMode = params.privAnswerMode;
30
31
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
31
32
  // referencing https://github.com/babel/babel/issues/798
32
33
  const eventEmitter = new EventEmitter();
package/dist/es/webrtc.js CHANGED
@@ -168,7 +168,7 @@ export class WebrtcExtension extends EventEmitter {
168
168
  // we should only do something if the pending session tells us to
169
169
  const pendingSession = this.pendingSessions[params.sessionId];
170
170
  if (pendingSession) {
171
- mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid });
171
+ mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid, privAnswerMode: pendingSession.privAnswerMode });
172
172
  }
173
173
  else {
174
174
  mediaSessionParams = commonParams;
@@ -176,7 +176,9 @@ export class WebrtcExtension extends EventEmitter {
176
176
  // if we receive an offer for an existing session and the ice info has not changed, this is
177
177
  // a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
178
178
  const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
179
+ this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
179
180
  if (existingSession) {
181
+ existingSession.conversationId = params.conversationId;
180
182
  // renego
181
183
  if (!iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
182
184
  return this.handleGenesysRenegotiate(existingSession, params.sdp);
@@ -191,7 +193,7 @@ export class WebrtcExtension extends EventEmitter {
191
193
  this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
192
194
  });
193
195
  this.webrtcSessions.push(session);
194
- this.logger.info('emitting sdp media-session (offer');
196
+ this.logger.info('emitting sdp media-session (offer)');
195
197
  return this.emit(events.INCOMING_RTCSESSION, session);
196
198
  });
197
199
  }
@@ -4,7 +4,10 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- # [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.6...HEAD)
7
+ # [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.7...HEAD)
8
+ # [v17.2.7](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.6..v17.2.7)
9
+ ### Fixed
10
+ * [STREAM-218](https://inindca.atlassian.net/browse/STREAM-218) - update the conversationId on sessions with reinvites
8
11
 
9
12
  # [v17.2.6](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v17.2.5..v17.2.6)
10
13
  ### Fixed
@@ -550,7 +550,7 @@ class Client extends events_1.default {
550
550
  return Client.version;
551
551
  }
552
552
  static get version() {
553
- return '17.2.6';
553
+ return '17.2.7';
554
554
  }
555
555
  }
556
556
  exports.Client = Client;
@@ -27,6 +27,7 @@ export declare class GenesysCloudMediaSession {
27
27
  dataChannel?: RTCDataChannel;
28
28
  state: SessionState;
29
29
  connectionState: ConnectionState;
30
+ privAnswerMode?: 'Auto';
30
31
  constructor(webrtcExtension: WebrtcExtension, params: IGenesysCloudMediaSessionParams);
31
32
  private keepStateInSyncWithPeerConnection;
32
33
  setRemoteDescription(sdp: string): Promise<void>;
@@ -33,6 +33,7 @@ class GenesysCloudMediaSession {
33
33
  this.allowIPv6 = !!params.allowIPv6;
34
34
  this.allowTCP = !!params.allowTCP;
35
35
  this.reinvite = !!params.reinvite;
36
+ this.privAnswerMode = params.privAnswerMode;
36
37
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
37
38
  // referencing https://github.com/babel/babel/issues/798
38
39
  const eventEmitter = new events_1.EventEmitter();
@@ -40,6 +40,7 @@ export interface IMediaSessionParams {
40
40
  fromUserId?: string;
41
41
  originalRoomJid?: string;
42
42
  meetingId?: string;
43
+ privAnswerMode?: 'Auto';
43
44
  }
44
45
  export interface IStanzaMediaSessionParams extends IMediaSessionParams {
45
46
  options: SessionOpts;
@@ -62,6 +63,7 @@ export interface IMediaSession extends StrictEventEmitter<EventEmitter, SessionE
62
63
  state: SessionState | string;
63
64
  reinvite: boolean;
64
65
  meetingId?: string;
66
+ privAnswerMode?: 'Auto';
65
67
  setupStatsGatherer(): void;
66
68
  accept(opts?: RTCAnswerOptions): Promise<void>;
67
69
  end(reason: JingleReasonCondition, silent?: boolean): Promise<void>;
@@ -38,6 +38,7 @@ export declare class StanzaMediaSession extends MediaSession implements IMediaSe
38
38
  allowTCP: boolean;
39
39
  dataChannel?: RTCDataChannel;
40
40
  reinvite: boolean;
41
+ privAnswerMode?: 'Auto';
41
42
  constructor(params: IStanzaMediaSessionParams);
42
43
  private getLogDetails;
43
44
  onTransportInfo(changes: Jingle, cb: ActionCallback): Promise<void>;
@@ -30,6 +30,7 @@ class StanzaMediaSession extends jingle_1.MediaSession {
30
30
  this.ignoreHostCandidatesFromRemote = !!params.ignoreHostCandidatesFromRemote;
31
31
  this.allowIPv6 = !!params.allowIPv6;
32
32
  this.allowTCP = !!params.allowTCP;
33
+ this.privAnswerMode = params.privAnswerMode;
33
34
  // babel does not like the typescript recipe for multiple extends so we are hacking this one
34
35
  // referencing https://github.com/babel/babel/issues/798
35
36
  const eventEmitter = new events_1.default();
@@ -171,6 +171,7 @@ class WebrtcExtension extends events_1.EventEmitter {
171
171
  meetingId: pendingSession.meetingId,
172
172
  fromUserId: pendingSession.fromUserId,
173
173
  originalRoomJid: pendingSession.originalRoomJid,
174
+ privAnswerMode: pendingSession.privAnswerMode
174
175
  };
175
176
  }
176
177
  else {
@@ -179,7 +180,9 @@ class WebrtcExtension extends events_1.EventEmitter {
179
180
  // if we receive an offer for an existing session and the ice info has not changed, this is
180
181
  // a renogotiate. If the ice has changed, it's a re-invite and we need to create a new session.
181
182
  const existingSession = this.webrtcSessions.find(s => s.id === mediaSessionParams.id);
183
+ this.logger.info('offer received', { existingSession: !!existingSession, mediaSessionParams });
182
184
  if (existingSession) {
185
+ existingSession.conversationId = params.conversationId;
183
186
  // renego
184
187
  if (!utils_1.iceIsDifferent(existingSession.peerConnection.remoteDescription.sdp, params.sdp)) {
185
188
  return this.handleGenesysRenegotiate(existingSession, params.sdp);
@@ -194,7 +197,7 @@ class WebrtcExtension extends events_1.EventEmitter {
194
197
  this.webrtcSessions = this.webrtcSessions.filter(s => s.id !== session.id);
195
198
  });
196
199
  this.webrtcSessions.push(session);
197
- this.logger.info('emitting sdp media-session (offer');
200
+ this.logger.info('emitting sdp media-session (offer)');
198
201
  return this.emit(events.INCOMING_RTCSESSION, session);
199
202
  }
200
203
  async handleGenesysRenegotiate(existingSession, newSdp) {