Home

Awesome

Javascript bindings for Tinode

This SDK implements Tinode client-side protocol for the browser based applications. See it in action at https://web.tinode.co/ and https://sandbox.tinode.co/ (full source).

This is not a standalone project. It can only be used in conjunction with the Tinode server.

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

Helping out

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, as well as indexedDB with something like fake-indexeddb:

  Tinode.setNetworkProviders(require('ws'), require('xmlhttprequest'));
  Tinode.setDatabaseProvider(require('fake-indexeddb'));
  this.tinode = new Tinode(...);

URL.createObjectURL() and related methods were added in Node v16.7.0. The SDK is unlikely to work correctly with earlier versions of Node.