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 super 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!

@mentions in TalkJS are here!

You can now mention any participant in a conversation by typing @ followed by their name. Once you've typed the at-symbol, a menu will come up so you can quickly select the person you're looking for.

With the addition of mentions also comes a new option for notifications. When adding/updating a participant to a conversation, you can now set the "notify" option to "MentionsOnly" to only be notified when someone mentions the user. You can learn more about the different notification settings in our documentation on participants.

New Additions to the JavaScript SDK

  • Added a sendFile method to all widgets to send a file to the current conversation.. You can pass it a Blob to upload a specific file directly from your application. If you don't specify a file, the file picker dialog will open, so the user can pick a file to upload.
  • Added a sendLocation method to all widgets. It will send the user's current location in the current conversation.

Note that both methods still open the confirmation dialog, so the user can confirm or cancel sending the message.

React Native SDK TalkJS for React Native v0.4.0

With this release, we have updated the SDK's dependencies and peer dependencies to keep them up to date and also fix bugs in some of them. As of npm v7, peer dependencies are installed by default so upgrading the TalkJS SDK should also upgrade the peer dependencies accordingly. For yarn users, you may have to update the packages individually as shown:

yarn upgrade @notifee/react-native@^5.3.0 @react-native-community/push-notification-ios@^1.10.1 @react-native-firebase/app@^14.11.0 @react-native-firebase/messaging@^14.11.0 react-native-webview@^11.21.2

These libraries are defined as peer dependencies rather than dependencies since they contain native code and currently, React Native does not auto link transitive dependencies.

The new version of the notifee library also eliminates the need to add the local maven repository manually to your project. You can remove the section below. (Your app will still build and run if you don't remove it)

maven {
  url "$rootDir/../node_modules/@notifee/react-native/android/libs"
}

Improvements and Bug Fixes

  • Fixed an issue where certain sequences could of numbers and symbols could be incorrectly treated as phone numbers, meaning they would be turned into links or suppressed by contact info suppression.
  • Fixed an issue where the scroll position was not maintained properly when the on-screen keyboard opened.
  • Fixed an issue where quickly switching between conversations on a slow network could cause an error.
  • Fixed an issue in Safari where message parsing could cause an error.
  • Our dashboard should now give more useful errors for invalid APNS certificates
  • Guests can now delete messages in conversations, if their role grants them to necessary permissions.
  • Screen readers should now be able to better announce emoji in messages
  • Fixed an issue where push notifications on IOS didn't have a sound
  • Fixed an issue where the activity pag'e on the dashboard wouldn't load for certain customers with a lot of conversations
  • Fixed an issue where the scroll bar wasn't visible on dark themes

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

React Native SDK

New We have some exciting news! We have shipped a React Native SDK 😄.

Prior to this release, getting TalkJS running in React Native applications required developers to perform multiple tasks like creating an HTML file for the webview, passing parameters from the app to the JavaScript running in the webview and sometimes even adding handlers so the code in the webview could call back to the app.

With the React Native SDK you can get TalkJS running in your React Native application with a few lines of code:

<TalkRn.Session appId='YOUR_APP_ID' me={me}>
  <TalkRn.Chatbox conversationBuilder={conversationBuilder} />
</TalkRn.Session>

The new SDK makes it easier to use TalkJS in React Native applications by providing React Native Components that will feel natural to anyone using React Native.

Developers will now write significantly less code, save time and also make their code less error-prone. Additionally by using the SDK developers are guaranteed of backwards compatibility, meaning their code will always run even as TalkJS evolves.

So go ahead and check out our React Native Getting Started Guide.

We can't wait to see the cool stuff you are building!

 

New themeable components (Chat Header & No Chats View), bug fixes

Added: New themeable component, Chat Header - customize the chat header with the new HTML & CSS template.

Added: New themeable component, No Chats view - customize the messaging and layout of the view when there aren't any chats with the new HTML & CSS template.

Added: Autofocus the message field on desktop devices, new option to toggle this behaviour with messageField.autofocus.

Fixed: When a user has been removed from a conversation, it will no longer be reported as unread when new messages come in.

Conversation Sorting Via the API, Pricing for New Customers & Bug Fixes

Added: You can now order conversations and users by createdAt and lastActivity via the API when using the API version 2021-02-09.

Added: New pricing model for customers signed up after March 24 2021. If you have signed up before this, then you can remain on the pricing plan you signed up with. View new pricing.

Added: New SDK event for when a user clicks on a desktop notification generated by TalkJS. Docs.

Fix: Link colors in email notifications now inherit their text color.

Themes V2

From now on, you can customize your chat UI further by using the new Theme Editor, you'll have access to some of the component's HTML and CSS with more components being added soon. Read more about the Themes V2 update.

New

  • Customizing the UI with Theme Editor
  • New default theme
  • Ability to use the same theme for multiple roles
  • Custom data in messages (metadata)

Note – Your old themes will continue to work with the new upgrade.

View Themes Documentation

Feature release - 11th November, 2020


  • Added: Analytics to the Standard plan and above

  • Added: Ability to delete conversations via the REST API
  • Improved: App-wide performance
  • Improved: REST API documentation
  • Improved: Inbound email deliverability
  • Improved: FeedFilters ability to filter for users with lots of conversations
  • Fixed: Video preview is now viewable full screen in Chrome and Safari
  • Fixed: The chat UI from not scrolling to the bottom when a message is received and the user has scrolled up beyond a certain point
  • Fixed: Search icon contrast for dark themes

Feature release - 7th July 2020


  • Added: ability to cancel subscription via TalkJS Dashboard.
  • Fixed: ability to show long welcome messages.
  • Improved video preview.
  • Performance and stability improvements of the Application.
  • Improved performance of the Activity Page in the TalkJS Dashboard.
  • Added: a tool tip with date, when you hover over a message timestamp.


Show Previous EntriesShow Previous Entries