More flexible message filtering, imports, and more
TalkJS monthly product update
APRIL 2026
This month's update brings you new building blocks for creating rich chat experiences, including an Inbox component and support for voice messages on the Components SDK. We’ve also streamlined message handling on the REST API, fixed some bugs and made performance improvements.
Highlight
More flexible message filtering and imports in the REST API
The REST API now makes it easier to work with message data at scale. You can filter messages by message and sender attributes when fetching them, enabling more targeted queries or custom views.
We’ve also improved message imports. You can now import messages from non-participants, such as guests or people who’ve been removed from a conversation. In addition, we've simplified read status when importing messages. You no longer need to set readBy on every message; just import all messages, then set each participant's readUntil at the end.
Overview
Added
Components SDK
Version 0.1.6
- Added the Inbox (React) and t-inbox (Web Components) components, which combine a conversation list and chatbox into a single responsive layout.
- Added a VirtualMessage system component, which lets you show virtual (or ‘fake’) messages in the message list.
- Added support for
conversation.welcomeMessagesin the BeforeMessages theme component using virtual messages, to allow showing welcome messages. - Added a NoConversationSelected theme component.
Version 0.1.5
- Added support for voice messages. Users can now record, preview, and send audio messages directly in the chat UI, with built-in waveform visualizations.
- Added a VoiceRecorder theme component that’s rendered during active voice recording.
- Added a RecordingPreview theme component that allows a user to preview the audio they’re just recorded.
- Added a Waveform system component that renders an audio waveform visualization.
Changed
Components SDK
Version 0.1.6
- Chatbox now supports the
conversationIdfield to be null. When there’s no conversation selected, the newNoConversationSelectedtheme component is shown. - Made various performance improvements, including reducing message re-rendering and ensuring smoother switching between conversations.
Made various theme updates (non-breaking changes):
ChatHeadercan now optionally display a back button for responsive navigation when using an Inbox chat UI.- Added a
t-statusattribute in theMessagecomponent to ensure that pending messages keep a stable size during sending. - Added
conversationIdto theMessagecomponent’s common theme props, to reduce re-renders.
- Compare theme versions 0.1.5 and 0.1.6.
JavaScript Data API
- Emoji reactions are now ordered by the time they were first added, instead of alphabetically.
REST API
- App-scoped tokens are now called
admin tokens, to clarify that these are sensitive tokens intended for admin use only. You cannot include a 'sub' claim (user id) in the payload of an admin token.
Deprecated
REST API
readByis now optional and deprecated. We recommend importing messages without settingreadBy, then settingreadUntilon each participant at the end.
Fixed
Components SDK
Version 0.1.6
- Fixed an issue where image previews would sometimes blink when sending messages.
- Improved the reliability of the ‘New messages’ marker.
Version 0.1.5:
- Fixed an iOS 18 issue where, under some conditions, playback of voice recordings could break the UI.
- Fixed an issue where the audio player speed popover would be partially hidden.
- Fixed an issue where the message field placeholder text would overlap with sending icons in narrow chatboxes.
Version 0.1.4:
- Fixed an issue where loading older messages could cause the scroll position to jump.
Classic SDKs
- Fixed a bug that would cause inconsistent behavior when loading older conversations after changing feed filters.
- Improved error messaging when a user attempts to join a non-existent conversation as a guest.
- Fixed an issue where notifications weren’t sent for messages sent by guests or participants removed from the conversation.
Talk to an expert →
Docs | Demos | Use cases | Contact | Careers