discourse/plugins/chat/app/services/chat
Joffrey JAFFEUX ab832cc865
FEATURE: introduces group channels (#24288)
Group channels will allow users to create channels with a name and invite people. It's possible to add people even after creation of the channel. Removing users is not yet possible but will be added in the near future.

Technically a group channel is `direct_message_channel` with a group attribute set to true on its direct message (chatable). This model might evolve in the future but offers much flexibility for now without having to rely on a complex migration.

The commit essentially consists of:
- a migration to set existing direct message channels with more than 2 users to a group
- a new message creator which allows to search, add members, and create groups
- a new `AddUsersToChannel` service
- a modified `SearchChatable` service
2023-11-10 11:29:28 +01:00
..
action DEV: Migrate Chat::MessageCreator to a service (#22390) 2023-09-07 08:57:29 +02:00
auto_remove
add_users_to_channel.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
auto_join_channel_batch.rb FIX: removes useless model reload (#23016) 2023-08-08 22:44:30 +02:00
create_category_channel.rb FEATURE: enable_public_channels site setting (#22565) 2023-07-13 10:00:25 +02:00
create_direct_message_channel.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
create_message.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
create_thread.rb DEV: adds a :chat_thread_created trigger (#24133) 2023-10-27 10:27:34 +02:00
invite_users_to_channel.rb FIX: ensures users can open channel invites (#24067) 2023-10-24 18:51:33 +02:00
list_channel_messages.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
list_channel_thread_messages.rb FEATURE: thread pagination (#22624) 2023-07-27 09:57:03 +02:00
lookup_channel_threads.rb FIX: handle thread participants limit on the frontend (#23839) 2023-10-09 14:04:59 +08:00
lookup_thread.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
mark_all_user_channels_read.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
message_destroyer.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
publisher.rb SECURITY: Add permissions to MessageBus in chat 2023-10-16 10:34:30 -04:00
restore_message.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
search_chatable.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
tracking_state.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
trash_channel.rb
trash_message.rb FIX: prevents user to restore message deleted by staff (#22571) 2023-07-13 10:16:15 +02:00
update_channel_status.rb
update_channel.rb FEATURE: introduces group channels (#24288) 2023-11-10 11:29:28 +01:00
update_message.rb PERF: cook message in background (#24227) 2023-11-06 15:45:30 +01:00
update_thread_notification_settings.rb DEV: Add last_message_id to channel and thread (#22488) 2023-07-13 10:28:11 +10:00
update_thread.rb DEV: Remove experimental site setting for chat threads (#22720) 2023-07-26 12:46:23 +02:00
update_user_last_read.rb FEATURE: Track last_viewed_at datetime for channel members (#22294) 2023-06-29 09:22:17 +10:00
update_user_thread_last_read.rb DEV: Further improve thread list query and add spec (#22610) 2023-07-14 16:08:35 +10:00