diff options
Diffstat (limited to 'webapp/client/websocket_client.jsx')
-rw-r--r-- | webapp/client/websocket_client.jsx | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/webapp/client/websocket_client.jsx b/webapp/client/websocket_client.jsx index aa78d8d98..035e30be5 100644 --- a/webapp/client/websocket_client.jsx +++ b/webapp/client/websocket_client.jsx @@ -12,6 +12,7 @@ export default class WebSocketClient { this.connectFailCount = 0; this.eventCallback = null; this.responseCallbacks = {}; + this.firstConnectCallback = null; this.reconnectCallback = null; this.errorCallback = null; this.closeCallback = null; @@ -29,12 +30,13 @@ export default class WebSocketClient { this.conn = new WebSocket(connectionUrl); this.conn.onopen = () => { - if (this.reconnectCallback) { - this.reconnectCallback(); - } - if (this.connectFailCount > 0) { console.log('websocket re-established connection'); //eslint-disable-line no-console + if (this.reconnectCallback) { + this.reconnectCallback(); + } + } else if (this.firstConnectCallback) { + this.firstConnectCallback(); } this.connectFailCount = 0; @@ -104,6 +106,10 @@ export default class WebSocketClient { this.eventCallback = callback; } + setFirstConnectCallback(callback) { + this.firstConnectCallback = callback; + } + setReconnectCallback(callback) { this.reconnectCallback = callback; } @@ -157,4 +163,10 @@ export default class WebSocketClient { getStatuses(callback) { this.sendMessage('get_statuses', null, callback); } + + getStatusesByIds(userIds, callback) { + const data = {}; + data.user_ids = userIds; + this.sendMessage('get_statuses_by_ids', data, callback); + } } |