summaryrefslogtreecommitdiff
path: root/ui/lib/components/Message.svelte
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-11-15 01:18:41 -0500
committerOwen Jacobson <owen@grimoire.ca>2024-11-15 01:18:41 -0500
commit122ecb5769e20173c99033ade0057d38e12cb384 (patch)
tree9013d9639c92df1245cb15c583a4f6c000f3ad59 /ui/lib/components/Message.svelte
parent2fb328089f01776e5bb553a1d50a061396588c8c (diff)
HTML-ify message bodies once, on receipt, and not every time the message is rendered.
~16% of the `hi development` channel's rendering time was taken up on this.
Diffstat (limited to 'ui/lib/components/Message.svelte')
-rw-r--r--ui/lib/components/Message.svelte6
1 files changed, 1 insertions, 5 deletions
diff --git a/ui/lib/components/Message.svelte b/ui/lib/components/Message.svelte
index 0c8eeec..fddeecd 100644
--- a/ui/lib/components/Message.svelte
+++ b/ui/lib/components/Message.svelte
@@ -1,15 +1,11 @@
<script>
- import { marked } from 'marked';
- import DOMPurify from 'dompurify';
-
import { deleteMessage } from '$lib/apiServer';
function scroll(message) {
message.scrollIntoView();
}
- let { id, at, body, editable = false } = $props();
- let renderedBody = $derived(DOMPurify.sanitize(marked.parse(body, { breaks: true })));
+ let { id, at, body, renderedBody, editable = false } = $props();
let deleteArmed = $state(false);
function onDelete(event) {