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 SDKREST APIDashboardReact Native SDKFlutter SDK
8 months ago

Customizable search UI, more push notifications options, and other changes

Highlights

Customizable search UI

You can now customize the conversation list search as part of your theme, to match your own brand’s look and feel. The conversation list search allows users to search for both conversations and messages when using the Inbox pre-built chat UI. 

Components that you can customize as part of your theme include: 

  • ConversationListSearchBox
  • MessageSearchResult
  • NoSearchResults
  • SearchResultHeader 
  • SearchResultFooter

For more information about customizing your search UI, check out the documentation for these theme components.

More push notification options on the Expo SDK

Are you using the Expo SDK for React Native? Then you now have yet more flexibility when setting up push notifications. In addition to Firebase, you can now also use Apple Push Notification Service (APNs) for push notifications when working with the React Native Expo SDK. You can choose either the expo-notifications or the @react-native-firebase/messaging library for your push notifications. 

For more details on setting up push notifications for Expo, see: Mobile Push Notifications: Expo.

Overview of other changes

Added

  • Added the option to have multiple secret keys. You can also rotate your secret keys directly from your TalkJS dashboard.
  • Added the option to mark a conversation as read or unread via the REST API.
  • JavaScript SDK (0.23.0): Added a ConversationRef to fetch and manipulate data about conversations on the Realtime API.
  • JavaScript SDK (0.23.0): Added Session.conversation(id: string): ConversationRef to get a reference to a conversation by its conversation ID.
  • React Native SDK (0.11.0): Added a scrollToMessage prop to the Chatbox component.
  • Flutter SDK (0.13.0): Added a scrollToMessage property to the Chatbox component.

Changed

  • Changed the option to get a conversation on the REST API to expose isUnread for each participant in a conversation, to identify whether or not the conversation is unread for that participant.

Fixed

  • Fixed an issue with pasting lists into the chat from Google Docs on Chrome on Windows.
  • Fixed an issue where scrolling to a specific message didn’t work properly when calling select. 
  • Fixed an issue where, under certain conditions, it wasn’t possible to run multiple sessions concurrently.
  • JavaScript SDK (0.23.1): Fixed ConversationSnapshot.createdAt and ConversationSnapshot.lastMessageAt to be number instead of Date.
  • React Native SDK (0.11.0): Fixed an issue where the device token wasn’t registered properly if the Session component was used immediately after the app had been launched.
  • Flutter SDK (0.13.0): Fixed an issue where the push notification device token registration didn’t work correctly in release builds.
  • Flutter SDK (0.13.0): Fixed an issue where Session.hasValidCredentials didn’t work correctly.

New guides and tutorials 

How to add chat to a Blazor web app with TalkJS
How to build a Django chat app with TalkJS


👋 Thoughts? Questions? Get in touch.

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

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

Bug fixImprovementDashboardReact Native SDKFlutter SDK
a year ago

Search all messages, a fresh activity dashboard, and more

Highlights

Search all messages and conversations

You can now include a search box in your chat, to allow users to search all their messages and conversations. 

Overview of the top of the conversation list on the left side of the Inbox pre-built chat UI. At the top is a toggle with the label ‘Browser notifications’, below that is a search box with space to add search terms and a magnifying glass to initiate the search. Below that is the first conversation from the conversation list.

If enabled, the search box appears at the top of the conversation list of the user's inbox in the Inbox pre-built chat UI. 

To enable the search functionality, go to the Settings page of your dashboard. In the Search section, check the Search enabled checkbox.

Section in the Settings page of the TalkJS dashboard with the header ‘Search’. Next to the header is a green label stating ‘Growth plan feature’ with a check mark. Below the header is a check box with the text ‘Search enabled’. At the bottom is a button with the text ‘Index all messages’, with the associated text ‘Messages since April 15, 2024 are indexed and searchable’.

Once you’ve enabled search, all new messages are directly searchable. To also be able to search older messages, select the Index all messages button.

The search messages feature is available on the Growth plan or higher.

Fresh new activity dashboard

