From 10d11787e9a4a0cef580a6af2445a04635c3f887 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Fri, 15 Aug 2025 14:02:19 +0100 Subject: [PATCH] MDL-86293 communication: queue/execute membership task if appropriate. Avoid doing so if the current instance does not support user features. --- public/communication/classes/api.php | 4 ++-- .../classes/task/update_room_membership_task.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/public/communication/classes/api.php b/public/communication/classes/api.php index f4afcf70042..c7bb13c7bd5 100644 --- a/public/communication/classes/api.php +++ b/public/communication/classes/api.php @@ -698,8 +698,8 @@ class api { return; } - // No userids? don't bother doing anything. - if (empty($userids)) { + // No user IDs or this provider does not manage users? No action required. + if (empty($userids) || !$this->communication->supports_user_features()) { return; } diff --git a/public/communication/classes/task/update_room_membership_task.php b/public/communication/classes/task/update_room_membership_task.php index eb62f09ceb0..53efb431411 100644 --- a/public/communication/classes/task/update_room_membership_task.php +++ b/public/communication/classes/task/update_room_membership_task.php @@ -34,8 +34,8 @@ class update_room_membership_task extends adhoc_task { // Call the communication api to action the operation. $communication = processor::load_by_id($data->id); - if ($communication === null) { - mtrace("Skipping room creation because the instance does not exist"); + if ($communication === null || !$communication->supports_user_features()) { + mtrace("Skipping room membership because the instance does not exist or does not support user features"); return; }