From e73e21851ee16ba2adc0c141c7140f1e8c10ca87 Mon Sep 17 00:00:00 2001 From: taichan <40626578+taichanNE30@users.noreply.github.com> Date: Sat, 28 Oct 2023 15:50:46 +0900 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20=E3=83=97=E3=83=A9=E3=82=B0?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=92=E7=94=A8=E3=81=84=E3=81=A6=E7=96=91?= =?UTF-8?q?=E4=BC=BC=E7=9A=84=E3=81=AB=E3=83=9F=E3=83=A5=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B=20(#12135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: mute note using plugin * Update CHANGELOG --------- Co-authored-by: syuilo --- CHANGELOG.md | 3 ++- packages/frontend/src/components/MkNote.vue | 4 +++- packages/frontend/src/components/MkNoteDetailed.vue | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0801918df4..2c5c582fdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,9 +22,10 @@ - Feat: プラグイン・テーマを外部サイトから直接インストールできるようになりました - 外部サイトでの実装が必要です。詳細は Misskey Hub をご覧ください https://misskey-hub.net/docs/advanced/publish-on-your-website.html -- Enhance: AiScript関数`Mk:nyaize()`が追加されました - Enhance: データセーバー有効時はアニメーション付きのアバター画像が停止するように - Enhance: プラグインを削除した際には、使用されていたアクセストークンも同時に削除されるようになりました +- Enhance: プラグインで`Plugin:register_note_view_interruptor`を用いてnoteの代わりにnullを返却することでノートを非表示にできるようになりました +- Enhance: AiScript関数`Mk:nyaize()`が追加されました - Fix: 投稿フォームでのユーザー変更がプレビューに反映されない問題を修正 - Fix: ユーザーページの ノート > ファイル付き タブにリプライが表示されてしまう - Fix: 「検索」MFMにおいて一部の検索キーワードが正しく認識されない問題を修正 diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 86690eb66e..f2329ff320 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -183,9 +183,11 @@ let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = deepClone(note); + let result:Misskey.entities.Note | null = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); + + if (result === null) return isDeleted.value = true; } note = result; }); diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index cb226984bf..d17037f4f4 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -230,9 +230,11 @@ let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = deepClone(note); + let result:Misskey.entities.Note | null = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); + + if (result === null) return isDeleted.value = true; } note = result; });