diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-11-17 09:31:07 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-11-17 09:31:07 +0900 |
| commit | d5aee2ea58a16e0cf65213fab9e46192882feba9 (patch) | |
| tree | 037be7ad7b26abf647faa0f4ee6a6a96ba37fa95 /packages/client/src/components | |
| parent | fix typo on CleanRemoteFilesProcessorService (#9171) (diff) | |
| download | sharkey-d5aee2ea58a16e0cf65213fab9e46192882feba9.tar.gz sharkey-d5aee2ea58a16e0cf65213fab9e46192882feba9.tar.bz2 sharkey-d5aee2ea58a16e0cf65213fab9e46192882feba9.zip | |
improve performance
Diffstat (limited to 'packages/client/src/components')
| -rw-r--r-- | packages/client/src/components/MkNote.vue | 5 | ||||
| -rw-r--r-- | packages/client/src/components/MkNoteDetailed.vue | 5 | ||||
| -rw-r--r-- | packages/client/src/components/MkPostForm.vue | 3 |
3 files changed, 8 insertions, 5 deletions
diff --git a/packages/client/src/components/MkNote.vue b/packages/client/src/components/MkNote.vue index efe786ba4b..97eadb1945 100644 --- a/packages/client/src/components/MkNote.vue +++ b/packages/client/src/components/MkNote.vue @@ -129,6 +129,7 @@ import { $i } from '@/account'; import { i18n } from '@/i18n'; import { getNoteMenu } from '@/scripts/get-note-menu'; import { useNoteCapture } from '@/scripts/use-note-capture'; +import { deepClone } from '@/scripts/clone'; const props = defineProps<{ note: misskey.entities.Note; @@ -137,12 +138,12 @@ const props = defineProps<{ const inChannel = inject('inChannel', null); -let note = $ref(JSON.parse(JSON.stringify(props.note))); +let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = JSON.parse(JSON.stringify(note)); + let result = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); } diff --git a/packages/client/src/components/MkNoteDetailed.vue b/packages/client/src/components/MkNoteDetailed.vue index 0bf8f330ba..82468027fd 100644 --- a/packages/client/src/components/MkNoteDetailed.vue +++ b/packages/client/src/components/MkNoteDetailed.vue @@ -139,6 +139,7 @@ import { $i } from '@/account'; import { i18n } from '@/i18n'; import { getNoteMenu } from '@/scripts/get-note-menu'; import { useNoteCapture } from '@/scripts/use-note-capture'; +import { deepClone } from '@/scripts/clone'; const props = defineProps<{ note: misskey.entities.Note; @@ -147,12 +148,12 @@ const props = defineProps<{ const inChannel = inject('inChannel', null); -let note = $ref(JSON.parse(JSON.stringify(props.note))); +let note = $ref(deepClone(props.note)); // plugin if (noteViewInterruptors.length > 0) { onMounted(async () => { - let result = JSON.parse(JSON.stringify(note)); + let result = deepClone(note); for (const interruptor of noteViewInterruptors) { result = await interruptor.handler(result); } diff --git a/packages/client/src/components/MkPostForm.vue b/packages/client/src/components/MkPostForm.vue index 0c57a5a57a..24f2bfb9e6 100644 --- a/packages/client/src/components/MkPostForm.vue +++ b/packages/client/src/components/MkPostForm.vue @@ -89,6 +89,7 @@ import { i18n } from '@/i18n'; import { instance } from '@/instance'; import { $i, getAccounts, openAccountMenu as openAccountMenu_ } from '@/account'; import { uploadFile } from '@/scripts/upload'; +import { deepClone } from '@/scripts/clone'; const modal = inject('modal'); @@ -575,7 +576,7 @@ async function post() { // plugin if (notePostInterruptors.length > 0) { for (const interruptor of notePostInterruptors) { - postData = await interruptor.handler(JSON.parse(JSON.stringify(postData))); + postData = await interruptor.handler(deepClone(postData)); } } |