[api] add a reconnect event so we know when reconnect is about to fire