Skip to content

v0.1.0

Choose a tag to compare

@amerllica amerllica released this 25 Oct 16:51
· 20 commits to main since this release
v0.1.0
bdc27fa

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, MetaGetBuilder and CommError, ported to
    TypeScript with typed protocol messages.
  • Transports: websocket, long polling, and LargeFileHelper for uploads and downloads. upload() takes a web
    Blob/File or a React Native file object { uri, name, type }.
  • Formats: Drafty rich text and TheCard contact cards, with a grapheme fallback for Hermes.
  • Offline cache with pluggable storage: MemoryAdapter, IndexedDBAdapter on the web, and KeyValueAdapter for
    expo-sqlite kv-store, MMKV (fromMMKV) and AsyncStorage on native.
  • React: TinodeProvider, TinodeStoresProvider, createTinode, and the hooks useTinode, useConnection,
    useLogin, useMeTopic, useTopic, useMessages and useTyping.
  • 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-sqlite on native.

Docs

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.Z tag on main, with npm trusted publishing and
    provenance. A version that is already on npm is not published again.

Contributors