Files
discourse/plugins/chat/app/serializers/chat/direct_message_serializer.rb
Joffrey JAFFEUX d75d64bf16 FEATURE: new jump to channel menu (#22383)
This commit replaces two existing screens:
- draft
- channel selection modal

Main features compared to existing solutions
- features are now combined, meaning you can for example create multi users DM
- it will show users with chat disabled
- it shows unread state
- hopefully a better look/feel
- lots of small details and fixes...

Other noticeable fixes
- starting a DM with a user, even from the user card and clicking <kbd>Chat</kbd> will not show a green dot for the target user (or even the channel) until a message is actually sent
- it should almost never do a full page reload anymore

---------

Co-authored-by: Martin Brennan <mjrbrennan@gmail.com>
Co-authored-by: Jordan Vidrine <30537603+jordanvidrine@users.noreply.github.com>
Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com>
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com>
2023-07-05 18:18:27 +02:00

17 lines
390 B
Ruby

# frozen_string_literal: true
module Chat
class DirectMessageSerializer < ApplicationSerializer
attributes :id
has_many :users, serializer: Chat::ChatableUserSerializer, embed: :objects
def users
users = object.direct_message_users.map(&:user).map { |u| u || Chat::DeletedUser.new }
return users - [scope.user] if users.count > 1
users
end
end
end