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>
- Read client-side and server-side API documentation.
- For support, general questions, discussions post to https://groups.google.com/d/forum/tinode.
- For bugs and feature requests open an issue.
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(...);
Keep in mind that the SDK also references URL.createObjectURL()
which is not currently polyfilled. An exception will be thrown when the user attempts to download a file attachment. See discussion: https://github.com/tinode/tinode-js/issues/28