From 4625c1f58e8f6a1b1e6a73dfe5c5d6871b0138bc Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 17 Feb 2023 12:12:34 -0800 Subject: wait for messages to be ready --- src/routes/(app)/[username]/(profile)/+page.svelte | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 596962d0..168556e4 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -15,16 +15,17 @@ let keys = new Set(); let latest = []; let i = 0; + let ready; e.subscribe(async (event) => { - if (!event) return; + if (!(event && ready)) return; if (event.recipient.id === user?.id && !~latest.findIndex((m) => m.id === event.id)) { event.content = await decrypt({ event, user }); let i = latest.findIndex((m) => m.pubkey === event.pubkey); - - if (~i) latest.splice(i, 1); - else latest.pop(); + let popped; + if (~i) popped = latest.splice(i, 1); + else popped = latest.pop(); latest.unshift(event); latest = latest; @@ -33,6 +34,7 @@ $: initialize($password); let initialize = async (p) => { + ready = false; if (!p) return; while (latest.length < 3 && i < messages.length) { let event = messages[i]; @@ -46,6 +48,7 @@ } latest = latest; + ready = true; }; -- cgit v1.2.3