With a fresh new Activity overview, it has just become yet easier to analyze chat activity and monitor conversations.

Overview of the Activity page of the TalkJS dashboard. At the top is a header ‘Activity’, with below that a ‘Timeframe’ dropdown menu to select a timeframe, and a list of the number of active users, conversations created, active conversation, and messages in the selected timeframe. Below that is a header ‘Conversation history’, with a table with columns for ‘ID’, ‘Last message’, ‘Subject’, ‘Participants’, ‘Messages’, and ‘Details’, the latter with a button labeled ‘View’ to view the conversation details.

On the Activity page of your TalkJS dashboard, you immediately have an overview of the number of messages sent, active users, as well as conversations created and active. 

You also have direct access to the conversation history of all conversations in your app. To access the details for a specific conversation, select View in the conversation’s row.

Overview of other changes

Added

  • Added the option to separate email notification replys based on a regular expression (regex). 

Changed

  • The sort filter in the TalkJS template language now accepts a key to sort by.
  • React Native SDK (version 0.8.1): The ConversationList no longer highlights the first conversation by default.

Fixed

  • Fixed an issue where audio playback would produce a crackling sound when using Android WebView.
  • Fixed an issue where voice messages wouldn’t correctly play back on iOS 17.3 and lower.
  • React Native SDK (version 0.8.3): Fixed an issue where getNotificationHandler was undefined.
  • React Native SDK (version 0.8.2): Fixed an issue where errors didn’t show up in debug mode.
  • Flutter SDK (version 0.10.2): Fixed an issue where push notifications didn’t work correctly on Android when an app had been terminated.
  • Flutter SDK (version 0.10.2): Fixed an issue where MessageFieldOptions didn’t work correctly.




New guides and tutorials 

  • How to integrate chat into your Softr app with TalkJS 
  • How to shard a group chat in TalkJS 
  • How to customize the popup open and close button 
  • How to make clickable tabs for conversations 
  • New JavaScript getting started guides by use case: 1-on-1 chat, group chat, and large group chat
  • New React getting started guides by use case: 1-on-1 chat, group chat, and large group chat




👋  Thoughts? Questions? Get in touch.

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

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

Bug fixAnnouncementImprovementJavaScript SDKREST APIDashboardReact Native SDKReact
a year ago

Customizable theme components and powerful feed filters

Highlights

Customizable theme components

The theme editor in your TalkJS dashboard lets you tailor the look and feel of the TalkJS user interface to match your brand style. You can edit the default theme directly, or create your own theme from scratch. 

Each theme comes with a large number of customizable theme components. This includes top-level components such as the chat header at the top of a chat, the user message, and the message field in which users can type messages, or send attachments and voice recordings. It also includes subcomponents that are rendered by a top level component in a theme, such as the user’s avatar and the typing indicator that shows when a user is typing.

A chatbox with a conversation and annotations for a selection of customizable theme components. Annotated components are: the chat header at the top, a user message, an avatar, a typing indicator, and the message field at the bottom.

Examples of customizable theme components

We’re continuously expanding the range of components that you can customize. Additional UI components will be available to edit soon. 

Read more on customizable theme components.

Powerful feed filters

If you’re using the Inbox pre-built chat UI, you can customize which conversations show up in the conversation list of the user's inbox by using conversation list filters. 

A conversation list with at the top a toggle for browser notifications, and below that four conversations related to job applications for engineering or data-related roles.

A conversation list with only conversations related to job applications

For example, you can set up a filter to show only conversations with unread messages, conversations that were created or updated within a specific time frame, or only conversations that match a specific string. On top of that, you can filter on specific custom properties, or combine multiple filters all at once.  

You can either use the JavaScript Chat SDK or the REST API to filter conversation lists and select which conversations you return.

Read more on conversation feed filters.

Overview of other changes

Changed

  • React SDK (version 0.1.5): Changed to output ES2015.

