summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2025-11-24 11:11:59 +0900
committerGitHub <noreply@github.com>2025-11-24 11:11:59 +0900
commit6c190e7a5d7b5e4bff117b44ee903822f78f6284 (patch)
tree36e975aca743ac1cfc91855c138ba0662b0c05ba
parentchore(dev): correct entrypoint path for embed on dev build (#16836) (diff)
downloadmisskey-6c190e7a5d7b5e4bff117b44ee903822f78f6284.tar.gz
misskey-6c190e7a5d7b5e4bff117b44ee903822f78f6284.tar.bz2
misskey-6c190e7a5d7b5e4bff117b44ee903822f78f6284.zip
fix(backend): チャンネルのリアルタイム更新で非ログイン時非表示設定が考慮されていない問題を修正 (#16833)
* fix(backend): チャンネルのリアルタイム更新でロックダウン設定が考慮されていない問題を修正 * Update Changelog --------- Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/server/api/stream/channels/channel.ts4
2 files changed, 5 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 52e18271a2..339b079cff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@
### Server
- Enhance: `clips/my-favorites` APIがページネーションに対応しました
- Enhance: メモリ使用量を削減しました
+- Fix: チャンネルのリアルタイム更新時に、ロックダウン設定にて非ログイン時にノートを表示しない設定にしている場合でもノートが表示されてしまう問題を修正
- Fix: DeepL APIのAPIキー指定方式変更に対応
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/1096)
- 内部実装の変更にて対応可能な更新です。Misskey側の設定方法に変更はありません。
diff --git a/packages/backend/src/server/api/stream/channels/channel.ts b/packages/backend/src/server/api/stream/channels/channel.ts
index 9a0da5b66b..c07eaac98d 100644
--- a/packages/backend/src/server/api/stream/channels/channel.ts
+++ b/packages/backend/src/server/api/stream/channels/channel.ts
@@ -41,6 +41,10 @@ class ChannelChannel extends Channel {
private async onNote(note: Packed<'Note'>) {
if (note.channelId !== this.channelId) return;
+ if (note.user.requireSigninToViewContents && this.user == null) return;
+ if (note.renote && note.renote.user.requireSigninToViewContents && this.user == null) return;
+ if (note.reply && note.reply.user.requireSigninToViewContents && this.user == null) return;
+
if (this.isNoteMutedOrBlocked(note)) return;
if (this.user && isRenotePacked(note) && !isQuotePacked(note)) {