Skip to content

Commit

Permalink
fix(reactions): Fix reacting to people that left
Browse files Browse the repository at this point in the history
Signed-off-by: Joas Schilling <coding@schilljs.com>
  • Loading branch information
nickvergessen committed Mar 1, 2023
1 parent cf840e7 commit 508e4b8
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
8 changes: 7 additions & 1 deletion lib/Chat/Notifier.php
Expand Up @@ -270,7 +270,13 @@ public function notifyReacted(Room $chat, IComment $comment, IComment $reaction)
return;
}

$participant = $chat->getParticipant($comment->getActorId(), false);

try {
$participant = $chat->getParticipant($comment->getActorId(), false);
} catch (ParticipantNotFoundException $e) {
return;
}

$notificationLevel = $participant->getAttendee()->getNotificationLevel();
if ($notificationLevel === Participant::NOTIFY_DEFAULT) {
if ($chat->getType() === Room::TYPE_ONE_TO_ONE) {
Expand Down
17 changes: 17 additions & 0 deletions tests/integration/features/reaction/react.feature
Expand Up @@ -60,6 +60,23 @@ Feature: reaction/react
| room | users | participant1 | participant1-displayname | user_added |
| room | users | participant1 | participant1-displayname | conversation_created |

Scenario: React to message does not fail when the author left the conversation
Given user "participant1" creates room "room" (v4)
| roomType | 3 |
| roomName | room |
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
And user "participant2" sends message "Message 1" to room "room" with 201
And user "participant2" removes themselves from room "room" with 200 (v4)
And user "participant1" react with "👍" on message "Message 1" to room "room" with 201
| actorType | actorId | actorDisplayName | reaction |
| users | participant1 | participant1-displayname | 👍 |
Then user "participant1" sees the following system messages in room "room" with 200
| room | actorType | actorId | actorDisplayName | systemMessage |
| room | users | participant1 | participant1-displayname | reaction |
| room | users | participant2 | participant2-displayname | user_removed |
| room | users | participant1 | participant1-displayname | user_added |
| room | users | participant1 | participant1-displayname | conversation_created |

Scenario: Delete reaction to message with success
Given user "participant1" creates room "room" (v4)
| roomType | 3 |
Expand Down

0 comments on commit 508e4b8

Please sign in to comment.