discourse/plugins/chat
Andrei Prigorshnev a32fce9e1d
FIX: Further optimize mentioning groups in chat messages (part 2) (#24185)
This is a follow-up to e6299a3. I additionally fixed these three things:

1. Since e6299a3 there's no need anymore to join the group_users table 
when looking for users who were reached by a group mention, so 
I removed that join in that commit. But turned out we were joining 
the group_users table twice, so I removed the second join in this PR. 
That drastically speeded up my test query, from 6 sec to 0.26 sec.
2. We also were joining twice the user_chat_channel_memebership table, 
so I removed the second unnecessary join too.
3. We actually need to join the user_chat_channel_memebership table 
only in certain cases, and we don't need to do that for group mentions, 
so I fixed that too.

As a result of these changes, time of my test query fall down from 
6 sec to 0.001 sec. And the resulting SQL query now contains only 
one JOIN statement.
2023-11-01 17:05:54 +04:00
..
app DEV: adds a :chat_thread_created trigger (#24133) 2023-10-27 10:27:34 +02:00
assets UX: fix minor chat transcript overflow (#24158) 2023-10-30 16:31:01 -04:00
config FEATURE: Add new chat indicator preference for Only Mentions (#23848) 2023-10-27 15:58:19 +08:00
db FEATURE: implements user based sidebar mode (#23078) 2023-08-18 20:33:07 +02:00
lib FIX: Further optimize mentioning groups in chat messages (part 2) (#24185) 2023-11-01 17:05:54 +04:00
public
spec FiX: Update date url for thread oneboxes (#24172) 2023-10-31 08:04:40 -03:00
test/javascripts FIX: correctly display escaped thread titles (#24159) 2023-10-30 21:06:31 +01:00
plugin.rb DEV: Add meta_topic_id plugin metadata (#23838) 2023-10-10 10:16:13 +10: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.