Fixed

  • Fixed a bug in the team_chat preset theme which caused the MessageField layout to display incorrectly.
  • Fixed a bug where autoscroll would behave incorrectly under certain conditions.
  • Fixed an issue where, on iOS, replying to a message would focus the MessageField but not resize the MessageList, with the result that the keyboard would cover both the MessageField and the ReplyBar.
  • Fixed an issue where, when replying to a message that contains a list, the body of the quoted message would be rendered incorrectly.
  • Fixed an issue where the message action menu button would stay visible when moving the mouse fast.
  • React Native SDK (version 0.7.1): Fixed a regression that would occur when selecting a conversation while onSelectConversation isn’t given. In this scenario, selecting a conversation will now show the TalkJS Inbox Mobile view.
  • React Native SDK (version 0.7.1): Fixed a bug where notifications not sent by TalkJS would be displayed twice.

New guides and tutorials 

  • How to integrate a chatbot into your TalkJS chat with the OpenAI API
  • How to add a custom typing indicator for a chatbot

👋 Thoughts? Questions? Get in touch.

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

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

Bug fixImprovementJavaScript SDKREST APIDashboardNewReact Native SDK
a year ago

Intuitive new dashboard, better push notification support, and more

Highlights

Intuitive new dashboard

Your TalkJS dashboard has just become more intuitive to use, to get you started seamlessly. 

Overview of the TalkJS dashboard navigation with the following pages listed: Activity, Chat UI, Notifications, Themes, Settings, Live log, and Docs. Plus a toggle for live mode, and a dropdown menu with account details.

From the dashboard, you can:

  • Analyze chat usage and monitor conversation details on the Activity page.
  • Update the chat UI and user permissions from the Chat UI page.
  • Update browser, email, and SMS notification settings from the Notifications page.
  • Create and edit custom UI themes or email themes from the Themes page.
  • Finetune your app-wide settings—including security settings, localization, push notifications, and webhooks—on the Settings page.
  • Get real-time insights from the Live log page.

You can now find the Roles page to create or edit user roles by clicking on ‘Edit roles’ at the top of either the Chat UI page or the Notifications page.

Overview of the section of either the Chat UI page or the Notifications page where you can find the option to edit roles, with the 'Edit roles' link singled out..

Better push notification support

Sending mobile push notifications with TalkJS just got easier, with support for Apple Push Notification Service (APNs) tokens and the new Firebase Cloud Messaging (FCM) API.

Support for APNs tokens

TalkJS now supports using stateless authentication tokens for your communication with Apple Push Notification Service (APNs). Establishing a token-based connection to APNs has several main advantages:

  • You can use the same token from multiple provider servers.
  • You can use one token to distribute notifications for all apps in your Apple Developer Team.
  • APNs tokens don’t expire, so once you have configured them you’re all set.

You can configure APNs tokens from the Settings page of your TalkJS dashboard.

Support for new Firebase Cloud Messaging API

TalkJS now supports the newer Firebase Cloud Messaging (FCM) API for sending mobile push notifications. 

Google has deprecated FCM legacy APIs. For push notifications to continue to work, you will need to generate and provide a service account private key at the earliest opportunity, and before 20 June 2024. 

To start using the new FCM API, take the steps in the following guide: Configure Firebase Cloud Messaging.

Overview of other changes

Added

  • Added a /batch endpoint to the REST API, which you can use to perform multiple operations at once with a single call. See: REST API Batch endpoint documentation.
  • Added an option to the theme editor to allow you to customize the height of the conversation list. You can find the theme editor on the Themes page of your dashboard.
  • Added the option to access the current conversation object inside the MessageField theme component in the theme editor.
  • React SDK (version 0.1.4): Added a useUnreads hook that returns conversations with unread messages, to make it easier to render a component based on the list of conversations with unread messages.
  • React Native SDK (version 0.7.0): Added onLeaveConversation, onCustomMessageAction, and onCustomConversationAction props. These props replace the methods with the same names, which have been deprecated.

Changed

  • Javascript SDK (version 0.18.0): Changed that calling .select on a UI now returns a promise that is resolved when a new conversation is selected.

