mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
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>
17 lines
390 B
Ruby
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
|