# Introducing Discourse Chat (BETA)

**URL:** https://meta.discourse.org/t/introducing-discourse-chat-beta/210734
**Category:** Announcements
**Tags:** chat, new-feature
**Created:** [December 1, 2021, 6:18pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734 "2021-12-01T18:18:21Z")
**Posts on this page:** 20
**Page:** 4

<div class="post-metadata">

### Author: ![Alon1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alon1/32/197167_2.png) [@Alon1](https://meta.discourse.org/u/Alon1)
#### Post date: [January 3, 2022, 4:00pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/63 "2022-01-03T16:00:16Z")

</div>

Currently there is an option to have many channels associated with one category.

---

<div class="post-metadata">

### Author: ![MarcP](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/marcp/32/160184_2.png) [@MarcP](https://meta.discourse.org/u/MarcP)
#### Post date: [January 3, 2022, 7:20pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/64 "2022-01-03T19:20:27Z")

</div>

If we install the open source plugin, will there be a seamless transfer when it will be integrated in core/public?

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [January 3, 2022, 7:24pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/65 "2022-01-03T19:24:51Z")

</div>

The plugin is an officially supported plugin. Should it be migrated to core (no current plans), there will be a proper migration path, yes.

---

<div class="post-metadata">

### Author: ![volanar](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/volanar/32/318163_2.png) [@volanar](https://meta.discourse.org/u/volanar)
#### Post date: [January 4, 2022, 8:26pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/66 "2022-01-04T20:26:03Z")

</div>

It would be great if channels could be created as private/public and they had public URLs for indexing by search engines. This would bring additional traffic to the community

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [January 5, 2022, 7:49am UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/67 "2022-01-05T07:49:47Z")

</div>

After upgrading and 10 sec test drive: I can now close unneeded channels, even and especially private ones.

As our british friends so often say: splendeed indeed.

---

<div class="post-metadata">

### Author: ![balupton](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/balupton/32/255461_2.png) [@balupton](https://meta.discourse.org/u/balupton)
#### Post date: [January 6, 2022, 11:21pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/68 "2022-01-06T23:21:42Z")

</div>

Found something that seems to be a UX bug. When hovering over a message, and onto the message interaction toolbar, then clicking the emoji button - the emoji overlay will remain onscreen even after clicking the reply, or ellipses buttons - however, clicking outside the toolbar does cause the emoji window to subside.

Here is a clip of the behaviour, and as we can see, the ellipses overlay is hidden behind the emoji overlay.

