about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/util/stream.js
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-03-07 22:17:52 +0100
committerThibaut Girka <thib@sitedethib.com>2019-03-08 01:00:14 +0100
commit6fe48dd050a84841c09bb1290a3e3cf99a795824 (patch)
tree6d7e860b5909d8c78c14b129766f88a7a9df9300 /app/javascript/flavours/glitch/util/stream.js
parent5528719bc9fd4e8dca0e5e51de183a6dd27b4d55 (diff)
[Glitch] Fix public timelines being broken by new toots when they are not mounted
Port be1c634b2b4372a525d304d2ff830392f04c5cc5 to glitch-soc
Diffstat (limited to 'app/javascript/flavours/glitch/util/stream.js')
-rw-r--r--app/javascript/flavours/glitch/util/stream.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/javascript/flavours/glitch/util/stream.js b/app/javascript/flavours/glitch/util/stream.js
index 9928d0dd7..306a068b7 100644
--- a/app/javascript/flavours/glitch/util/stream.js
+++ b/app/javascript/flavours/glitch/util/stream.js
@@ -2,11 +2,11 @@ import WebSocketClient from 'websocket.js';
 
 const randomIntUpTo = max => Math.floor(Math.random() * Math.floor(max));
 
-export function connectStream(path, pollingRefresh = null, callbacks = () => ({ onDisconnect() {}, onReceive() {} })) {
+export function connectStream(path, pollingRefresh = null, callbacks = () => ({ onConnect() {}, onDisconnect() {}, onReceive() {} })) {
   return (dispatch, getState) => {
     const streamingAPIBaseURL = getState().getIn(['meta', 'streaming_api_base_url']);
     const accessToken = getState().getIn(['meta', 'access_token']);
-    const { onDisconnect, onReceive } = callbacks(dispatch, getState);
+    const { onConnect, onDisconnect, onReceive } = callbacks(dispatch, getState);
 
     let polling = null;
 
@@ -28,6 +28,8 @@ export function connectStream(path, pollingRefresh = null, callbacks = () => ({
         if (pollingRefresh) {
           clearPolling();
         }
+
+        onConnect();
       },
 
       disconnected () {
@@ -47,6 +49,8 @@ export function connectStream(path, pollingRefresh = null, callbacks = () => ({
           clearPolling();
           pollingRefresh(dispatch);
         }
+
+        onConnect();
       },
 
     });