Emoji reactions with the JavaScript Data API, 24/7 support bot, and more
This month’s update brings real-time emoji reactions to the JavaScript Data API, introduces the new TalkJS Support Bot, and includes important fixes and SDK improvements across platforms.
Highlights
Emoji reactions with the JavaScript Data API
You can now access and manage real-time emoji reaction data for any message using the JavaScript Data API. TalkJS Core 1.5.0 introduces two new objects: ReactionRef, created via MessageRef.reaction, and ReactionSnapshot, available through MessageSnapshot.reactions. These allow you to subscribe to live updates on emoji reactions, see how many reactions a message has, and add or remove reactions programmatically.
This update supports both Unicode and custom emoji, with a limit of 50 distinct emojis per message.
For implementation details, check out the documentation for:
24/7 TalkJS Support Bot
Building at 2:13 a.m.? We’ve got you covered. You can now get TalkJS support 24/7 with the new TalkJS Support Bot. Whether you’re integrating TalkJS into your app or fine-tuning your chat experience, the Support Bot can instantly help with product questions, troubleshooting, and setup guidance, even outside our regular office hours (CET).
Of course, our expert human support team is still here when you need them. If you’d like to talk to a person, just hit Talk to a human and a support engineer will pick things up from there.
Other changes
Added
- Added an endpoint to add or remove emoji reactions with the REST API.
Changed
- JavaScript SDK (0.41.1):
Session.user,Session.conversation,ConversationRef.message,ConversationRef.participant, andMessageRef.reactionnow all perform type validation on the argument and will throw an error if you use an invalid type or an empty string. - JavaScript Data API (1.5.1): When passing markup text to
ConversationRef.send, it now ignores formatted links, action buttons, action links. Previously it parsed those nodes and tried to send them, which caused an error because users don't have permission to send those nodes. - JavaScript Data API (1.5.0):
Session.user,Session.conversation,ConversationRef.message,ConversationRef.participant, andMessageRef.reactionnow all perform type validation on the argument and will throw an error if you use an invalid type or an empty string. - JavaScript Data API (1.4.2): Changed
GenericFileBlockfromsubtype?: undefinedtosubtype?: neverso that type narrowing works consistently when you checksubtype === "." - Flutter SDK (0.16.0) – Breaking change: Updated Firebase dependencies. This upgrades the Firebase iOS SDK version to
12.0.0and the Firebase Android SDK version to34.0.0. As a result the minSdkVersion on Android is API Level 23 (Android 6.0) and the minimum iOS version supported is iOS 15. See the Firebase Android and iOS release notes for more information.
Fixed
- JavaScript SDK (0.41.1): Fixed a bug where
MessageRef.get()would always setMessageSnapshot.referencedMessageto null. - JavaScript Data API (1.5.0): Fixed a bug where
MessageRef.get()would always setMessageSnapshot.referencedMessageto null. - Flutter SDK: Fixed a bug where, on iOS, switching focus from one input field to another would cause the webview to shift downwards. Upgrade dependencies (
flutter pub upgrade) for the update to take effect. - Fixed an issue where users on iOS using Safari would have to double tap a link for that link to open.
- Fixed a bug where exiting a fullscreen video would result in the chat jumping up or down when using the Chrome browser.
- Fixed an issue where mentions wouldn’t be preserved correctly in translated messages.
👋 Thoughts? Questions? Reply to this message, or start a chat.
✨ Follow TalkJS on LinkedIn, Bluesky or 𝕏 to stay up to date.
👩🏾💻 Come join TalkJS! Check out the jobs page.