How do you know the contact chat wasn't synced? The state is only known by the FrontendManager that needs to cope of this, instead of the ProtocolManager which has to disable all chats so the user can't issue commands on them (without a connection).