From daac5c9a954de4f86135d1d16e8c4a090c29d75f Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 28 Aug 2023 14:59:54 +0200 Subject: fix(cache): Remove displayname cache entry on delete Signed-off-by: Joas Schilling --- lib/private/User/DisplayNameCache.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/private/User/DisplayNameCache.php') diff --git a/lib/private/User/DisplayNameCache.php b/lib/private/User/DisplayNameCache.php index 5d1cc8940d7..6ee74cc9f6c 100644 --- a/lib/private/User/DisplayNameCache.php +++ b/lib/private/User/DisplayNameCache.php @@ -29,6 +29,7 @@ use OCP\ICache; use OCP\ICacheFactory; use OCP\IUserManager; use OCP\User\Events\UserChangedEvent; +use OCP\User\Events\UserDeletedEvent; /** * Class that cache the relation UserId -> Display name @@ -81,5 +82,10 @@ class DisplayNameCache implements IEventListener { $this->cache[$userId] = $newDisplayName; $this->memCache->set($userId, $newDisplayName, 60 * 10); // 10 minutes } + if ($event instanceof UserDeletedEvent) { + $userId = $event->getUser()->getUID(); + unset($this->cache[$userId]); + $this->memCache->remove($userId); + } } } -- cgit v1.2.3