/tinode-js

Tinode javascript bindings

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Javascript bindings for Tinode

See it used at https://web.tinode.co/ and https://sandbox.tinode.co/ (full source).

Regularly released NPM packages are at https://www.npmjs.com/package/tinode-sdk

You may include the latest standalone minified SDK into your html file as

<script crossorigin="anonymous"
  src="https://cdn.jsdelivr.net/npm/tinode-sdk/umd/tinode.prod.js">
</script>

or while developing as

<script crossorigin="anonymous"
  src="https://cdn.jsdelivr.net/npm/tinode-sdk/umd/tinode.dev.js">
</script>

Getting support

Node JS compatibility

This SDK is intended to be used in a browser. To use tinode-sdk in Node JS environment (such as on a server), you have to polyfill network providers, for example with ws and xmlhttprequest or xhr.

  Tinode.setNetworkProviders(require('ws'), require('xmlhttprequest'));
  this.tinode  = new Tinode(...);

or (before instantiating Tinode):

  window.WebSocket = require('ws');
  window.XMLHttpRequest = require('xmlhttprequest');

Keep in mind that the SDK also references URL.createObjectURL() which is not currently polyfilled. It will throw an exception when the user attempts to download a file attachment. See discussion: tinode#28