I am using userService plugin to managed shared group rosters. It seems to be working fine when new user is being added; the user gets added to the right groups. But when I update the user, any new group membership is being updated correctly. But removal of group memberships seems to be a bit unreliable.
Let me give an example:
- User1 already has membership in Group1 and Group2
- I now want to update User1 so that he is a member of Group1 and Group3; but not Group2.
- So I make a GET request to userService as follows: https://openfireserver:9091/plugins/userService/userService?type=update&user=Use r1&groups=Group1,Group3
In the above scenario, the user is correctly getting added to Group3; but the membership is not being removed from Group2. I tried clearing the cache; also had a look the code for userService and everything seems to be in-place for this behaviour. I just couldn’t figure why it behaves the way it does.
One important thing to note is that the user most probably will have an active XMPP session during the call the userService. Could that be causing any issues?