discourse/plugins/chat
Joffrey JAFFEUX dbf3ff1738
FIX: correctly re-conciliate message bus backlog (#22020)
We have been struggling a lot on this lately as it's almost impossible to write a decent test for this.

The important things which need to happen:
- fetch the unread/mention state and last message bus channel ids of each chat channels
- stop all subscriptions
- restart global chat subscriptions
- update channels with new state and ensure the message bus ids are updated
- restart subscriptions of each chat channel

As a followup we need to start implementing a standard way to query for a resource state. Something similar to: `/channels/tracking` and `/channels/:id/tracking`

Each of these endpoints would return a state similar to:

```json
{
  tracking: { ... },
  message_bus_ids: { ... }
}
2023-06-09 09:00:24 +02:00
..
app FIX: Do not allow blank chat messages (#21968) 2023-06-08 16:06:09 +10:00
assets FIX: correctly re-conciliate message bus backlog (#22020) 2023-06-09 09:00:24 +02:00
config REFACTOR: composer/thread (#21910) 2023-06-07 21:49:15 +02:00
db DEV: Create UserChatThreadMembership table and model (#21481) 2023-05-10 17:19:48 +02:00
lib FIX: prevents admins to be silenced (#21854) 2023-06-01 08:36:11 +02:00
public
spec FIX: disables pointer events while showing menu (#22009) 2023-06-08 19:35:08 +02:00
test/javascripts DEV: disable flaky specs (#22013) 2023-06-09 00:01:41 +04:00
plugin.rb FIX: Chat NotificationLevels extension breaking in prod (#21484) 2023-05-10 18:46:06 +02:00
README.md DEV: Chat service object initial implementation (#19814) 2023-02-13 13:09:57 +01:00

This plugin is still in active development and may change frequently

Documentation

The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

For user documentation, see Discourse Chat.

For developer documentation, see Discourse Documentation.