Deprecated

  • Deprecated the use of Apple Push Notification Service (APNs) certificates. Your configured APNs certificates will continue to work until the certificate expires. Instead of APNs certificates, you can now use APNs tokens.
  • Deprecated legacy themes with limited CSS support. To change the look and feel of TalkJS to match your style, use custom themes instead.
  • Javascript SDK (version 0.18.0): Deprecated ConversationSelectedEvent.others and SelectConversationEvent.others. Instead, use ConversationSelectedEvent.participants and SelectConversationEvent.participants.
  • React Native SDK (version 0.7.0): Deprecated the off method in both Chatbox and ConversationList.
  • React Native SDK (version 0.7.0): Deprecated onLeaveConversation, onCustomMessageAction and onCustomConversationAction methods. Instead, use the added props with the same names.

Fixed

  • Fixed an issue where the push notification tester in the TalkJS dashboard would not send out test push notifications correctly.
  • Fixed a bug that would make the chat freeze when attaching multiple files at once.
  • Fixed an issue where email changes on the Account settings page of the dashboard did not get updated correctly.
  • Fixed a bug where, on iOS, Arabic characters would not get deleted properly when using the backspace key.
  • Fixed an issue where a race condition occurred when selecting the inbox and setting the text of a message field at the same time.
  • React Native SDK (version 0.7.0): Fixed a bug on iOS where videos in link previews would automatically play in full screen mode, instead of inline.

Fresh tutorials and guides

  • How to add chat to a Laravel app with TalkJS
  • How to use TalkJS to create a team chat with channels
  • Chat moderation essentials
  • How to add a GIF picker to your TalkJS chat

👋 Thoughts? Questions? Get in touch.

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

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

Bug fixImprovementJavaScript SDKREST APIDashboardDeprecatedFlutter SDK
a year ago

Flutter SDK updates, filter by creation time, and more

Highlights

Filter by creation time

Need to get all of a user’s messages sent last week? You can now filter both conversations and messages by their creation date.

Using the createdAt predicate, you can select exactly those messages or conversations that were created within a particular time interval.

Read more on filtering by creation time for messages, and for conversations.

Edit app metadata from your dashboard

You can now edit metadata for your application directly from your dashboard. 

With the app metadata editor, you can easily store and edit custom metadata for your app, for example the app’s name, or a custom website URL. Once stored, you can make these app metadata variables available in other places throughout your app, such as in roles, themes, or in your email notification templates.

Overview of the TalkJS dashboard, under the Settings tab, under the heading ‘General’, there is an overview of your app ID, secret key, and a heading ‘App metadata’ with the option to edit metadata for your app. Already listed are {{app.name}}, followed by an empty field where you can fill out the app’s name, and {{app.custom.__}} with the placeholder text 'fieldname', the option to fill out the value for this field, and a ‘Delete’ button to delete this entire custom metadata field. Another button ‘Add custom field’ allows you to add another field. At the bottom of the section is a button ‘Save metadata’ to save all changes.

Edit your app’s metadata directly from your dashboard

You can find the metadata editor under the Settings tab of your TalkJS dashboard, and access your custom app metadata in roles, themes, and notification settings with {{app.custom.}}. 

Multi-line inputs are supported.

Read more on using app custom fields.

Flutter SDK v0.9.1

The Flutter SDK just got better. With the release of version 0.9.1, you can use the Flutter SDK to pass data to themes, and to automatically sync the keyboard color of the chat interface based on your app's theme. 

The Flutter SDK now also has support for custom conversation actions, and ensures that various properties and methods are available for a Session object, including methods for setting, unsetting, and clearing push registrations, and for tracking the number of unread conversations in a session.

Get started with the Flutter SDK.

Overview of other changes

Added

  • Added participant access right information (that is, whether a participant has read-only or read-and-write access) in a conversation to that conversation’s ConversationData in the JavaScript SDK.
  • Added the option to define custom message actions that are available only for messages from other conversation participants.

Changed

  • Simplified adding emoji reactions to themes. You can now pass the Reaction object as a whole to the EmojiReactionButton subcomponent in themes.