![CleanShot 2022-01-07 at 07.17.32](https://global.discourse-cdn.com/meta/original/3X/6/7/6719c16afc01c8bf8d9ce4f08cb0416257f586d7.gif)

---

<div class="post-metadata">

### Author: ![diakopter](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@diakopter](https://meta.discourse.org/u/diakopter)
#### Post date: [January 7, 2022, 3:40pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/69 "2022-01-07T15:40:44Z")

</div>

thanks for adding the hide chats X buttons. a couple of points of feedback:

1. the X buttons don’t appear at all on mobile (because they are hidden until you hover?), so you can’t leave personal chats on mobile currently
2. can’t currently add a new personal chat - this error occurs, both on desktop and mobile  
 ![image](https://global.discourse-cdn.com/meta/original/3X/c/e/ce32312d6b708b0c577c3429b6ec293c69658032.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [January 7, 2022, 8:53pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/70 "2022-01-07T20:53:59Z")

</div>

> [@diakopter](#):
>
> so you can’t leave personal chats on mobile currently

This is a compromise for now, in a few months we will implement a swipe action on mobile to leave

> [@diakopter](#):
>
> can’t currently add a new personal chat

Can you rebuild and try again ?

---

<div class="post-metadata">

### Author: ![PaulinaMX](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/paulinamx/32/210473_2.png) [@PaulinaMX](https://meta.discourse.org/u/PaulinaMX)
#### Post date: [January 7, 2022, 10:13pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/71 "2022-01-07T22:13:06Z")

</div>

Hello, it works very well for me, only that on cell phones I do not see an option to close the chat.

 ![Screenshot_20220107-141036_Chrome](https://global.discourse-cdn.com/meta/original/3X/5/5/5511b1a6f1133aedb37c00e63328d43c77c78872.jpeg)

---

<div class="post-metadata">

### Author: ![ipoopfool](https://avatars.discourse-cdn.com/v4/letter/i/d78d45/32.png) [@ipoopfool](https://meta.discourse.org/u/ipoopfool)
#### Post date: [January 8, 2022, 3:10am UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/72 "2022-01-08T03:10:51Z")

</div>

+1 to the question of performance requirements.  
I’m currently running a small droplet that’s consistently resource constrained. (yes I know I should upgrade to a bigger droplet 😉)

---

<div class="post-metadata">

### Author: ![diakopter](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@diakopter](https://meta.discourse.org/u/diakopter)
#### Post date: [January 14, 2022, 4:27am UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/73 "2022-01-14T04:27:00Z")

</div>

> [@sam](#):
>
> Can you rebuild and try again ?

rarely. about 19 times out of 20 attempts to rebuild, one of the 50 `git` commands during the rebuild hangs forever. very odd. didn’t start happening until a few weeks ago.

---

<div class="post-metadata">

### Author: ![Mr.X\_Mr.X](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mr.x_mr.x/32/126610_2.png) [@Mr.X\_Mr.X](https://meta.discourse.org/u/Mr.X_Mr.X)
#### Post date: [January 20, 2022, 12:10pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/74 "2022-01-20T12:10:27Z")

</div>

Discourse Chat and category-lock [(Pavilion’s one)](https://github.com/paviliondev/discourse-category-lockdown) are incompatible on my instance.

**Backtrace Error log:**

```plaintext
app/models/concerns/has_custom_fields.rb:173:in `[]'
plugins/discourse-category-lockdown/plugin.rb:16:in `block (2 levels) in activate!'
(eval):33:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
plugins/discourse-chat/app/serializers/chat_channel_serializer.rb:38:in `chatable'
(eval):4:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:124:in `block in serialize'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:123:in `map'
active_model_serializers (0.8.4) lib/active_model/serializer/associations.rb:123:in `serialize'
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:368:in `block in include_associations!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:367:in `each_key'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:367:in `include_associations!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:362:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
app/controllers/application_controller.rb:486:in `serialize_data'
app/controllers/application_controller.rb:495:in `render_serialized'
plugins/discourse-chat/app/controllers/chat_channels_controller.rb:6:in `index'
actionpack (6.1.4.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:117:in `block in run_callbacks'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
i18n (1.8.11) lib/i18n.rb:314:in `with_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:126:in `block in run_callbacks'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:137:in `run_callbacks'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.4.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.4.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.4.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'

actionpack (6.1.4.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.4.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:20:in `block in <class:Constraints>'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
actionpack (6.1.4.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.10.1) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.1.4.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.4.1) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
request_store (1.5.0) lib/request_store/middleware.rb:19:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiler.rb:249:in `call'

message_bus (4.0.0) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:198:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'

```

**Info Error log**

```plaintext
StandardError (Attempted to access the non preloaded custom field 'redirect_url'. This is disallowed to prevent N+1 queries.)
app/models/concerns/has_custom_fields.rb:173:in `[]'
(eval):33:in `_fast_attributes'
(eval):4:in `_fast_attributes'
lib/freedom_patches/ams_include_without_root.rb:57:in `include!'
app/controllers/application_controller.rb:486:in `serialize_data'
app/controllers/application_controller.rb:495:in `render_serialized'
app/controllers/application_controller.rb:387:in `block in with_resolved_locale'
app/controllers/application_controller.rb:387:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:198:in `call'

```

**Uncaught [object Object]** error log

```plaintext
Uncaught [object Object]
Url: https://www.domainname.com/assets/vendor-96a5eaa8d436066b954c21ae5afb7f504310945c679465a2f1ba46b429a95edf.js
Line: 30
Column: 180630
Window Location: https://www.domainname.com/

```

---

<div class="post-metadata">

### Author: ![booleanbalaji](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/booleanbalaji/32/157535_2.png) [@booleanbalaji](https://meta.discourse.org/u/booleanbalaji)
#### Post date: [January 20, 2022, 12:14pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/75 "2022-01-20T12:14:23Z")

</div>

When chat is enabled, how does it tie back to a user’s metrics? Does participation in chat count in any manner towards trust level growth/engagement?

And are there plans to add any metrics to the admin dashboard to track participation in chat?

---

<div class="post-metadata">

### Author: ![Mr.X\_Mr.X](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mr.x_mr.x/32/126610_2.png) [@Mr.X\_Mr.X](https://meta.discourse.org/u/Mr.X_Mr.X)
#### Post date: [January 20, 2022, 12:43pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/76 "2022-01-20T12:43:12Z")

</div>

I’m using the Discourse Chat for trust\_level\_3 members only and Category based (a category available only to trust\_level\_3 members). Can I as administrator automatically make all trust\_level\_3 members join the channel without them having to go through the channels lists and join themselves?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [January 20, 2022, 7:21pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/77 "2022-01-20T19:21:52Z")

</div>

> [@booleanbalaji](#):
>
> And are there plans to add any metrics to the admin dashboard to track participation in chat?

No.

> [@booleanbalaji](#):
>
> Does participation in chat count in any manner towards trust level growth/engagement?

No.

> [@booleanbalaji](#):
>
> When chat is enabled, how does it tie back to a user’s metrics?

It doesn’t in any way.

---

<div class="post-metadata">

### Author: ![Mr.X\_Mr.X](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mr.x_mr.x/32/126610_2.png) [@Mr.X\_Mr.X](https://meta.discourse.org/u/Mr.X_Mr.X)
#### Post date: [January 21, 2022, 8:57pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/78 "2022-01-21T20:57:58Z")

</div>

- Does the chat submit to the same word blocking rules as posts?

- Is there a way for the admins to check others personal chat? (Concerned about potential abuse. Private messages can be limited and monitored but chat seems an easy way to abuse)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [January 21, 2022, 11:21pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/79 "2022-01-21T23:21:56Z")

</div>

> [@Mr.X\_Mr.X](#):
>
> Does the chat submit to the same word blocking rules as posts?

Not yet, but we will make this happen

> [@Mr.X\_Mr.X](#):
>
> Is there a way for the admins to check others personal chat?

We have long term plans to support discourse encrypt with chat

Data at the moment is not encrypted in the DB

---

<div class="post-metadata">

### Author: ![jomaxro](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jomaxro/32/126216_2.png) [@jomaxro](https://meta.discourse.org/u/jomaxro)
#### Post date: [January 23, 2022, 9:49pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/81 "2022-01-23T21:49:37Z")

</div>

> [@dnfoz](#):
>
> without fear of bugs?

No. There will always be bugs. There are bugs in Discourse today, just as there are bugs in chat. We fix them as they’re reported to us.

Is chat safe enough to be installed? Yes. We’re using it extensively internally, and have been doing so so exclusively for almost 2 months. (We previously used Mattermost, and shut that down in early December) There are tiny bugs here and there, and plenty of features we still want to add, but it’s certainly safe to use.

---

<div class="post-metadata">

### Author: ![Bertrand\_Gorge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bertrand_gorge/32/228856_2.png) [@Bertrand\_Gorge](https://meta.discourse.org/u/Bertrand_Gorge)
#### Post date: [January 25, 2022, 2:12pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/83 "2022-01-25T14:12:12Z")

</div>

Hello, and thanks for the great plugin, it really adds something interesting to discourse!

Quick question: is it possible or planned to have the chat icon within the profile or in the user card ?

It’s also unclear how chat messages end up notifying users by email and when? (the underlying question being: could we just replace the direct messages with the chat functionality?)

---

<div class="post-metadata">

### Author: ![jimkleiber](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jimkleiber/32/121814_2.png) [@jimkleiber](https://meta.discourse.org/u/jimkleiber)
#### Post date: [January 25, 2022, 4:21pm UTC](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734/84 "2022-01-25T16:21:18Z")

</div>

When inside a chat channel on mobile, I’ve noticed that I keep clicking the chat bubble in the header to try to go back to the chat channel list and it doesn’t take me anywhere. When I’m not in chat and I click it, it takes me to the chat channel list.

Is there any way to make this uniform, so that the chat bubble icon in the header will always take me to the chat channel list on mobile, whether I’m inside a chat channel or not?

[Previous page](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734.md?page=3)

[Next page](https://meta.discourse.org/t/introducing-discourse-chat-beta/210734.md?page=5)
