Repository navigation
v0.1.0
Highlights
The first release. react-native-tinode is a Tinode chat client for React Native
and the web, written in TypeScript. It is a port of the official JavaScript SDK
(tinode-js v0.25.4) that does not need browser APIs, with React hooks on top.
It runs on iOS, Android and the web, in Expo Go and in bare React Native, with no native code.
Added
- Client:
Tinode,Topic,TopicMe,TopicFnd,AccessMode,MetaGetBuilderandCommError, ported to
TypeScript with typed protocol messages. - Transports: websocket, long polling, and
LargeFileHelperfor uploads and downloads.upload()takes a web
Blob/Fileor a React Native file object{ uri, name, type }. - Formats:
Draftyrich text andTheCardcontact cards, with a grapheme fallback for Hermes. - Offline cache with pluggable storage:
MemoryAdapter,IndexedDBAdapteron the web, andKeyValueAdapterfor
expo-sqlitekv-store, MMKV (fromMMKV) and AsyncStorage on native. - React:
TinodeProvider,TinodeStoresProvider,createTinode, and the hooksuseTinode,useConnection,
useLogin,useMeTopic,useTopic,useMessagesanduseTyping. - Push:
registerDeviceToken(tinode, token)sends the device push token to the server. - Example app with login, contacts and chat screens. It caches chats with
expo-sqliteon native.
Docs
- README with installation, quick start, hooks, storage, files and push.
- Design decisions.
- Persistence guides for
each supported store.
Internal
- Licensed under Apache-2.0 as a port of tinode-js. See NOTICE.
- Releases are published only by GitHub Actions on a
vX.Y.Ztag onmain, with npm trusted publishing and
provenance. A version that is already on npm is not published again.
Contributors
- @amerllica: the port, the React layer, the example app and the docs.
- Thanks to Tinode LLC for tinode-js, which this
release is ported from.
- Install:
yarn add react-native-tinode@0.1.0 - npm: https://www.npmjs.com/package/react-native-tinode/v/0.1.0
- Full Changelog: https://github.com/amerllica/react-native-tinode/commits/v0.1.0