TalkJS Changelog logo
Back to Homepage

Changelog

Subscribe to Updates

Labels

  • All Posts
  • Bug fix
  • Announcement
  • Improvement
  • Chat UI
  • JavaScript SDK
  • REST API
  • Dashboard
  • Deprecated
  • New
  • React Native SDK
  • Flutter SDK
  • Security
  • React

Jump to Month

  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • January 2023
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • March 2022
  • February 2022
  • December 2021
  • November 2021
  • October 2021
  • August 2021
  • July 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • September 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
Changelog byAnnounceKit

Create yours, for free!

Bug fixImprovementChat UIJavaScript SDKReact Native SDKFlutter SDKSecurityReact
10 months ago

More secure authentication, comments theme, and more

Highlights

More secure authentication

Using authentication for your chat helps you protect your user’s messages and data. You can now also enable more secure authentication on your chat using industry-standard JSON Web Tokens (JWTs). 

Token-based authentication is more secure. Because tokens can be set to expire, if a token accidentally gets leaked or stolen, any attacker only has a limited window of time in which they could carry out their attack—giving you the confidence of better protecting your chat data.

The new authentication guide walks you through the basic steps to take to:

  • Generate a token
  • Pass a token
  • Activate token-based authentication on your dashboard

You can also use token-based authentication for the REST API.

Read the authentication guide and further details:

  • Security: Authentication
  • REST API authentication

Comments theme

Two windows with comments. On the left a static comment thread in a white chat. On the right a comment box in black, where comments are actively being posted on the topic of hybrid working.

Preset themes let you select a complete look and feel of your TalkJS user interface in one go. The new comments preset theme is tailored for any in-app commenting experience, such as for a:

  • Text or code editor
  • Whiteboard
  • Media player
  • Collaboration tool

With the comments preset theme, you can seamlessly embed comments, mentions, and reactions into your app. Moreover, using ready-made components, you can customize the commenting experience to meet your exact needs.

You can enable the comments theme directly from the Themes page of your dashboard.

Learn more about the Comments preset theme.

Overview of other changes

Added

JavaScript SDK

0.21.0

  • Added support for JSON Web Token (JWT)-based session authentication, adding SessionOptions.token and SessionOptions.tokenFetcher. For more details on how to use JWT-based authentication, see the authentication documentation.

0.20.0

  • Added the first aspects of the Realtime API.
  • Added UserRef to fetch and manipulate data about users.
  • Added Session.currentUser: UserRef to get a reference to the current user for use in the Realtime API.
  • Added Session.user(): UserRef to get a reference to an arbitrary user.

0.19.0

  • Added the option messageId to Inbox.select.

React SDK

0.1.8

  • Added token and tokenFetcher props to Session. For more details on how to use JWT-based authentication, see the authentication documentation.

React Native SDK

0.10.0

  • Added token and tokenFetcher props to Session. For more details on how to use JWT-based authentication, see the authentication documentation.

0.9.0

  • Added disableZoom prop to Chatbox and ConversationList. This allows you to choose whether the user can pinch to zoom in and out of the UI. By default its value is false and the user can zoom into the UI.

Flutter SDK

0.12.0

  • Added token and tokenFetcher properties to Session. For more details on how to use JWT-based authentication, see the authentication documentation.

0.11.0

  • Added the enableZoom property to Chatbox.
  • Added the sendMessage method to Conversation.

Changed

  • Made the ReferencedMessage component customizable in the Theme editor. The ReferencedMessage component renders the contents of the message that is being replied to.

Deprecated

  • JavaScript SDK (version 0.21.0): Deprecated SessionOptions.signature. Signature-based authentication will continue to be supported indefinitely, but JWT-based authentication is recommended for new projects.
  • React SDK (version 0.1.8): Deprecated the signature prop on the Session component. Signature-based authentication continues to be supported indefinitely, but JWT-based authentication is recommended for new projects.
  • React Native SDK (version 0.10.0): Deprecated the signature prop on the Session component. Signature-based authentication will continue to be supported indefinitely, but JWT-based authentication is recommended for new projects.
  • Flutter SDK (version 0.12.0): Deprecated the signature prop on the Session component. Signature-based authentication will continue to be supported indefinitely, but JWT-based authentication is recommended for new projects.

