Introducing Discourse Chat (BETA)

This will be a huge feature for my community. I’ve been wanting an ad-hoc, synchronous way for users to communicate but I didn’t want to add another disjointed platform into the mix. Can’t wait for this be GA!


Feature request:
I could use some help transitioning my users to the chat by automatically mass-joining them to some channels


I would like this as well. Maybe even just a Group setting where one could add the chat channels to which members of a group would be auto-joined, similar to how many of the multi-select settings work.

Similar to this but I think different enough. The one below is more about auto-creation of a chat channel for the specific group:


This looks very promising, with the new “Beta” label, when can we regular folk expect to install the plugin?

Maybe it makes sense to make the plugin available for easy installation with large “Beta” warnings, this way you get more testers.

This is under the assumption that we can update it easily via the admin


You can already install it on your self-hosted instance. It also follows the normal update system of all plugins in Discourse, so you can update from the web UI the same as everything else.


I see, seem’s I’ll need to follow the below steps

Was there a way through a link or admin panel I’m missing?


You install it via editing the app.yml indeed, as said in the guide. Updating it after that can be done via the UI.


Is it still the plan to make chat public here on Meta?


We’re still full steam ahead working on the plugin, but since we are daily driving it internally with great success it should be open to all Meta users soon.


Do you know what hosted plans this will be available on?


Eventually we plan to allow this on all plans, but we are yet to set limits and timelines for deployment.

For now, we are looking for beta testers

  • Ideally Enterprise plan, but will accept standard/business in exceptional cases
  • critical we can not beta test a ghost town, needs to be reasonably active - say 500 chat messages a day an up.

I’ve installed this plugin and enjoyed using it.
However, when I delete a user, after I have some communication with him in a private channel, I got this error:
rsvp.js:26 Uncaught TypeError: Cannot read properties of null (reading ‘id’)
And the chat is broken. I guess this is because one of the user is removed there, and it cannot read attribute of it.
And from now, I cannot use chat because of this. It’s always broken evenif I try to refresh.
Can anyone help me with this please?

1 Like

I’ve just installed this on my self-hosted instance. Testing it with some staff users right now.
Just playing around so far I like this! It will definitely find a place in my community.

Some things that I’ve not yet 100% figured out – so here is some early first impressions from kicking the tires.

  • Right now, only staff/admins can see chat - but if I add it to a public topic, are they the only ones who can see that button?
  • I like tying a topic and chat channel together, but aside one link they’re basically separate entities. I would like to see something indicate that chats/posts have happened in another spot in case they’re relevant.
    • When it comes to permissions I am not sure how “Reply” and “Create” apply to chat messages, but I assume “Reply” means people can chat…
  • Initially I found the “Category” channel term confusing, since there can be multiple channels per category. Not sure I have a better alternative, but just a note.
  • From a category’s page, I would love to see all of the of the associated chat channels.
  • In the browser channels page, and in the sidebar, I would love to see channels grouped by their category, following the order we defined for categories. Right now it seems to be alpha ordering, which is fine, but I think a category grouping would reduce things like “category-X-Y” “category-X-Z” channel names.
  • The UX for creating / editing channels is a little confusing. Which doesn’t the browse page also have a new channel button? It was a little unclear to need to go to browse in order to edit a channel.
  • Finally I think i’d like to dock the chat window to the right side, so its no longer floating and not covering content but still visible. I’ve got a wide screen, the posts will still be fine on the left side. :wink:

I’m sure some of these things are on your roadmap, or you know are gaps. The tool still seems really awesome and I’m still looking at how we can enable this widely in our community. :+1:

I did also encounter one bug:

Unhandled Promise Rejection: TypeError: t.canModifyMessages is not a function. (In 't.canModifyMessages(this.currentUser)', 't.canModifyMessages' is undefined)

I created a topic in a staff-only category. Then I clicked enable chat on that topic. The chat window popped up in the upper right, but this error occurred and I could not post. I used the < icon to get to theist of all channels, then selected the topic’s new chat channel. After that, posting worked correctly. Not really sure what else might have caused this one.

Anyway, hope that feedback is a useful point of view. thanks for all this work!


Great feedback @Michael_Ball! I think it makes sense to untangle this out into specific #feature / #bug /#ux topics tagged #chat so we can better focus on improvements.

Regarding the canModifyMessages error @joffreyjaffeux any ideas?


Hats off for the new era. Appreciated this one …


Is there a way to disable one-to-one chats overall or by group membership basis?


I found a workaround for the moment, using CSS to hide the start new personal message button from users who are not admins. Using the group classes component, you might be able to focus that on specific groups.

This could be easy to get around if people know CSS, so it might not work for you if you want it fully blocked.


Is there any way to connect a chatbot to the discourse-chat plugin at the moment, or is that on the roadmap? Maybe a way to redirect all the discourse-chat-integration stuff to the new chats?
If there was a way to use hubot or errbot chatbots in the new chats I think Discourse could serve as a very nice ChatOps solution too :slight_smile:


It’s too early for us to dive into this just yet, we are still trying to get very good foundations.


@Michael_Ball I think I fixed this few days ago, could you confirm please?