The change introduced in SMACK-848 only works if the MUC still considers the user as joined. If the MUC service was restarted, and our user isn’t an occupant any more, the MUC is not required to respond to presence/unavailable (the default is to drop it).
That means a join will be delayed by a packet timeout, which some mobile clients set to 30 seconds, because mobile networks are slow sometimes.
As we are checking for the stanza ID of the join response now in MUC.enter(), is this forced leaveSync() still required?