Remove a member from a share group affect roster group?

I don’t know anyone had seen the problem.

If I have a user ‘abb’ is located both in a shared group ‘GA’ and a roster group “RGB”. After I login using SPARK, the user ‘abb’ will display both under group ‘GA’ and ‘RGB’, which is right. But, if I remove the user ‘abb’ from shared group ‘GA’ in console admin page using ‘admin’. ‘abb’ will disappear both from ‘GA’ and 'RGB". It’s wired.

(Openfire 3.6.4, Spark 2.5.8)

I am trying to debug openfire, but cannot catch the cause. Does anyone know this?

I was trying to reproduce the problem, but failed.

Openfire got IQ that “remove” abb from group “RGB” sent from spark client. It seems that the removal command is sent from spark client. Still under research.

As I don’t know how the shared groups are implemented in details this could be indeed the case. Anyhow one would need to confirm this. This is what I did understand:

  1. You remove a user “User” from a shared group “SharedGroup”.
  2. Openfire sends a removal request (unsubscribe?) to the client.
  3. Spark receives this and updates the roster. Anyhow “User” is removed from all groups.
  4. Spark does also send an unsubscribe back to Openfire. Is this the normal behaviour when receiving an unsubscribe request?
  5. Openfire receives this requests and removes the users also from “Roster” of “User”.
    Maybe one could fix this by skipping 2. and keep the shared group and roster as is and wait for a re-login.

I tested the case several times in last days, and found it didn’t have something to do with shared group. It is removal member from shared group triggered the incident (if it’s not a case):

In Spark client, if user A and user B are both subscribed to each other with ‘both/to’ sub values and if user A remove user B throught 'remove it from my Roster", then user A cannot see User B any more in his roster.

Besides, User B cannot see User A in his roster too. It seems that User B received the ‘removal’ IQ and removed User A from his roster too. I don’t know if it is by designed.