Spurious group membership change notifications #12

Open
opened 2023-05-10 15:12:22 +00:00 by Peterson · 4 comments
Peterson commented 2023-05-10 15:12:22 +00:00 (Migrated from lab.libreho.st)

To add (or in theory, remove) users to a group, one needs to set the new complete list of members in a PUT call, as there is no PATCH support. The way this is implemented results in a notification being sent to every group member, saying that they have been removed from the group, and then that they have been added to the group, even though nothing really changed for them. I can see how this happens, with the code first removing everyone from the group and then re-adding from the new list, but it's not very nice.

To add (or in theory, remove) users to a group, one needs to set the new complete list of members in a `PUT` call, as there is no `PATCH` support. The way this is implemented results in a notification being sent to every group member, saying that they have been removed from the group, and then that they have been added to the group, even though nothing really changed for them. I can see how this happens, with the code first removing everyone from the group and then re-adding from the new list, but it's not very nice.
Schneider commented 2023-05-11 09:12:57 +00:00 (Migrated from lab.libreho.st)

Hi! Thanks for your report.
This sounds like normal behavior from Nextcloud and only a side effect of how we deal with membership updates. I agree it's not nice though.
Anyway, we will look into it and come back to you.

Hi! Thanks for your report. This sounds like normal behavior from Nextcloud and only a side effect of how we deal with membership updates. I agree it's not nice though. Anyway, we will look into it and come back to you.
Peterson commented 2023-05-11 09:16:55 +00:00 (Migrated from lab.libreho.st)

Right. A different implementation of the membership update, which only changes users that require change, might avoid this. But this is more of a nuisance than a problem.

Right. A different implementation of the membership update, which only changes users that require change, might avoid this. But this is more of a nuisance than a problem.
hugo.renard commented 2023-05-11 09:49:24 +00:00 (Migrated from lab.libreho.st)

I haven't looked at the code but implementing a diffing logic server-side is probably the way to go.

I haven't looked at the code but implementing a diffing logic server-side is probably the way to go.
hugo.renard commented 2024-02-06 10:48:50 +00:00 (Migrated from lab.libreho.st)

Should be fixed in 362ab2b4c1.

Should be fixed in 362ab2b4c1fdafc8898463a73ab56f18423c0f11.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: libre.sh/scimserviceprovider#12
No description provided.