diff --git a/src/js/remote.js b/src/js/remote.js index f7e02742cd..793d07610c 100644 --- a/src/js/remote.js +++ b/src/js/remote.js @@ -412,8 +412,6 @@ Remote.prototype._connect_start = function () { }; if (self.online_target) { - self._set_state('online'); - // Note, we could get disconnected before this goes through. self._server_subscribe(); // Automatically subscribe. } @@ -493,6 +491,10 @@ Remote.prototype._connect_message = function (ws, json) { this.emit('ledger_closed', message); break; + case 'serverStatus': + this._set_state(message.server_status === 'ok' ? 'online' : 'offline'); + break; + // All other messages default: if (this.trace) utils.logObject("remote: "+message.type+": %s", message); @@ -852,6 +854,10 @@ Remote.prototype._server_subscribe = function () { self.emit('ledger_closed', message); } + if (message.server_status === "ok") { + self._set_state('online'); + } + self.emit('subscribed'); }) .request();