Deprecated

  • Deprecated InboxOptions.selected. Instead, use Inbox.select from the JavaScript SDK.

Fixed

  • Fixed an issue where the REST API batch user update did not handle invalid input data correctly.
  • Fixed an issue where having multiple tabs open for a conversation would send multiple browser notifications.
  • Fixed a bug where, when using the Flutter SDK, messages would only get marked as 'read' after clicking the message field, rather than when loading the chatbox.
  • Fixed a bug where a custom sub-component with the same name as a top-level component would get treated as a top-level component, and hence would not be deletable.
  • Fixed an issue where a failed authentication was unable to distinguish between failure due to connection issues, and an expired authentication token.

👋 Thoughts? Questions? Get in touch.

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

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

Bug fixAnnouncementImprovementChat UIJavaScript SDKDashboardDeprecated
a year ago

Edit participant data from dashboard, improved previews, and more

Highlights

Edit participant data directly from your dashboard

You can now edit the data of any participant in a conversation directly from your TalkJS dashboard. 

To edit a participant’s data, go to the Activity section of the dashboard. From the Conversation history section of the activity landing page, select a conversation that contains the participant whose details you would like to edit. A page with conversation details will open. Click on the name of the participant whose details you would like to edit to open their User details page.

The User details page in the Activity section of the TalkJS dashboard. The property ‘Name’ is being edited, with buttons to cancel or save the edits. All other properties, apart from the ID, have a button to edit them.

User details page with the option to edit a conversation participant’s data

You can edit any participant detail apart from the ID, which acts as a stable, unique identifier of the participant.

Image previews resize to fit aspect ratio

Image or video files now have improved thumbnail previews. Instead of cropping an image to fit, the preview thumbnail will resize to match the aspect ratio of the message attachment you sent. 

A chat with two participants in which a square image of a top view lunch menu is sent. The thumbnail preview of the image is itself also square.

Image previews automatically resize to fit the aspect ratio of the file you sent

If you have previously edited the MessageBody component in your theme, you can follow the upgrade guide to add full support for improved attachment thumbnails.

Overview of other changes

Added

  • Added bulleted list formatting to messages. You can now type *, + or - at the start of a new line, and your unordered list will automatically be formatted with bullet points in the sent message.
  • Added an unread message counter to the Default Dark theme.
  • Added support for playing MPEG transport stream (MPEG-TS) audio or video files (.ts, .tsv, .tsa, or .m2t). When you upload an MPEG-TS file, a preview with player options will automatically appear.

Changed

  • Made various improvements to exporting a conversation transcript: the transcript export progress is calculated more accurately; download links have improved; the sender ID will be added to the transcript export; a date string will be used in the exported file name.

Fixed

  • Fixed a bug where users who had been removed from a conversation were still able to reply to that conversation via email.
  • Fixed a bug in the JS SDK where a rapid sequence of creating and destroying a chatbox would crash the chat.
  • Fixed an error where, on the Activity view of the dashboard, it was not possible to delete a conversation.
  • Fixed a bug where, on the Activity view of the dashboard, the participants dropdown would disappear after opening.
  • Fixed an issue where the chat would crash when changing between chats while replying to a message.
  • Fixed an issue where @mentions would break when they contained markup.
  • Fixed an issue in the accuracy of the unread message counter.
  • Fixed an issue where conversation participants with read permissions were not able to mark a conversation as read.  

Deprecated

  • Deprecated syncThemeForLocalDev in the JS SDK. Instead of using this method, you can use custom themes, which give you full control over the HTML and CSS of chat messages.
Bug fixAnnouncementImprovementJavaScript SDKREST APIDashboardReact Native SDK
a year ago

TalkJS updates for 15 July 2023

This changelog entry reflects changes to TalkJS introduced between 12 June 2023 and 15 July 2023.

Highlights

Unread message counter in REST API and Javascript SDK

You now have two new fields available in the user's conversations REST API endpoint that will provide further insight into a user's unread messages. The unreadMessageCount field in the Conversation object will allow you to retrieve the number of unread messages a user has in a conversation. This will help in tailoring badges for the user interface.

