diff options
author | Joas Schilling <coding@schilljs.com> | 2024-02-29 14:41:07 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2024-02-29 14:41:07 +0100 |
commit | fcffe85629b888e99f637116bc7540921e5674a4 (patch) | |
tree | 97021c902b93f642fda6d93ff225724990a7cc7e /lib/Federation/CloudFederationProviderTalk.php | |
parent | c84be51f31f8eb6d8daa35dfdf77c89d61601f73 (diff) |
fix(federation): Don't break/throttle when the invite was not accepted
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/Federation/CloudFederationProviderTalk.php')
-rw-r--r-- | lib/Federation/CloudFederationProviderTalk.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Federation/CloudFederationProviderTalk.php b/lib/Federation/CloudFederationProviderTalk.php index 5dd96ce58..adf439b65 100644 --- a/lib/Federation/CloudFederationProviderTalk.php +++ b/lib/Federation/CloudFederationProviderTalk.php @@ -265,8 +265,14 @@ class CloudFederationProviderTalk implements ICloudFederationProvider { } $this->invitationMapper->delete($invite); - $participant = $this->participantService->getParticipantByActor($room, Attendee::ACTOR_USERS, $invite->getUserId()); - $this->participantService->removeAttendee($room, $participant, AAttendeeRemovedEvent::REASON_REMOVED); + + try { + $participant = $this->participantService->getParticipantByActor($room, Attendee::ACTOR_USERS, $invite->getUserId()); + $this->participantService->removeAttendee($room, $participant, AAttendeeRemovedEvent::REASON_REMOVED); + } catch (ParticipantNotFoundException) { + // Never accepted the invite + } + return []; } @@ -373,7 +379,8 @@ class CloudFederationProviderTalk implements ICloudFederationProvider { try { $participant = $this->participantService->getParticipant($room, $invite->getUserId(), false); } catch (ParticipantNotFoundException) { - throw new ShareNotFound(); + // Not accepted the invite yet + return []; } $this->participantService->updateUnreadInfoForProxyParticipant( |