diff options
| author | Adam Soltys <[email protected]> | 2023-02-17 12:12:34 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-17 12:12:34 -0800 |
| commit | 4625c1f58e8f6a1b1e6a73dfe5c5d6871b0138bc (patch) | |
| tree | fa21318f1d565078f310697af6fac0f058ed64d9 /src | |
| parent | b41b65ffc0816f5c3ac65b2e85ed37f96e4f61c0 (diff) | |
| download | coinos-ui-4625c1f58e8f6a1b1e6a73dfe5c5d6871b0138bc.tar.gz coinos-ui-4625c1f58e8f6a1b1e6a73dfe5c5d6871b0138bc.zip | |
wait for messages to be ready
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/+page.svelte | 11 |
1 files changed, 7 insertions, 4 deletions
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; }; </script> |
