From ce7029ae6ce49b711c81563dfeaa0254607529d8 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 8 Mar 2024 17:21:48 +0100 Subject: [PATCH] fix(federation): Fix conversation avatar for `@all` Signed-off-by: Joas Schilling --- lib/Federation/Proxy/TalkV1/UserConverter.php | 5 +++++ lib/Notification/FederationChatNotifier.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/Federation/Proxy/TalkV1/UserConverter.php b/lib/Federation/Proxy/TalkV1/UserConverter.php index d58aa8e4004..3fb31c10737 100644 --- a/lib/Federation/Proxy/TalkV1/UserConverter.php +++ b/lib/Federation/Proxy/TalkV1/UserConverter.php @@ -29,6 +29,7 @@ use OCA\Talk\Model\Attendee; use OCA\Talk\ResponseDefinitions; use OCA\Talk\Room; +use OCA\Talk\Service\AvatarService; use OCA\Talk\Service\ParticipantService; /** @@ -42,6 +43,7 @@ class UserConverter { public function __construct( protected ParticipantService $participantService, + protected AvatarService $avatarService, ) { } @@ -105,6 +107,9 @@ protected function convertMessageParameter(Room $room, array $parameter): array $parameter['name'] = $localParticipants[$cloudId]['displayName']; } } + } elseif ($parameter['type'] === 'call' && $parameter['id'] === $room->getRemoteToken()) { + $parameter['id'] = $room->getToken(); + $parameter['icon-url'] = $this->avatarService->getAvatarUrl($room); } return $parameter; } diff --git a/lib/Notification/FederationChatNotifier.php b/lib/Notification/FederationChatNotifier.php index 8a630c541b0..856cc8b4f2d 100644 --- a/lib/Notification/FederationChatNotifier.php +++ b/lib/Notification/FederationChatNotifier.php @@ -109,7 +109,7 @@ protected function isMentioned(Participant $participant, ProxyCacheMessage $mess protected function isMentionedAll(Room $room, ProxyCacheMessage $message): bool { foreach ($message->getParsedMessageParameters() as $parameter) { if ($parameter['type'] === 'call' // RichObjectDefinition - && $parameter['id'] === $room->getRemoteToken()) { + && $parameter['id'] === $room->getToken()) { return true; } }