Skip to content

Commit

Permalink
Merged in pre-prod-2-0 (pull request #437)
Browse files Browse the repository at this point in the history
Release 2.3.2
  • Loading branch information
dinawee committed Jul 29, 2021
2 parents 514bb1f + 72afe8a commit 6d46389
Show file tree
Hide file tree
Showing 201 changed files with 153 additions and 88 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SKYLINK WEB SDK 2.3.1
# SKYLINK WEB SDK 2.3.2
> Temasys SkylinkJS Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing.
You'll need a Temasys Account, and an App key to use this. [Register here to get your App key](https://console.temasys.io).
Expand Down Expand Up @@ -34,7 +34,7 @@ You'll need a Temasys Account, and an App key to use this. [Register here to get
- We recommend that you always use the latest versions of the Temasys SkylinkJS Web SDK as WebRTC is still evolving and we adapt to changes very frequently.
- It is advised to not attach any event handlers to the WebRTC APIs as doing so may override the handlers set in SkylinkJS and result in unexpected behaviour.

[Latest version: 2.3.1](https://github.com/Temasys/SkylinkJS/releases/tag/2.3.1)
[Latest version: 2.3.2](https://github.com/Temasys/SkylinkJS/releases/tag/2.3.2)


## How to build your own Temasys SkylinkJS Web SDK
Expand Down
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ <h3>Classes</h3><ul><li id="Skylink-nav"><a href="Skylink.html">Skylink</a><ul c

<section class="readme">
<article>
<h1>SKYLINK WEB SDK 2.3.1</h1>
<h1>SKYLINK WEB SDK 2.3.2</h1>
<blockquote>
<p>Temasys SkylinkJS Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing.</p>
</blockquote>
Expand Down Expand Up @@ -178,7 +178,7 @@ <h4>Current versions and stability</h4>
<li>We recommend that you always use the latest versions of the Temasys SkylinkJS Web SDK as WebRTC is still evolving and we adapt to changes very frequently.</li>
<li>It is advised to not attach any event handlers to the WebRTC APIs as doing so may override the handlers set in SkylinkJS and result in unexpected behaviour.</li>
</ul>
<p><a href="https://github.com/Temasys/SkylinkJS/releases/tag/2.3.1">Latest version: 2.3.1</a></p>
<p><a href="https://github.com/Temasys/SkylinkJS/releases/tag/2.3.2">Latest version: 2.3.2</a></p>
<h2>How to build your own Temasys SkylinkJS Web SDK</h2>
<p>Using <a href="https://git-scm.com/download">Git</a> command line tools, execute the following:</p>
<pre class="prettyprint source"><code># 1. Clone or download this repository via git terminal.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,13 @@ <h1 class="page-title">
rid, mid, userInfo, publisherId,
} = parsedMsg;
const state = Skylink.getSkylinkState(rid);
const { hasMCU } = state;
const { hasMCU, user } = state;
const targetMid = hasMCU &amp;&amp; publisherId ? publisherId : mid;

if (!user.sid) {
logger.log.DEBUG([targetMid, TAGS.PEER_CONNECTION, null, [messages.SIGNALING.DROPPING_ENTER]]);
}

logStats(caller, targetMid, state, parsedMsg);

const peerParams = {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "skylinkjs",
"description": "Temasys Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing or file transfer.",
"version": "2.3.1",
"version": "2.3.2",
"homepage": "https://temasys.io/",
"author": {
"name": "Temasys Communications Pte. Ltd.",
Expand Down
Binary file removed publish/2.3.1/gzip/skylink.complete.js
Binary file not shown.
Binary file removed publish/2.3.1/gzip/skylink.complete.min.js
Binary file not shown.
Binary file removed publish/2.3.1/gzip/skylink.complete.min.umd.js
Binary file not shown.
Binary file removed publish/2.3.1/gzip/skylink.complete.umd.js
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ <h3>Classes</h3><ul><li id="Skylink-nav"><a href="Skylink.html">Skylink</a><ul c

<section class="readme">
<article>
<h1>SKYLINK WEB SDK 2.3.1</h1>
<h1>SKYLINK WEB SDK 2.3.2</h1>
<blockquote>
<p>Temasys SkylinkJS Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing.</p>
</blockquote>
Expand Down Expand Up @@ -178,7 +178,7 @@ <h4>Current versions and stability</h4>
<li>We recommend that you always use the latest versions of the Temasys SkylinkJS Web SDK as WebRTC is still evolving and we adapt to changes very frequently.</li>
<li>It is advised to not attach any event handlers to the WebRTC APIs as doing so may override the handlers set in SkylinkJS and result in unexpected behaviour.</li>
</ul>
<p><a href="https://github.com/Temasys/SkylinkJS/releases/tag/2.3.1">Latest version: 2.3.1</a></p>
<p><a href="https://github.com/Temasys/SkylinkJS/releases/tag/2.3.2">Latest version: 2.3.2</a></p>
<h2>How to build your own Temasys SkylinkJS Web SDK</h2>
<p>Using <a href="https://git-scm.com/download">Git</a> command line tools, execute the following:</p>
<pre class="prettyprint source"><code># 1. Clone or download this repository via git terminal.
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -183,9 +183,13 @@ <h1 class="page-title">
rid, mid, userInfo, publisherId,
} = parsedMsg;
const state = Skylink.getSkylinkState(rid);
const { hasMCU } = state;
const { hasMCU, user } = state;
const targetMid = hasMCU &amp;&amp; publisherId ? publisherId : mid;

if (!user.sid) {
logger.log.DEBUG([targetMid, TAGS.PEER_CONNECTION, null, [messages.SIGNALING.DROPPING_ENTER]]);
}

logStats(caller, targetMid, state, parsedMsg);

const peerParams = {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file added publish/2.3.2/gzip/skylink.complete.js
Binary file not shown.
Binary file added publish/2.3.2/gzip/skylink.complete.min.js
Binary file not shown.
Binary file added publish/2.3.2/gzip/skylink.complete.min.umd.js
Binary file not shown.
Binary file added publish/2.3.2/gzip/skylink.complete.umd.js
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* SkylinkJS v2.3.1 Fri Jul 09 2021 06:39:12 GMT+0000 (Coordinated Universal Time) */
/* SkylinkJS v2.3.2 Wed Jul 28 2021 04:34:40 GMT+0000 (Coordinated Universal Time) */
/*
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
*
Expand Down Expand Up @@ -6366,7 +6366,7 @@ const mediaInfoDeleted = (detail = {}) => new SkylinkEvent(MEDIA_INFO_DELETED, {
*/
const loggedOnConsole = (detail = {}) => new SkylinkEvent(LOGGED_ON_CONSOLE, { detail });

var name="skylinkjs";var description="Temasys Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing or file transfer.";var version="2.3.1";var homepage="https://temasys.io/";var author={name:"Temasys Communications Pte. Ltd.",email:"info@temasys.io"};var main="src/index.js";var module="src/index.js";var repository="Temasys/SkylinkJS";var license="Apache-2.0";var licenses=[{type:"Apache",url:"http://www.apache.org/licenses/LICENSE-2.0"}];var scripts={build:"./node_modules/rollup/bin/rollup --config configs/rollup/rollup.dev.config.js && npm run build:doc-public",publish:"npm run build && ./node_modules/rollup/bin/rollup --config configs/rollup/rollup.prod.config.js",prestart:"npm run build && ./start.sh &",lint:"node_modules/eslint/bin/eslint.js src/**","build:doc-public":"npx jsdoc -r -c configs/jsdoc/jsdoc.config.json","build:doc-private":"npx jsdoc -p -r -c configs/jsdoc/jsdoc.config.json","watch:doc-src":"npx nodemon --exec 'npm run build:doc-public' --watch src","watch:docs":"npm run watch:doc-src"};var dependencies={"@babel/polyfill":"^7.2.5","braintree-jsdoc-template":"^3.3.0",clone:"~2.1.2","crypto-js":"~3.1.9-1","socket.io-client":"^2.4.0","webrtc-adapter":"7.5.1"};var devServer={contentBase:"./dist"};var keywords=["webrtc","real-time","p2p"];var devDependencies={"@babel/core":"^7.2.2","@babel/preset-env":"7.2.3","@babel/register":"7.0.0","@rollup/plugin-json":"^4.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.5",eslint:"^5.2.0","eslint-config-airbnb":"^17.0.0","eslint-loader":"^2.1.0","eslint-plugin-import":"^2.13.0","eslint-plugin-jsx-a11y":"^6.1.1",finalhandler:"^1.1.1",husky:"^1.0.0-rc.13",jsdoc:"^3.6.7",jsdom:"^13.0.0","jsdom-global":"3.0.2","localstorage-polyfill":"^1.0.1",nodemon:"^2.0.4",rollup:"^1.2.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-copy":"^3.3.0","rollup-plugin-delete":"^1.1.0","rollup-plugin-external-globals":"^0.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-local-resolve":"^1.0.7","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-serve":"^1.0.2","rollup-plugin-terser":"^7.0.2","serve-static":"^1.13.2","whatwg-fetch":"^3.0.0"};var husky={hooks:{"pre-commit":"npm run lint","pre-push":"npm run lint"}};var pkg = {name:name,description:description,version:version,homepage:homepage,author:author,main:main,module:module,repository:repository,license:license,licenses:licenses,scripts:scripts,dependencies:dependencies,devServer:devServer,keywords:keywords,devDependencies:devDependencies,husky:husky};
var name="skylinkjs";var description="Temasys Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing or file transfer.";var version="2.3.2";var homepage="https://temasys.io/";var author={name:"Temasys Communications Pte. Ltd.",email:"info@temasys.io"};var main="src/index.js";var module="src/index.js";var repository="Temasys/SkylinkJS";var license="Apache-2.0";var licenses=[{type:"Apache",url:"http://www.apache.org/licenses/LICENSE-2.0"}];var scripts={build:"./node_modules/rollup/bin/rollup --config configs/rollup/rollup.dev.config.js && npm run build:doc-public",publish:"npm run build && ./node_modules/rollup/bin/rollup --config configs/rollup/rollup.prod.config.js",prestart:"npm run build && ./start.sh &",lint:"node_modules/eslint/bin/eslint.js src/**","build:doc-public":"npx jsdoc -r -c configs/jsdoc/jsdoc.config.json","build:doc-private":"npx jsdoc -p -r -c configs/jsdoc/jsdoc.config.json","watch:doc-src":"npx nodemon --exec 'npm run build:doc-public' --watch src","watch:docs":"npm run watch:doc-src"};var dependencies={"@babel/polyfill":"^7.2.5","braintree-jsdoc-template":"^3.3.0",clone:"~2.1.2","crypto-js":"~3.1.9-1","socket.io-client":"^2.4.0","webrtc-adapter":"7.5.1"};var devServer={contentBase:"./dist"};var keywords=["webrtc","real-time","p2p"];var devDependencies={"@babel/core":"^7.2.2","@babel/preset-env":"7.2.3","@babel/register":"7.0.0","@rollup/plugin-json":"^4.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.5",eslint:"^5.2.0","eslint-config-airbnb":"^17.0.0","eslint-loader":"^2.1.0","eslint-plugin-import":"^2.13.0","eslint-plugin-jsx-a11y":"^6.1.1",finalhandler:"^1.1.1",husky:"^1.0.0-rc.13",jsdoc:"^3.6.7",jsdom:"^13.0.0","jsdom-global":"3.0.2","localstorage-polyfill":"^1.0.1",nodemon:"^2.0.4",rollup:"^1.2.2","rollup-plugin-commonjs":"^9.2.0","rollup-plugin-copy":"^3.3.0","rollup-plugin-delete":"^1.1.0","rollup-plugin-external-globals":"^0.2.1","rollup-plugin-gzip":"^2.2.0","rollup-plugin-local-resolve":"^1.0.7","rollup-plugin-node-resolve":"^4.0.0","rollup-plugin-serve":"^1.0.2","rollup-plugin-terser":"^7.0.2","serve-static":"^1.13.2","whatwg-fetch":"^3.0.0"};var husky={hooks:{"pre-commit":"npm run lint","pre-push":"npm run lint"}};var pkg = {name:name,description:description,version:version,homepage:homepage,author:author,main:main,module:module,repository:repository,license:license,licenses:licenses,scripts:scripts,dependencies:dependencies,devServer:devServer,keywords:keywords,devDependencies:devDependencies,husky:husky};

/**
* @namespace SkylinkConstants
Expand Down Expand Up @@ -8717,6 +8717,7 @@ const MESSAGES = {
DROPPING_MUTE_EVENT: 'Dropping mute audio / video event message as it is processed by mediaInfoEvent',
BUFFER_NOT_NEEDED: 'Enter message sent. Messages do not need to be buffered',
ABORTING_OFFER: 'Aborting offer as current negotiation has not completed',
DROPPING_ENTER: 'Dropping enter message as inRoom message has not been received',
},
MESSAGING: {
PRIVATE_MESSAGE: 'Sending private message to Peer',
Expand Down Expand Up @@ -23242,9 +23243,13 @@ const parseAndSendWelcome = (message, caller) => {
rid, mid, userInfo, publisherId,
} = parsedMsg;
const state = Skylink.getSkylinkState(rid);
const { hasMCU } = state;
const { hasMCU, user } = state;
const targetMid = hasMCU && publisherId ? publisherId : mid;

if (!user.sid) {
logger.log.DEBUG([targetMid, TAGS.PEER_CONNECTION, null, [MESSAGES.SIGNALING.DROPPING_ENTER]]);
}

logStats(caller, targetMid, state, parsedMsg);

const peerParams = {
Expand Down Expand Up @@ -23633,15 +23638,17 @@ const renegotiateIfNeeded = (state, peerId) => {
}

pcSenders.forEach((pcSender) => {
senderGetStatsPromises.push(pcSender.getStats());
if (pcSender.track) { // if track is null, the sender does not transmit anything
senderGetStatsPromises.push(pcSender.getStats());
}
});

const transmittingSenders = {};

Promise.all(senderGetStatsPromises).then((reslovedResults) => {
reslovedResults.forEach((reports, senderIndex) => {
Promise.all(senderGetStatsPromises).then((resolvedResults) => {
resolvedResults.forEach((reports, senderIndex) => {
reports.forEach((report) => {
if (report && report.ssrc && report.bytesSent !== 0) {
if (report && report.ssrc) {
transmittingSenders[report.ssrc] = pcSenders[senderIndex];
} else if (report && report.type === 'ssrc' && report.id.indexOf('send') > 1) { // required for retrieving sender information for react
// native ios
Expand Down Expand Up @@ -23944,12 +23951,12 @@ const clearPeerInfo = (roomKey, peerId) => {
// Otherwise stats module fails.
setTimeout(() => {
const state = Skylink.getSkylinkState(roomKey);
if (!isEmptyObj(state)) {
if (state && !isEmptyObj(state)) {
delete state.peerConnections[peerId];
Skylink.setSkylinkState(state, state.room.id);
}

if (!updatedState.hasMCU) {
if (state && !state.hasMCU) {
// catch media changes when remote peer leaves between the interval
// not needed for MCU as it will be caught in onremovetrack
new HandleUserMediaStats().send(roomKey);
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

0 comments on commit 6d46389

Please sign in to comment.