genesys-cloud-streaming-client
Advanced tools
Comparing version 18.0.1-master-to-develop.3 to 19.0.0-release.1
@@ -582,5 +582,5 @@ 'use strict'; | ||
static get version() { | ||
return '18.0.1'; | ||
return '19.0.0'; | ||
} | ||
} | ||
exports.Client = Client; |
@@ -37,2 +37,3 @@ "use strict"; | ||
this.privAnswerMode = params.privAnswerMode; | ||
this.meetingId = params.meetingId; | ||
// babel does not like the typescript recipe for multiple extends so we are hacking this one | ||
@@ -39,0 +40,0 @@ // referencing https://github.com/babel/babel/issues/798 |
@@ -45,2 +45,3 @@ /// <reference types="node" /> | ||
private webrtcSessions; | ||
private reinviteCache; | ||
get jid(): string | undefined; | ||
@@ -47,0 +48,0 @@ constructor(client: Client, clientOptions: IClientOptions); |
@@ -60,2 +60,8 @@ "use strict"; | ||
this.webrtcSessions = []; | ||
// Store a maximum of 5 previous non-duplicate reinvites. | ||
// These will automatically be purged after three minutes. | ||
this.reinviteCache = new lru_cache_1.LRUCache({ | ||
max: 5, | ||
ttl: 1000 * 60 * 3 | ||
}); | ||
this.client = client; | ||
@@ -155,2 +161,12 @@ this.config = { | ||
const params = message.params; | ||
// XMPP-SIP-Gateway will repeat reinvite offers until the client has responded. | ||
// We don't want to process the duplicate reinvites and instead will ignore them. | ||
if (params.reinvite && this.reinviteCache.get(message.id)) { | ||
this.logger.info('Ignoring duplicate reinvite offer', message.id); | ||
return; | ||
} | ||
// If the reinvite isn't a duplicate, we should cache it so we can check against new offers. | ||
if (params.reinvite) { | ||
this.reinviteCache.set(message.id, true); | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && browserama_1.isFirefox; | ||
@@ -182,2 +198,3 @@ const commonParams = { | ||
}; | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
@@ -290,7 +307,2 @@ else { | ||
const pendingSession = this.pendingSessions[options.sid]; | ||
// TODO: when we can safely remove the jingle session handling, this pending session | ||
// will need to be deleted in the `handleGenesysOffer` fn. | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
if (pendingSession === null || pendingSession === void 0 ? void 0 : pendingSession.sdpOverXmpp) { | ||
@@ -300,2 +312,5 @@ this.logger.debug('skipping creation of jingle webrtc session due to sdpOverXmpp on the pendingSession'); | ||
} | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && browserama_1.isFirefox; | ||
@@ -302,0 +317,0 @@ const gcSessionOpts = { |
{ | ||
"name": "developercenter-cdn/streaming-client", | ||
"version": "master-to-develop", | ||
"version": "19.0.0", | ||
"ecosystem": "pc", | ||
@@ -8,16 +8,10 @@ "team": "Client Streaming and Signaling", | ||
{ | ||
"file": "v18.0.1/streaming-client.browser.ie.js" | ||
"file": "v19.0.0/streaming-client.browser.js" | ||
}, | ||
{ | ||
"file": "v18.0.1/streaming-client.browser.js" | ||
}, | ||
{ | ||
"file": "v18/streaming-client.browser.ie.js" | ||
}, | ||
{ | ||
"file": "v18/streaming-client.browser.js" | ||
"file": "v19/streaming-client.browser.js" | ||
} | ||
], | ||
"build": "3", | ||
"buildDate": "2024-12-05T19:50:03.399273514Z" | ||
"build": "1", | ||
"buildDate": "2025-01-18T03:50:11.150603044Z" | ||
} |
@@ -594,4 +594,4 @@ 'use strict'; | ||
static get version() { | ||
return '18.0.1'; | ||
return '19.0.0'; | ||
} | ||
} |
@@ -34,2 +34,3 @@ import { __awaiter } from "tslib"; | ||
this.privAnswerMode = params.privAnswerMode; | ||
this.meetingId = params.meetingId; | ||
// babel does not like the typescript recipe for multiple extends so we are hacking this one | ||
@@ -36,0 +37,0 @@ // referencing https://github.com/babel/babel/issues/798 |
@@ -45,2 +45,3 @@ /// <reference types="node" /> | ||
private webrtcSessions; | ||
private reinviteCache; | ||
get jid(): string | undefined; | ||
@@ -47,0 +48,0 @@ constructor(client: Client, clientOptions: IClientOptions); |
@@ -57,2 +57,8 @@ import { __awaiter } from "tslib"; | ||
this.webrtcSessions = []; | ||
// Store a maximum of 5 previous non-duplicate reinvites. | ||
// These will automatically be purged after three minutes. | ||
this.reinviteCache = new LRUCache({ | ||
max: 5, | ||
ttl: 1000 * 60 * 3 | ||
}); | ||
this.client = client; | ||
@@ -157,2 +163,12 @@ this.config = { | ||
const params = message.params; | ||
// XMPP-SIP-Gateway will repeat reinvite offers until the client has responded. | ||
// We don't want to process the duplicate reinvites and instead will ignore them. | ||
if (params.reinvite && this.reinviteCache.get(message.id)) { | ||
this.logger.info('Ignoring duplicate reinvite offer', message.id); | ||
return; | ||
} | ||
// If the reinvite isn't a duplicate, we should cache it so we can check against new offers. | ||
if (params.reinvite) { | ||
this.reinviteCache.set(message.id, true); | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && isFirefox; | ||
@@ -178,2 +194,3 @@ const commonParams = { | ||
mediaSessionParams = Object.assign(Object.assign({}, commonParams), { meetingId: pendingSession.meetingId, fromUserId: pendingSession.fromUserId, originalRoomJid: pendingSession.originalRoomJid, privAnswerMode: pendingSession.privAnswerMode }); | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
@@ -299,7 +316,2 @@ else { | ||
const pendingSession = this.pendingSessions[options.sid]; | ||
// TODO: when we can safely remove the jingle session handling, this pending session | ||
// will need to be deleted in the `handleGenesysOffer` fn. | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
if (pendingSession === null || pendingSession === void 0 ? void 0 : pendingSession.sdpOverXmpp) { | ||
@@ -309,2 +321,5 @@ this.logger.debug('skipping creation of jingle webrtc session due to sdpOverXmpp on the pendingSession'); | ||
} | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && isFirefox; | ||
@@ -311,0 +326,0 @@ const gcSessionOpts = { |
@@ -7,6 +7,14 @@ # Changelog | ||
# [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v18.0.0...HEAD) | ||
# [Unreleased](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v19.0.0...HEAD) | ||
# [v19.0.0](https://github.com/purecloudlabs/genesys-cloud-streaming-client/compare/v18.0.0...v19.0.0) | ||
### Breaking Changes | ||
* Lru-cache was upgraded from v6 to v11, which uses newer language features. Depending on your language target version, you may need to configure a transpiler accordingly. For example, we added `plugin-proposal-class-properties` and `plugin-transform-private-methods` to our Babel config for streaming-client. | ||
* Support for IE has been removed. | ||
### Changed | ||
* [STREAM-313](https://inindca.atlassian.net/browse/STREAM-313) - Streaming-client will ignore duplicate reinvite offers. | ||
* [PCM-2081](https://inindca.atlassian.net/browse/PCM-2081) - Set meetingId when initializing GenesysCloudMediaSessions and only delete pending sessions when processed for the right session type. | ||
* [STREAM-324](https://inindca.atlassian.net/browse/STREAM-324) - Support for IE has been removed. | ||
### Fixed | ||
@@ -13,0 +21,0 @@ * [STREAM-207](https://inindca.atlassian.net/browse/STREAM-207) - [STREAM-207] handle ice candidates received before the offer (sdpOverXmpp only) |
@@ -582,5 +582,5 @@ 'use strict'; | ||
static get version() { | ||
return '18.0.1'; | ||
return '19.0.0'; | ||
} | ||
} | ||
exports.Client = Client; |
@@ -37,2 +37,3 @@ "use strict"; | ||
this.privAnswerMode = params.privAnswerMode; | ||
this.meetingId = params.meetingId; | ||
// babel does not like the typescript recipe for multiple extends so we are hacking this one | ||
@@ -39,0 +40,0 @@ // referencing https://github.com/babel/babel/issues/798 |
@@ -45,2 +45,3 @@ /// <reference types="node" /> | ||
private webrtcSessions; | ||
private reinviteCache; | ||
get jid(): string | undefined; | ||
@@ -47,0 +48,0 @@ constructor(client: Client, clientOptions: IClientOptions); |
@@ -60,2 +60,8 @@ "use strict"; | ||
this.webrtcSessions = []; | ||
// Store a maximum of 5 previous non-duplicate reinvites. | ||
// These will automatically be purged after three minutes. | ||
this.reinviteCache = new lru_cache_1.LRUCache({ | ||
max: 5, | ||
ttl: 1000 * 60 * 3 | ||
}); | ||
this.client = client; | ||
@@ -155,2 +161,12 @@ this.config = { | ||
const params = message.params; | ||
// XMPP-SIP-Gateway will repeat reinvite offers until the client has responded. | ||
// We don't want to process the duplicate reinvites and instead will ignore them. | ||
if (params.reinvite && this.reinviteCache.get(message.id)) { | ||
this.logger.info('Ignoring duplicate reinvite offer', message.id); | ||
return; | ||
} | ||
// If the reinvite isn't a duplicate, we should cache it so we can check against new offers. | ||
if (params.reinvite) { | ||
this.reinviteCache.set(message.id, true); | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && browserama_1.isFirefox; | ||
@@ -182,2 +198,3 @@ const commonParams = { | ||
}; | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
@@ -290,7 +307,2 @@ else { | ||
const pendingSession = this.pendingSessions[options.sid]; | ||
// TODO: when we can safely remove the jingle session handling, this pending session | ||
// will need to be deleted in the `handleGenesysOffer` fn. | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
if (pendingSession === null || pendingSession === void 0 ? void 0 : pendingSession.sdpOverXmpp) { | ||
@@ -300,2 +312,5 @@ this.logger.debug('skipping creation of jingle webrtc session due to sdpOverXmpp on the pendingSession'); | ||
} | ||
if (pendingSession) { | ||
delete this.pendingSessions[pendingSession.sessionId]; | ||
} | ||
const ignoreHostCandidatesForForceTurnFF = this.getIceTransportPolicy() === 'relay' && browserama_1.isFirefox; | ||
@@ -302,0 +317,0 @@ const gcSessionOpts = { |
{ | ||
"name": "genesys-cloud-streaming-client", | ||
"version": "18.0.1-master-to-develop.3", | ||
"version": "19.0.0-release.1", | ||
"description": "client for the Genesys Cloud Streaming APIs (websocket/xmpp interface)", | ||
@@ -29,3 +29,2 @@ "repository": "https:github.com/purecloudlabs/genesys-cloud-streaming-client", | ||
"compile:webpack": "webpack --mode production", | ||
"compile:webpack:ie": "webpack --env.ie --mode production", | ||
"test": "npm run lint && npm run test:unit", | ||
@@ -32,0 +31,0 @@ "test:unit": "jest --runInBand", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
6
4528582
149
62516