5e662e855d
When subscribing to an already subscribed room, the subscription state was reset, the subscription was resent by cancelling the in-flight request. All this is useless and can create a feeling of lag. This patch checks if a room is subscribed first. If it is, nothing happens. If it is not, the room subscription is created, and the in-flight request is cancelled. Tests are updated to reflect this new change. Note: room subscription settings are not taken into account in this “presence” pattern. It means that if we subscribe to an already subscribed room but with different settings, nothing will happen. The server will ignore the new settings anywhere for the moment.