Further, the isUnread property indicates whether the conversation has been read by the user or not. isUnread offers a convenient way to determine the read status of the conversation.

Check out the updated REST API documentation for more information and usage examples.

The unreadMessageCount property is also available in the Javascript SDK.

Export conversation data from dashboard

Exporting conversation data doesn’t need to be a hassle. You can now export conversation data from your dashboard with just a click. 

To export conversation data, go to the Activity view on the dashboard. Select a conversation, and then click Export Conversation Data. You can save a transcript as a text file, or export all the relevant data as a JSON object.

The TalkJS dashboard with the conversation details of a selected conversation, highlighting a section with the following buttons: an 'Export Conversation Data' button, as well as buttons to select either a conversation transcript (.txt) or data export (.json).

The dashboard button to export conversation data as .txt or .json files

Overview of other changes

Added

  • Added several methods to Chatbox in the React Native SDK: getCurrentConversation, to retrieve the conversation currently shown in the UI; onCustomConversationAction, which triggers when a user launches a custom action on a conversation within the TalkJS UI; onLeaveConversation, which triggers when the user clicks the Leave conversation action; and sendLocation, which sends the user's current location to the currently active conversation.
  • Added the isForegroundEvent property to NotificationPressedEvent in the React Native SDK, which indicates whether the user pressed the notification while the app was in the foreground or not.
  • Added a leave method to ConversationBuilder in the React Native SDK, which removes the current user from the conversation.
  • Added support for passing data to themes in both the Chatbox and the ConversationList layouts in the React Native SDK.
  • Added Catalan (ca) to the list of languages available for localization of the TalkJS interface. A massive thank you and credit to Relab Studio for providing the translation.

Fixed

  • Fixed an issue that prevented Firebase Dynamic Links from generating link previews.
  • Fixed an issue which disabled zooming in when clicking the MessageField on iOS for the React Native SDK.
  • Fixed a bug that prevented handling notifications in the background on Android for the React Native SDK.
  • Fixed a bug where the app would not open when a notification was clicked on Android for the React Native SDK.
  • Fixed a bug where dismissed notifications were not being removed from the internal list of active notifications on Android for the React Native SDK.
  • Fixed an issue in the theme editor where navigation links in test mode would link to live mode, instead of to test mode.

Changed

  • Made the WebView transparent in the React Native SDK. With a transparent WebView, the background color you have applied to the parent View will be used in the empty areas around the TalkJS UI.
  • Changed the type of the conversation property in SelectConversationEvent from ConversationBuilder to ConversationData in the React Native SDK.
  • Upgraded dependencies for the React Native SDK.
  • Improved various UX aspects of the dashboard’s themes page, including improvements to the layout and dropdown menus, as well as adding the options to delete custom files, hide built-in (non-top-level) files, and reset a file to the preset version.
AnnouncementImprovementDashboard
2 years ago

The TalkJS Dashboard just became much more powerful! (and more)

One of the most common requests is for better moderation features built into the TalkJS dashboard. We're delighted to release the first of those new moderation tools!

Conversation details

After selecting a conversation from the activity viewer in the dashboard, you can now edit properties like its subject, photo, and welcome messages. If you want to get rid of the conversation completely, deleting all messages and removing it from the inbox's conversation list, you can do that too.

A screenshot of the conversation details page, showing Alice and Sebastian having a conversation about 8 kittens

Contact suppression

We've also given you much more control over what content is automatically suppressed in chats, and allowed you to specify the replacement text. So if you want to ban phone numbers but allow links, you can! If that's not enough, you can even specify your own patterns to be suppressed.

We're working on a lot more moderation tools, so here's a sneak preview of the features we're working on adding to the dashboard:

  • Create + delete users, and choose which conversations they are in
  • Edit user properties like name, email address, and phone number
  • Edit + delete everyone's messages, and send messages as specific users

Is there anything we're missing that would help you moderate conversations? Get in touch and let us know! Leave a comment below, get in touch via our live chat, or email dev@talkjs.com


Other improvements

