Dark mode, message translation, and new callback props
The October 2026 update brings dark mode to the Components SDK and message translation to the JavaScript Data API. The Components SDK also gets two callback props that let you adjust messages and mention suggestions before they're sent, and if you use webhooks, you'll now get an email when deliveries to your endpoint keep failing. There's also a new case study on how ToursByLocals moved 17 years of in-house messaging to TalkJS.
Highlights
Dark mode for the Components SDK
The chatbox, inbox and conversation list now have a dark color scheme. Turn it on by passing colorScheme="dark". The emoji and reaction pickers follow the same setting. To change how light and dark mode look, edit variables.css in your theme. Dark mode isn't supported by the classic theme yet.
Control messages and mentions before they're sent
Two new callback props on the chatbox and inbox give you more control over what users send. beforeSendMessage runs right before a message is sent, so you can change its content or cancel it. transformMentions lets you change the list of users shown in the mention suggestion popup, for example to let users mention people who aren't in the conversation yet.
Read the guide for React or Web Components →
Translate messages with the JavaScript Data API
MessageRef.translate(language) translates a message into the language you choose. It returns the translated content blocks and plain text. Real-time translation is available on the Growth plan and up.
Read the docs →
All changes
Components SDK (0.3.8–0.3.9)
- Added dark mode, turned on with
colorScheme="dark". Not supported by theclassictheme yet. - Added a
beforeSendMessagecallback prop on the chatbox and inbox that lets you change or cancel a message right before it's sent. React docs · Web Components docs - Added a
transformMentionscallback prop that lets you change the list of users shown in the mention suggestion popup. React docs · Web Components docs - Changed the default theme's 'stop recording' button in the voice recorder to make it clearer.
- Changed the message menu to hide the reply option when the message field is hidden.
- Changed the
Message,MessageActionMenu,MessageField,variables.cssandVoiceRecorderfiles in the default theme, andMessageFieldin the classic theme: compare 0.3.6 and 0.3.9. If you've customized any of them exceptVoiceRecorder, copy the changes over to make dark mode andbeforeSendMessagework in your theme. - Fixed a bug in
@talkjs/react-componentsthat could cause a crash when deleting old messages in React 18.
JavaScript Data API (1.12.0)
- Added
MessageRef.translate, which translates a message into a chosen language. Available on the Growth plan and up. - Fixed a bug where changing a user's role didn't update their
UserRef.subscribesubscribers. This also applies to the Kotlin Data API. No update needed.
Platform, REST API & webhooks
- Added email alerts for failed webhook deliveries. Project members with the Owner, Admin or Developer role get at most one email per endpoint every 24 hours until the problem is resolved.
- Fixed a bug where files with accented characters in their names wouldn't open from an iOS WebView. Accent marks are now removed from the file's URL, so
äbecomesa. - Security Hardened tenant isolation and permission checks in API authentication.
New guides and resources
- Customizing mentions for React and Web Components: let users mention people outside a conversation, and notify them when they're mentioned.
- How ToursByLocals boosted travel bookings by 15%: how a tour marketplace replaced 17 years of in-house messaging with TalkJS, migrating with zero downtime.