discourse/plugins/chat
Martin Brennan 0a06974a8a
DEV: Rough chat message loading and posting in thread (#20579)
This commit does a couple of things:

* Adds the ability to load messages in the chat thread panel when it is open. This just loads the most recent N messages, same as a channel, and does nothing more, no scrolling or anything like that.
* Displays the messages in an extremely simple unordered list with no additional features.
* Allows posting new messages to the thread, and echoes them into the main channel, but does not respond to any sort of MessageBus events.

I've moved messages/clearMessages/addMessages/findMessage code out of the `ChatChannel` model
and into a new `ChatMessagesManager` class, which is instantiated in both the `ChatChannel` model
and the `ChatThread` model. This allows both to manage messages in the same way via the
`TrackedArray` pattern.

This is all hidden behind experimental flags, there is no way to make this not completely broken
in a single commit. Much more work and refactoring needs to be done first.

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2023-03-21 15:29:10 +10:00
..
app DEV: Rough chat message loading and posting in thread (#20579) 2023-03-21 15:29:10 +10:00
assets DEV: Rough chat message loading and posting in thread (#20579) 2023-03-21 15:29:10 +10:00
config DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
db DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
lib DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
public
spec UX: disables composer auto focus on drawer (#20751) 2023-03-20 22:24:12 +01:00
test/javascripts DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01:00
plugin.rb DEV: properly namespace chat (#20690) 2023-03-17 14:24:38 +01: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.