From 4d4aded8eeb3f9745d8f8a81ab5c10f4d8de814e Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Fri, 2 Oct 2026 18:01:12 +0200 Subject: [PATCH 1/2] fix(share): Ensure membership is up to date after adding a member Signed-off-by: Carl Schwan --- lib/FederatedItems/SingleMemberAdd.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/FederatedItems/SingleMemberAdd.php b/lib/FederatedItems/SingleMemberAdd.php index 4bada08ca..922e515cf 100644 --- a/lib/FederatedItems/SingleMemberAdd.php +++ b/lib/FederatedItems/SingleMemberAdd.php @@ -237,6 +237,8 @@ protected function generateMember(FederatedEvent $event, Circle $circle, Member // The idea is that adding the member during the self::verify() will help during the broadcasting // of the event to Federated RemoteInstance for their first member. $this->memberRequest->insertOrUpdate($member); + // sync memberships now, as self::manage() is run async and might not be executed if the loopback is not working + $this->membershipService->onUpdate($member->getSingleId()); try { $displayName = $this->maintenanceService->updateDisplayName($member); From d217eb1d983e7ec040799e52d19a419aeb0af4c4 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Sun, 4 Oct 2026 21:36:37 +0200 Subject: [PATCH 2/2] fix(share): Ensure membership is up to date after leaving a team Signed-off-by: Carl Schwan Co-Authored-By: Claude Opus 5.5 --- lib/FederatedItems/CircleLeave.php | 2 ++ lib/FederatedItems/SingleMemberAdd.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/FederatedItems/CircleLeave.php b/lib/FederatedItems/CircleLeave.php index 7256785e6..05f969632 100644 --- a/lib/FederatedItems/CircleLeave.php +++ b/lib/FederatedItems/CircleLeave.php @@ -133,6 +133,8 @@ public function verify(FederatedEvent $event): void { $event->setMember($member); $this->memberRequest->delete($member); + // manage() is async and may not run if the loopback is broken + $this->membershipService->onUpdate($member->getSingleId()); $initiator = new FederatedUser(); $initiator->importFromIFederatedUser($member); diff --git a/lib/FederatedItems/SingleMemberAdd.php b/lib/FederatedItems/SingleMemberAdd.php index 922e515cf..bbbcc0c99 100644 --- a/lib/FederatedItems/SingleMemberAdd.php +++ b/lib/FederatedItems/SingleMemberAdd.php @@ -237,7 +237,7 @@ protected function generateMember(FederatedEvent $event, Circle $circle, Member // The idea is that adding the member during the self::verify() will help during the broadcasting // of the event to Federated RemoteInstance for their first member. $this->memberRequest->insertOrUpdate($member); - // sync memberships now, as self::manage() is run async and might not be executed if the loopback is not working + // manage() is async and may not run if the loopback is broken $this->membershipService->onUpdate($member->getSingleId()); try {