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; }