]> cat aescling's git repositories - mastodon.git/commitdiff
Re-add stream end log for WebSocket (#3397)
authorClworld <clworld@ggtea.org>
Sun, 28 May 2017 17:14:44 +0000 (02:14 +0900)
committerEugen Rochko <eugen@zeonfederated.com>
Sun, 28 May 2017 17:14:44 +0000 (19:14 +0200)
streaming/index.js

index 5c050fd2be46e1fe37739b74112a922edf8d4e24..52b5ccced7090a31cbefbc0c36f78cc55c3e3e35 100644 (file)
@@ -315,12 +315,14 @@ const startWorker = (workerId) => {
   };
 
   // Setup stream end for WebSockets
-  const streamWsEnd = ws => (id, listener) => {
+  const streamWsEnd = (req, ws) => (id, listener) => {
     ws.on('close', () => {
+      log.verbose(req.requestId, `Ending stream for ${req.accountId}`);
       unsubscribe(id, listener);
     });
 
     ws.on('error', e => {
+      log.verbose(req.requestId, `Ending stream for ${req.accountId}`);
       unsubscribe(id, listener);
     });
   };
@@ -370,19 +372,19 @@ const startWorker = (workerId) => {
 
       switch(location.query.stream) {
       case 'user':
-        streamFrom(`timeline:${req.accountId}`, req, streamToWs(req, ws), streamWsEnd(ws));
+        streamFrom(`timeline:${req.accountId}`, req, streamToWs(req, ws), streamWsEnd(req, ws));
         break;
       case 'public':
-        streamFrom('timeline:public', req, streamToWs(req, ws), streamWsEnd(ws), true);
+        streamFrom('timeline:public', req, streamToWs(req, ws), streamWsEnd(req, ws), true);
         break;
       case 'public:local':
-        streamFrom('timeline:public:local', req, streamToWs(req, ws), streamWsEnd(ws), true);
+        streamFrom('timeline:public:local', req, streamToWs(req, ws), streamWsEnd(req, ws), true);
         break;
       case 'hashtag':
-        streamFrom(`timeline:hashtag:${location.query.tag}`, req, streamToWs(req, ws), streamWsEnd(ws), true);
+        streamFrom(`timeline:hashtag:${location.query.tag}`, req, streamToWs(req, ws), streamWsEnd(req, ws), true);
         break;
       case 'hashtag:local':
-        streamFrom(`timeline:hashtag:${location.query.tag}:local`, req, streamToWs(req, ws), streamWsEnd(ws), true);
+        streamFrom(`timeline:hashtag:${location.query.tag}:local`, req, streamToWs(req, ws), streamWsEnd(req, ws), true);
         break;
       default:
         ws.close();