Skip to content
SkylinkJS Javascript WebRTC SDK
JavaScript HTML Other
Branch: 0.9.x/master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc-style Change title in index.html Apr 19, 2018
doc Release changes for 0.9.2 May 7, 2019
publish Release changes for 0.9.2 May 7, 2019
source reportToAPI method and consistent clientID for better stats reporting… May 6, 2019
tests ESS-1006 Completed init() tests. Nov 22, 2017
.gitignore ESS-1242: New Styling for video call Sep 21, 2018
.jshintrc ESS-498 Fixes for jshint reportOutput bug. See… Jul 27, 2016 Update policy on not commiting publish/ or doc/ files. Sep 6, 2017
Gruntfile.js ESS-1006 Completed init() tests. Nov 22, 2017
LICENSE Adding Apache2 license Mar 26, 2014 Release changes for 0.9.2 May 7, 2019
bower.json Release changes for 0.9.2 May 7, 2019
index.html Updates to demos to ensure it works accordingly in several scenarios. Feb 28, 2017
package.json Release changes for 0.9.2 May 7, 2019

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 or file transfer.

We've gone to great length to make this library work in as many browsers as possible. Temasys SkylinkJS Web SDK is built on top of AdapterJS and works with our Temasys WebRTC Plugin even in Internet Explorer and Safari on Mac and PC.

You'll need a Temasys Account and an App key to use this. Register here to get your App key.

Supported Browsers

Browsers in Beta (Edge/Bowser/Safari):

Note that for beta supported browsers, some of the audio / video functionalities may not work well. Some older versions of Edge may require you to enable experimental support for H.264 video codec to interop with Chrome and Firefox browsers.

Features Chrome Firefox Opera IE (plugin) Safari (beta) Safari (plugin) Edge (beta) Bowser (beta)
Platforms: Win, Mac, Ubuntu, Android Win, Mac, Ubuntu, Android Win, Mac, Ubuntu, Android Win Mac Mac Win iOS
Minimum Recommended Versions: 52 48 38 9 11 7 15 0.6.1
Screensharing Yes with Chrome Extension** Yes with Firefox Extension** - Yes with Commercial Temasys Plugin* - Yes with Commercial Temasys Plugin* No No
Video Call Yes Yes Yes Yes with Temasys Plugin Yes Yes Temasys Plugin Yes (with H264 flag enabled) Yes
Audio Call Yes Yes Yes Yes with Temasys Plugin Yes Yes with Temasys Plugin Yes Yes
File Transfers Yes Yes Yes Yes with Temasys Plugin Yes Yes with Temasys Plugin No No
Chat Messaging Yes Yes Yes Yes with Temasys Plugin for P2P Yes Yes with Temasys Plugin for P2P Yes (Signaling only) Yes (Signaling only)
  • (+) Latest browser versions indicates the last tested browser version. It should work with the updated next versions, but if it doesn't, open a bug ticket.
  • (*) Custom Branded Temasys WebRTC Plugin incorporates additional features not available in the free plugin.
  • (**) Our extensions works with Temasys demos and localhost demos. You will have to modify the extension to work on your hosted Web Applications. For Chrome extensions source code, contact us. For Firefox extensions source code, you may download from your Application Key in

Install Temasys SkylinkJS Web SDK with npm:

npm install skylinkjs@0.6.x

Install Temasys SkylinkJS Web SDK with bower:

bower install skylinkjs

Read more

Need help or want something changed?

You can raise tickets on our support portal or on our Github Page.

Current versions and stability

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.

Latest version: 0.9.2.

Setting AdapterJS flags

If you require to set Temasys AdapterJS flags (e.g. forcing Temasys WebRTC plugin), we recommend the following method:

  // Example options.
  var AdapterJS = {
    options: {
      forceSafariPlugin: [Boolean],
      hidePluginInstallPrompt: [Boolean],
      getAllCams: [Boolean]
<! -- Now reference AdapterJS or SkylinkJS (complete version) -->
<script src=""></script>

For more details, please read the documentation in Temasys AdapterJS.

Noted Issues and Solutions

Installing 0.6.3 - 0.6.10 versions in NPM

Due to corrupt files issues for versions 0.6.3 - 0.6.10, we have removed these versions from the NPM repository. You may still install these versions using this command:

npm install git://<version_tag>
Encoding issues from AdapterJS dependency

There is a known issue caused by AdapterJS 0.14.0 which manifests as incorrectly encoded characters. To resolve this, it is recommended that charset is set the HTML file:

<meta charset="utf-8">
Upgrading from 0.5.7 and below:

It's now recommended to use the init() callback instead of using readyStateChange complete state as this may result in an infinite loop.

readyStateChange triggers each time the current room information is recieved, and joining a room other than default room will result in a re-fetch from the API server. This can result in a endless re-join loop.

// Use this
sw.init(data, function () {

// Instead of
sw.on('readyStateChange', function (state) {
  if (state === sw.READY_STATE_CHANGE.COMPLETED) {

How to build your own Temasys SkylinkJS Web SDK

Using Git command line tools, execute the following:

# 1. Clone or download this repository via git terminal.

git clone

# 2. Install all required dependencies. Use (sudo npm install) if required.

npm install

# 3. Install Grunt to run tasks.

npm install grunt -g
npm install grunt-cli -g

# 4. Install Browserify and Testling to run test scripts :

> **Note** that currently the test scripts are outdated and may not work as we are evaluating to upgrade the test scripts in the future.

npm install browserify -g
npm install testling -g

# 5. Run the start script to start a local webserver to be able access the demo and doc folders. This will popup Chrome (Mac). You can configure a different browsers in the file. Alternatively, you can run (sh

npm start # note that this runs in Chrome currently..

After making edits, here are some commands to run and build the Temasys Web SDK:

  • grunt jshint : Validate for formatting and syntax errors.
  • grunt yuidoc : To generate the SDK documentation.
  • grunt dev : Compile the SDK.
  • grunt publish : Publish a release.

What's included in the repository?

  • demo : Reference Code Examples.
  • doc : Generated documentation for the Temasys Web SDK.
  • doc-style : Templates used documentation.
  • publish : Production version of the library as well as minified variants
  • source : Temasys Web SDK source
  • tests : Test suite.



You can’t perform that action at this time.