diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ab5b1f68..3d435d52a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ unreleased * 投稿のツールチップを出すのは時間の上だけに変更 * ハッシュタグ判定の強化 * ストーク機能の廃止 +* 関係のない返信がタイムラインに流れる問題を修正 * クライアントのAPIリクエストをストリーム経由で行うオプションを廃止 * 一部箇所でカスタム絵文字が適用されていないのを修正 diff --git a/src/server/api/endpoints/notes/hybrid-timeline.ts b/src/server/api/endpoints/notes/hybrid-timeline.ts index c05b88a01..bb10d5e04 100644 --- a/src/server/api/endpoints/notes/hybrid-timeline.ts +++ b/src/server/api/endpoints/notes/hybrid-timeline.ts @@ -168,6 +168,9 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { // public only visibility: 'public', + // リプライでない + replyId: null, + // local '_user.host': null }], diff --git a/src/server/api/endpoints/notes/local-timeline.ts b/src/server/api/endpoints/notes/local-timeline.ts index fd624c10e..f9d7b7531 100644 --- a/src/server/api/endpoints/notes/local-timeline.ts +++ b/src/server/api/endpoints/notes/local-timeline.ts @@ -96,6 +96,9 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { // public only visibility: 'public', + // リプライでない + replyId: null, + // local '_user.host': null } as any; diff --git a/src/services/note/create.ts b/src/services/note/create.ts index f8d1c2408..b5e5c4e49 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -375,11 +375,17 @@ async function publish(user: IUser, note: INote, noteObj: any, reply: INote, ren // Publish note to local and hybrid timeline stream if (note.visibility != 'home') { - publishLocalTimelineStream(noteObj); + // Ignore if it is a reply + if (note.replyId == null) { + publishLocalTimelineStream(noteObj); + } } if (note.visibility == 'public') { - publishHybridTimelineStream(null, noteObj); + // Ignore if it is a reply + if (note.replyId == null) { + publishHybridTimelineStream(null, noteObj); + } } else { // Publish event to myself's stream publishHybridTimelineStream(note.userId, noteObj);