Fixed

  • Fixed an error where a certain combination of unicode characters in emoticons could cause a page to crash.
  • Fixed an issue where, under certain conditions, updating a user’s presence (such as by typing, or focusing a window) would result in errors.
  • Fixed an issue where performing a search didn’t respect feed filters.
  • React Native SDK (version 0.9.1): Fixed a regression with messages not getting marked as read when loading the Chatbox.
  • React Native SDK (version 0.9.0): Fixed unnecessary warnings in iOS when calling MessageField methods.

New guides and tutorials

  • How to integrate chat into a Framer site with TalkJS
  • How to show a system message only to a specific user




👋 Thoughts? Questions? Get in touch.

✨Follow TalkJS on 𝕏 and LinkedIn to stay up to date.

👩🏾‍💻We’re hiring! Check out our jobs page.

Bug fixImprovementChat UIREST APISecurityReact
a year ago

React SDK, batch user updates, and more

Highlights

React SDK

Are you using React for your project? Then life has just become a lot easier, with an official React SDK for TalkJS. With React components for TalkJS, you can have all the goodness of the TalkJS pre-built chat UIs inside your React web application in no time. 

TypeScript bindings are included.

Install the @talkjs/react npm package and get started.

Mark conversation as unread

Users can now mark conversations as unread. When a user marks a conversation as unread, a small dot appears inside the conversation header in their inbox to indicate the unread status. When the user switches focus back to the conversation, the unread message marker disappears.

Chat interface with in the top left the channel name ‘#fundraising’, and from the top right a search bar and three horizontal dots. A dropdown option from the three dots reads ‘Mark as unread’. In the chat itself is a single message stating ‘Any updates?’.

Menu option to mark a conversation as unread

In new themes, the Mark conversation as unread feature is automatically active. For existing themes, you can follow the upgrade guide to enable marking conversations as unread.

Batch update users

Do you need to update details for multiple users? Forget making one API call after the other. You can now batch update the properties of many users at once, using the REST API. Simply send a PUT request with user objects with updated details to the /users endpoint.

Read more on how to batch update users.

Action buttons

Action buttons and action links are an easy way to let users perform quick-response actions. You can now execute custom code in your chat to create action buttons and action links.

A chat interface with the header ‘Merchandise’ and a message. The message states ‘Which color do you prefer?’, followed by two action buttons: one red button with the text ‘Red’, and a blue button with the text ‘Blue’. At the bottom is a message field where a user can type their message.

Action buttons for color selection

You can add action buttons and links to your components in the theme editor, or apply special formatting to your messages directly. 

For security reasons, adding action buttons and action links to messages only works with messages sent via the REST API.

Read more on action buttons and action links.

Overview of other changes

Added

  • Added options for customizing various components of the message field area of a conversation. This includes customizable components for the reply bar, voice recorder, audio player, emoji suggest bar, and the mention suggest list.
  • Enabled message actions (such as deleting, favoriting, or reporting a message) also for users who only have read access to a conversation.
  • Added a thumbnail element to themes that support a src attribute, which can be used to display image, audio, or video files that are not message attachments.

Changed

  • Improved message visibility by scrolling the message field into view when it gets focused.
  • Improved image previews by using the image dimensions for images that have not yet been loaded, while they are loading.
  • Improved the color contrast for @mentions in the Default Dark theme.

Fixed

  • Fixed an issue where the iframe background would show up light, even when the color scheme in the host webpage was set to dark.
  • Fixed an issue where an audio recording playback was not properly loaded on Safari.
  • Fixed a bug where focusing the message field would cause the host webpage to scroll down in Chrome and Firefox.
  • Fixed a bug where email notifications for messages containing mentions would fail to send when using a templated email theme.
  • Fixed several bugs where, when editing a message, the message field was not displayed correctly or the message list would have incorrect padding.
  • Fixed an issue where, in the Default Dark theme, search result highlighting would make the found text unreadable.

Security

  • Addressed a potential cross-site scripting (XSS) vulnerability related to uploading SVG files. When clicking on an SVG file, a user will now download the file, rather than open it directly in the browser.

👋 Thoughts? Questions? Get in touch.

✨ Follow TalkJS on 𝕏 and LinkedIn to stay up to date.

👩🏾‍💻 We’re hiring! Check out our jobs page.