summaryrefslogtreecommitdiffstats
path: root/webapp/client/websocket_client.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/client/websocket_client.jsx')
-rw-r--r--webapp/client/websocket_client.jsx20
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);
+ }
}