It has been 3 months since our last changelog, so read on to learn about everything else we've been working on behind the scenes. First a few smaller features and changes you might have noticed:

  • All plans now let you have more guests in a conversation: up to 300 for the basic plan and 1250 on growth, using group chats
  • When sending a message with the REST API, you can send it as a reply to another message using the referencedMessageId parameter
  • We added a quickstart guide for Svelte and updated the React guide to show both Functional and Class components
  • We updated to a fancy new set of icons, so your chats will look better than ever
  • We completely redesigned our website and it's gorgeous!

With your help, we tracked down and fixed a lot of little bugs, like:

  • Specifying the conversation photo as a relative path like photo.jpg will be relative to your website rather than talkjs.com
  • On mobile, the popup close button is normal size again
  • When uploading a very tall image, the preview dialog doesn't extend off the top of the screen any more

And my favourite customer-reported bug: A kind Spanish user explained that the word Save should be translated to Guardar and not SaveGuardarThe  😂

However, our main focus since last time has been on improving the performance and stability of our servers. It's all a bit too technical to discuss here, but keep an eye out on our blog for posts taking a technical deep-dive into the improvements.

The important part is that our servers run faster, return less errors, and experience less downtime. We're not done yet, but we're confident that your TalkJS experience will be better than ever.

We're excited to be working on more user-visible features again, and hope you're excited too! Please do get in touch and let us know what you want to see in TalkJS this year, because everything we do is driven by your feedback!

AnnouncementImprovementDashboard
3 years ago

Link Previews, Custom Message Actions in the Flutter SDK, and More!

We just added Link Previews to TalkJS.

For most websites, the preview will show the title and a description of the page, but for media sites like YouTube, we'll embed the media right inside the message.

If you haven't made any changes to the UserMessage or SystemMessage component of the theme you use in TalkJS, they should start working automatically. If you did already change these templates, head over to our docs to learn how to add link previews to your theme.

Improvements to the Flutter SDK

The Flutter SDK also has some new goodies in store:

  • The Chatbox and ConversationList widget now accepts an onLoadingStateChanged parameter, which can notify you when the widget's content has fully loaded.
  • The Chatbox widget now takes an onCustomMessageAction handler, which you can use to respond when the user triggers custom message actions.
  • Fixed a scrolling issue when the Chatbox widget is placed in a bottom sheet.

Easily Set Up a Custom Domain for Emails 📧

For a long time now, TalkJS has let you use your own domain for sending emails, and handling email replies, but up until recently, this required contacting support. Now, you can easily do this yourself.

To add a custom email domain, click the account menu in the top right of the TalkJS dashboard, then click "Email domains". After adding the domain, click "details". You'll see some instructions on how to set up the necessary DNS records. Lastly, you'll want to go to the Settings page of your dashboard, and under Email Domain, select the domain you just added.

Bugfixes 🐞 

We've fixed several bugs since our last changelog entry, including:

  • Fixed an issue where flag emoji wouldn't show up on Windows in most browsers
  • Fixed an issue where in dark themes, the scroll bar wasn't visible.
  • Fixed an issue where we sometimes sent the same email notification multiple times
Bug fixImprovementChat UIJavaScript SDKREST APIDashboard
3 years ago

New Conversation List Item theme component, Push notification improvements, message.deleted add to webhooks, added idempotency keys


Added

Conversation List Item component: Theme your inbox list items with the new component.

Idempotency keys: Ensure exactly-once delivery of messages - Read more.

Webhooks: message.deleted added to the webhooks list in the dashboard.

API: Fully delete participants when leaving a conversation - Read more.

Push notification tester: You can now test your push notifications via the dashboard UI.

Improved

Android Push Notifications: Priority changed to high, which helps apps that aren't running in the background.

Emojis 😲: Updated to include newer emojis.

Dashboard Settings: Improved layout to give saving settings more visible.

Improved UX for autoscrolling new messages.

Security and performance improvements.

Fixed

System messages suppressed in emails: Fixed a bug where system messages containing contact information were incorrectly being suppressed.