1
0
Fork 0
forked from fedi/mastodon

Fix timeline streaming stopping for multiple sessions instead of one (#17259)

* Fix timeline streaming stopping for multiple sessions instead of one

Fixes #17256.

In updating the code for a newer version of node-redis, #17183 also broke
redis subscription management when multiple streaming clients subscribe to the
same channel.

This commit restores the redis subscription management code.

* Let node-redis actually handle the subscriptions
This commit is contained in:
Claire 2022-01-07 19:50:12 +01:00 committed by GitHub
parent e002f32336
commit bc066d8936
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -197,10 +197,12 @@ const startWorker = async (workerId) => {
/**
* @param {string} channel
* @param {function(string): void} callback
*/
const unsubscribe = (channel) => {
const unsubscribe = (channel, callback) => {
log.silly(`Removing listener for ${channel}`);
redisSubscribeClient.unsubscribe(channel);
redisSubscribeClient.unsubscribe(channel, callback);
};
const FALSE_VALUES = [