A virtual conferencing system comprising: a plurality of clients, each of the clients (130, 140) comprising a state management logic (1701, 1702) to maintain a local state (135, 145) of a virtual conference; a virtual conferencing service to establish audio and/or video connections between the plurality of clients during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client to ensure that a current state of the virtual conference is consistent with the local state of the virtual conference on each client, the state synchronization service comprising: a publish-subscribe logic to receive state change updates published by the state management logic of each client and responsively send the state change updates to the state management logic of all other clients; and a persistent state manager to maintain, in a state database, a current persistent state for each client comprising a copy of the state change updates of each client (130, 140); wherein upon a new client connecting to the virtual conferencing service, the state management logic of the new client is to receive all of the state change updates published by all other clients from the publish-subscribe logic and all of the current persistent states of all other clients stored in the state database from the persistent state manager; and wherein upon applying all of the received state change updates and all of the current persistent states by the state management logic of the new client, a current local state of the virtual conference on the new client will be consistent with the local state (135, 145) of the virtual conference of all other clients. a plurality of clients, each of the clients (130, 140) comprising a state management logic (1701, 1702) to maintain a local state (135, 145) of a virtual conference; a virtual conferencing service to establish audio and/or video connections between the plurality of clients during the virtual conference, the virtual conferencing service further including a state synchronization service communicatively coupled to the state management logic on each client to ensure that a current state of the virtual conference is consistent with the local state of the virtual conference on each client, the state synchronization service comprising: a publish-subscribe logic to receive state change updates published by the state management logic of each client and responsively send the state change updates to the state management logic of all other clients; and a persistent state manager to maintain, in a state database, a current persistent state for each client comprising a copy of the state change updates of each client (130, 140); a publish-subscribe logic to receive state change updates published by the state management logic of each client and responsively send the state change updates to the state management logic of all other clients; and a persistent state manager to maintain, in a state database, a current persistent state for each client comprising a copy of the state change updates of each client (130, 140); wherein upon a new client connecting to the virtual conferencing service, the state management logic of the new client is to receive all of the state change updates published by all other clients from the publish-subscribe logic and all of the current persistent states of all other clients stored in the state database from the persistent state manager; and wherein upon applying all of the received state change updates and all of the current persistent states by the state management logic of the new client, a current local state of the virtual conference on the new client will be consistent with the local state (135, 145) of the virtual conference of all other clients.