From ab166959a43895666a9968dad049cbb280ccd41e Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Tue, 3 Nov 2020 15:49:31 +0900
Subject: [PATCH] Improve performance

---
 src/client/components/autocomplete.vue | 5 ++---
 src/client/components/emoji-picker.vue | 6 +++---
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/client/components/autocomplete.vue b/src/client/components/autocomplete.vue
index 476be8ae78..0b81c58727 100644
--- a/src/client/components/autocomplete.vue
+++ b/src/client/components/autocomplete.vue
@@ -28,7 +28,7 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
+import { defineComponent, markRaw } from 'vue';
 import { emojilist } from '../../misc/emojilist';
 import contains from '@/scripts/contains';
 import { twemojiSvgBase } from '../../misc/twemoji-base';
@@ -124,7 +124,6 @@ export default defineComponent({
 			emojis: [],
 			items: [],
 			select: -1,
-			emojilist,
 			emojiDb: [] as EmojiDef[]
 		}
 	},
@@ -178,7 +177,7 @@ export default defineComponent({
 
 		emojiDefinitions.sort((a, b) => a.name.length - b.name.length);
 
-		this.emojiDb = emojiDefinitions.concat(emjdb);
+		this.emojiDb = markRaw(emojiDefinitions.concat(emjdb));
 		//#endregion
 
 		this.textarea.addEventListener('keydown', this.onKeydown);
diff --git a/src/client/components/emoji-picker.vue b/src/client/components/emoji-picker.vue
index 431edf6d18..a9d7c71141 100644
--- a/src/client/components/emoji-picker.vue
+++ b/src/client/components/emoji-picker.vue
@@ -63,7 +63,7 @@
 </template>
 
 <script lang="ts">
-import { defineComponent } from 'vue';
+import { defineComponent, markRaw } from 'vue';
 import { emojilist } from '../../misc/emojilist';
 import { getStaticImageUrl } from '@/scripts/get-static-image-url';
 import { faAsterisk, faLeaf, faUtensils, faFutbol, faCity, faDice, faGlobe, faHistory, faUser } from '@fortawesome/free-solid-svg-icons';
@@ -86,7 +86,7 @@ export default defineComponent({
 
 	data() {
 		return {
-			emojilist,
+			emojilist: markRaw(emojilist),
 			getStaticImageUrl,
 			customEmojis: {},
 			faGlobe, faHistory,
@@ -137,7 +137,7 @@ export default defineComponent({
 	created() {
 		let local = this.$store.state.instance.meta.emojis;
 		local = groupByX(local, (x: any) => x.category || '');
-		this.customEmojis = local;
+		this.customEmojis = markRaw(local);
 	},
 
 	methods: {