92ae4dda72
Changed my mind - it's a good idea to wait a short time before sending a keepalive request: this will make sure we never tightloop. This also adds a 'RECONNECTING' state for when a sync request has failed but there is no reason to suspect there is actually a connectivity problem. This is necessary for the tests to be able to advance the clock at the appropriate time, but could be nice for clients. Add a breaking change changelog entry since technically this is an API change that might break clients if they were relying on 'SYNCING' always coming before 'ERROR' for some reason.