Build a custom inbox, real-time typing indicator data, and more
Highlights
Build your own custom inbox
You can now build your own custom inbox or message center with TalkJS. The new TalkSession.subscribeConversations
method for the JavaScript Data API allows you to get real-time updates about any conversations in your app.
Read more about subscribing to conversations.
Always know who’s typing
You can now use the JavaScript Data API to subscribe to typing indicators.
Typing indicators are time-based. That means that if a user hasn’t typed anything for 10 seconds, they automatically count as having stopped typing. This ensures that typing indicators only show up when a user is actually typing, not when they accidentally pressed a key and left the tab open.
Email notifications in a thread
Email notifications about new messages are now threaded by conversation in most email clients. This way, your users can more easily stay on top of notification messages with a clean, organized inbox.
Overview of other changes
Added
TalkJS Core
- TalkJS Core (1.2.0): Added
ConversationRef.subscribeParticipants
, which returns a windowed subscription to the participants in the conversation. This allows you to build custom participants lists, or create chat UIs that react to participant changes. - TalkJS Core (1.2.0): Added
ParticipantSubscription
andParticipantActiveState
. - TalkJS Core (1.1.1): Added
ConversationSnapshot.everyoneReadUntil
, which is the minimum of all the participants’readUntil
values. Any messages sent on or before thereadUntil
timestamp have been read by all participants in the conversation, which displays that double-tick read status indicator.
JavaScript SDK
- JavaScript SDK (0.38.0): Added
.ConversationRef.subscribeTyping
- JavaScript SDK (0.38.0): Added
TypingSnapshot
. - JavaScript SDK (0.37.0): Added
readUntil
field toConversationSnapshot
.
React Native SDK
- React Native SDK (0.14.0): Add
hideKeyboardAccessoryView
prop toChatbox
andConversationList
. When set to true it removes the accessory view (^ ˅ and Done) from the top of the iOS keyboard. The default value isfalse
.
Changed
- TalkJS Core (1.2.0): Improved startup time by sending queued requests faster when you first open the connection.
- ⚠️ React Native SDK (0.14.0): To support React Native 0.79, this version drops support for CommonJS source files. The package now only ships with ESM source files. (breaking change)
Fixed
- React Native SDK (0.13.2): Fix
setPushRegistration
andunsetPushRegistration
methods not working. - Fixed an issue where, under certain conditions, the emoji picker didn’t display selected skin tones correctly.
👋 Thoughts? Questions? Get in touch.
✨ Follow TalkJS on LinkedIn, Bluesky or 𝕏 to stay up to date.
👩🏾💻 Come join TalkJS! Check out the jobs page.