What's new? To summarize:
- Docs launch
- Improved
@team-plain/react-chat-ui
theme - General improvements around removing friction from your CS workflows
✨ We now have Docs!

As an API first company, it's about time we had publicly accessible API docs. Find them at docs.plain.com.
We now have our own docs, full of information on how to use the API. To upgrade your Plain knowledge, we've created a few recipes including Creating and updating a customer via the Core API.
✨ New and improved react-chat-ui
theme type

The theme in react-chat-ui
was completely overhauled (released as 5.x.x) so it's much more logical to use. Previously fine-grained control on many aspects of theming wasn't possible. For example, you'd provide the token background.muted
and it would be used to color borders. By being more semantically correct in the theming object it’s easier to theme your chat UI.
Removed keys:
timeline.minWidth
was removed, the chat UI now takes up the parent's full widthtimeline.maxWidth
was removed since it was no longer being usedinput.borderColorHover
was removed to simplify the styling of the input in its error state where you typically want a red border. We could have added a new hover border color here but in interest of simplicity removing it felt like the better option for now. If this is a requirement for you please let us know!
Renamed/changed:
text.placeholder
is nowinput.textColorPlaceholder
focus.base
is now split into:input.focusBoxShadow
andbuttonPrimary.focusBoxShadow
borderRadius
is now split intoinput.borderRadius
andbuttonPrimary.borderRadius
background.muted
was removed in favor ofdivider.borderColor
anddivider.borderWidth
which control dividers such as in the timeline when the dates change.
New theme tokens:
input.textColor
allows you to control the text color within inputs separately from the top level base text colorinput.textColorDisabled
allows you to control the disabled color separately from the top level muted text color
Visual changes
- The send chat button is now a bit more compact giving customers more space to type!
Improvements
Developer experience improvements:
- Incrementally adoptable theme + documentation in react-chat-ui. This means you can now only provide the keys you want to override vs having to provide a full theme.
- "Select all" on API keys means fewer clicks when provisioning an machine user API token with all permissions.
Other improvements:
- Timeline merge of emails you're CC'd on. When a customer emails you and CCs their colleague, if their colleague then replies then their email is merged into the same customer timeline. This means you can follow the conversation in one place, in a single timeline.
- You can now disable/enable chat for your workspace.
- We improved our email filtering for auto-replies and have even better coverage of common auto-replies which are dropped.
- In settings you can now more easily copy your own support email.
- Visual improvements to the support app to more strongly differentiate users and customers.
- You can now "reply to chat by email" in the timeline when you want to explicitly switch to email.
- Navigation has received a makeover, to make it simpler and uniform across the app. This is in preparation for mobile support.
- You can now delete a previous recipient in CC/BCC inputs on backspace, naturally.
Bug fixes
- Fixed a bug which resulted in some slightly broken layout in the customer sidebar.
- Fixed a bug which meant the react-chat-ui package was making more network requests (subscriptions) than needed.
- Fixed a bug which resulted in occasional timeouts in our Core API.
- Fixed a bug where logged out customers would see the wrong font in the chat UI.