diff --git a/src/server/api/stream/hybrid-timeline.ts b/src/server/api/stream/hybrid-timeline.ts index 55f9fbb788..513af9c1d4 100644 --- a/src/server/api/stream/hybrid-timeline.ts +++ b/src/server/api/stream/hybrid-timeline.ts @@ -12,7 +12,7 @@ export default async function( user: IUser ) { // Subscribe stream - subscriber.subscribe(`misskey:hybrid-timeline:${user._id}`); + subscriber.subscribe('misskey:hybrid-timeline', `misskey:hybrid-timeline:${user._id}`); const mute = await Mute.find({ muterId: user._id }); const mutedUserIds = mute.map(m => m.muteeId.toString()); diff --git a/src/server/api/stream/local-timeline.ts b/src/server/api/stream/local-timeline.ts index 8f6a445be0..32718810dc 100644 --- a/src/server/api/stream/local-timeline.ts +++ b/src/server/api/stream/local-timeline.ts @@ -12,7 +12,7 @@ export default async function( user: IUser ) { // Subscribe stream - subscriber.subscribe(`misskey:local-timeline`); + subscriber.subscribe('misskey:local-timeline'); const mute = await Mute.find({ muterId: user._id }); const mutedUserIds = mute.map(m => m.muteeId.toString()); diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts index 7c2245703e..afa0de2ce1 100644 --- a/src/server/api/streaming.ts +++ b/src/server/api/streaming.ts @@ -5,6 +5,7 @@ import config from '../../config'; import homeStream from './stream/home'; import localTimelineStream from './stream/local-timeline'; +import hybridTimelineStream from './stream/hybrid-timeline'; import globalTimelineStream from './stream/global-timeline'; import userListStream from './stream/user-list'; import driveStream from './stream/drive'; @@ -64,6 +65,7 @@ module.exports = (server: http.Server) => { const channel: any = request.resourceURL.pathname === '/' ? homeStream : request.resourceURL.pathname === '/local-timeline' ? localTimelineStream : + request.resourceURL.pathname === '/hybrid-timeline' ? hybridTimelineStream : request.resourceURL.pathname === '/global-timeline' ? globalTimelineStream : request.resourceURL.pathname === '/user-list' ? userListStream : request.resourceURL.pathname === '/drive' ? driveStream : diff --git a/src/services/note/create.ts b/src/services/note/create.ts index cc7474292f..d29b628119 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -269,7 +269,7 @@ export default async (user: IUser, data: { // Publish note to local and hybrid timeline stream if (note.visibility != 'home') { publishLocalTimelineStream(noteObj); - publishHybridTimelineStream(noteObj); + publishHybridTimelineStream(null, noteObj); } } } diff --git a/src/stream.ts b/src/stream.ts index b2aa4f0e2a..cec5fcf0f3 100644 --- a/src/stream.ts +++ b/src/stream.ts @@ -50,7 +50,7 @@ class MisskeyEvent { } public publishHybridTimelineStream(userId: ID, note: any): void { - this.redisClient.publish(`misskey:hybrid-timeline:${userId}`, JSON.stringify(note)); + this.redisClient.publish(userId ? `misskey:hybrid-timeline:${userId}` : 'misskey:hybrid-timeline', JSON.stringify(note)); } public publishGlobalTimelineStream(note: any): void {