about summary refs log tree commit diff
path: root/streaming
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-10-09 12:11:14 +0200
committerGitHub <noreply@github.com>2018-10-09 12:11:14 +0200
commit4134a10549a833ad5ab18b3c579304919d594ce1 (patch)
tree696f4b453ad029ffda3d0925c484c11b27b95cc6 /streaming
parentd0b1369a853dc2e5b7934c148547f71f8d103859 (diff)
parentb368d3c15ddfca983e89ff2858f7f03eb7147d83 (diff)
Merge pull request #770 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'streaming')
-rw-r--r--streaming/index.js12
1 files changed, 8 insertions, 4 deletions
diff --git a/streaming/index.js b/streaming/index.js
index 1c6004b77..debf7c8bf 100644
--- a/streaming/index.js
+++ b/streaming/index.js
@@ -485,7 +485,8 @@ const startWorker = (workerId) => {
   });
 
   app.get('/api/v1/streaming/direct', (req, res) => {
-    streamFrom(`timeline:direct:${req.accountId}`, req, streamToHttp(req, res), streamHttpEnd(req), true);
+    const channel = `timeline:direct:${req.accountId}`;
+    streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req, subscriptionHeartbeat(channel)), true);
   });
 
   app.get('/api/v1/streaming/hashtag', (req, res) => {
@@ -525,9 +526,11 @@ const startWorker = (workerId) => {
       ws.isAlive = true;
     });
 
+    let channel;
+
     switch(location.query.stream) {
     case 'user':
-      const channel = `timeline:${req.accountId}`;
+      channel = `timeline:${req.accountId}`;
       streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel)));
       break;
     case 'user:notification':
@@ -546,7 +549,8 @@ const startWorker = (workerId) => {
       streamFrom('timeline:public:local:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true);
       break;
     case 'direct':
-      streamFrom(`timeline:direct:${req.accountId}`, req, streamToWs(req, ws), streamWsEnd(req, ws), true);
+      channel = `timeline:direct:${req.accountId}`;
+      streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel)), true);
       break;
     case 'hashtag':
       streamFrom(`timeline:hashtag:${location.query.tag.toLowerCase()}`, req, streamToWs(req, ws), streamWsEnd(req, ws), true);
@@ -563,7 +567,7 @@ const startWorker = (workerId) => {
           return;
         }
 
-        const channel = `timeline:list:${listId}`;
+        channel = `timeline:list:${listId}`;
         streamFrom(channel, req, streamToWs(req, ws), streamWsEnd(req, ws, subscriptionHeartbeat(channel)));
       });
       break;