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
This commit is contained in:
Joffrey JAFFEUX
2023-11-10 11:29:28 +01:00
committed by GitHub
parent a8d6dc4d3a
commit ab832cc865
121 changed files with 2969 additions and 2332 deletions

View File

@ -11,14 +11,7 @@ module("Discourse Chat | Component | chat-user-info", function (hooks) {
await render(hbs`<ChatUserInfo @user={{this.user}} />`);
assert
.dom(`a[data-user-card=${this.user.username}] div.chat-user-avatar`)
.exists();
assert
.dom(
`a[data-user-card=${this.user.username}] span.chat-user-display-name`
)
.includesText(this.user.username);
assert.dom().containsText(this.user.username);
assert.dom().containsText(this.user.name);
});
});