From 30efd932a5828def2cd394e65d333fdbdb447231 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 19 Oct 2023 11:42:17 +0900 Subject: enhance: nyaizeはクライアントで表示時に行うように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve #12030 --- .../src/components/global/MkMisskeyFlavoredMarkdown.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index 2ae3fc89c8..ea3655f6bb 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -17,6 +17,7 @@ import MkSparkle from '@/components/MkSparkle.vue'; import MkA from '@/components/global/MkA.vue'; import { host } from '@/config.js'; import { defaultStore } from '@/store.js'; +import { nyaize } from '@/scripts/nyaize.js'; const QUOTE_STYLE = ` display: block; @@ -55,10 +56,13 @@ export default function(props: { * @param ast MFM AST * @param scale How times large the text is */ - const genEl = (ast: mfm.MfmNode[], scale: number) => ast.map((token): VNode | string | (VNode | string)[] => { + const genEl = (ast: mfm.MfmNode[], scale: number, disableNyaize = false) => ast.map((token): VNode | string | (VNode | string)[] => { switch (token.type) { case 'text': { - const text = token.props.text.replace(/(\r\n|\n|\r)/g, '\n'); + let text = token.props.text.replace(/(\r\n|\n|\r)/g, '\n'); + if (!disableNyaize && props.author.isCat) { + text = nyaize(text); + } if (!props.plain) { const res: (VNode | string)[] = []; @@ -260,7 +264,7 @@ export default function(props: { key: Math.random(), url: token.props.url, rel: 'nofollow noopener', - }, genEl(token.children, scale))]; + }, genEl(token.children, scale, true))]; } case 'mention': { @@ -299,11 +303,11 @@ export default function(props: { if (!props.nowrap) { return [h('div', { style: QUOTE_STYLE, - }, genEl(token.children, scale))]; + }, genEl(token.children, scale, true))]; } else { return [h('span', { style: QUOTE_STYLE, - }, genEl(token.children, scale))]; + }, genEl(token.children, scale, true))]; } } @@ -358,7 +362,7 @@ export default function(props: { } case 'plain': { - return [h('span', genEl(token.children, scale))]; + return [h('span', genEl(token.children, scale, true))]; } default: { -- cgit v1.2.3-freya From 721cbe085b39dc8feeb4e57cf75d9c801a5db66d Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 19 Oct 2023 17:42:19 +0900 Subject: fix(frontend): fix of 30efd932a5 --- packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index ea3655f6bb..f937b5f9e1 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -60,7 +60,7 @@ export default function(props: { switch (token.type) { case 'text': { let text = token.props.text.replace(/(\r\n|\n|\r)/g, '\n'); - if (!disableNyaize && props.author.isCat) { + if (!disableNyaize && props.author?.isCat) { text = nyaize(text); } -- cgit v1.2.3-freya From 7b361224f8f8c5215700f70d2aea57a9befa8090 Mon Sep 17 00:00:00 2001 From: atsuchan <83960488+atsu1125@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:36:18 +0900 Subject: fix(frontend): Recieve Unrenote on streaming (#12079) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(frontend): Recieve Unrenote 表示しているリノートがリノート解除されたらストリーミングで受信してすぐに消えるようにする * fix(frontend): Recieve Unrenote lint fixing * fix(frontend): Recieve Unrenote Decapture Decapture忘れてたー --- packages/frontend/src/components/MkNote.vue | 1 + packages/frontend/src/components/MkNoteDetailed.vue | 1 + packages/frontend/src/scripts/use-note-capture.ts | 10 +++++++++- 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 5272bf865e..339d2ac71b 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -232,6 +232,7 @@ const keymap = { useNoteCapture({ rootEl: el, note: $$(appearNote), + pureNote: $$(note), isDeletedRef: isDeleted, }); diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index a1360aba9d..273984cc0a 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -296,6 +296,7 @@ const reactionsPagination = $computed(() => ({ useNoteCapture({ rootEl: el, note: $$(appearNote), + pureNote: $$(note), isDeletedRef: isDeleted, }); diff --git a/packages/frontend/src/scripts/use-note-capture.ts b/packages/frontend/src/scripts/use-note-capture.ts index c618532570..bda9c04ea4 100644 --- a/packages/frontend/src/scripts/use-note-capture.ts +++ b/packages/frontend/src/scripts/use-note-capture.ts @@ -11,15 +11,17 @@ import { $i } from '@/account.js'; export function useNoteCapture(props: { rootEl: Ref; note: Ref; + pureNote: Ref; isDeletedRef: Ref; }) { const note = props.note; + const pureNote = props.pureNote; const connection = $i ? useStream() : null; function onStreamNoteUpdated(noteData): void { const { type, id, body } = noteData; - if (id !== note.value.id) return; + if ((id !== note.value.id) && (id !== pureNote.value.id)) return; switch (type) { case 'reacted': { @@ -82,6 +84,7 @@ export function useNoteCapture(props: { if (connection) { // TODO: このノートがストリーミング経由で流れてきた場合のみ sr する connection.send(document.body.contains(props.rootEl.value) ? 'sr' : 's', { id: note.value.id }); + if (pureNote.value.id !== note.value.id) connection.send('s', { id: pureNote.value.id }); if (withHandler) connection.on('noteUpdated', onStreamNoteUpdated); } } @@ -91,6 +94,11 @@ export function useNoteCapture(props: { connection.send('un', { id: note.value.id, }); + if (pureNote.value.id !== note.value.id) { + connection.send('un', { + id: pureNote.value.id, + }); + } if (withHandler) connection.off('noteUpdated', onStreamNoteUpdated); } } -- cgit v1.2.3-freya From 18af290b18cb73659a2421704ee9c7e474eaeca7 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 20 Oct 2023 11:33:33 +0900 Subject: chore: tweak MkNotifications --- packages/frontend/src/components/MkNotifications.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/MkNotifications.vue b/packages/frontend/src/components/MkNotifications.vue index 6ba2e513c5..263e0aa1c2 100644 --- a/packages/frontend/src/components/MkNotifications.vue +++ b/packages/frontend/src/components/MkNotifications.vue @@ -41,7 +41,7 @@ const pagingComponent = shallowRef>(); const pagination: Paging = { endpoint: 'i/notifications' as const, - limit: 10, + limit: 20, params: computed(() => ({ excludeTypes: props.excludeTypes ?? undefined, })), -- cgit v1.2.3-freya From 21986a2168d9c13725daef71ac8fd9722ee0fa91 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 20 Oct 2023 11:51:01 +0900 Subject: enhance(frontend): 投稿されてから時間が経過しているノートであることを視覚的に分かりやすく MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + packages/frontend/src/components/MkNoteDetailed.vue | 2 +- packages/frontend/src/components/MkNoteHeader.vue | 2 +- packages/frontend/src/components/global/MkTime.vue | 13 ++++++++++++- 4 files changed, 15 insertions(+), 3 deletions(-) (limited to 'packages/frontend/src/components') diff --git a/CHANGELOG.md b/CHANGELOG.md index f5feec00c4..4b10c8d123 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ ### Client - Enhance: TLの返信表示オプションを記憶するように +- Enhance: 投稿されてから時間が経過しているノートであることを視覚的に分かりやすく ### Server - Enhance: タイムライン取得時のパフォーマンスを向上 diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 273984cc0a..4f40feffdd 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -94,7 +94,7 @@ SPDX-License-Identifier: AGPL-3.0-only