From 6d02123bd8a2ffb0cb67f15ee8e8bf2397e6362b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 31 Oct 2022 11:14:26 -0700 Subject: keep socket connection alive --- src/components/Pin.svelte | 1 - src/lib/socket.js | 7 ++----- src/lib/store.js | 1 + src/routes/+layout.svelte | 24 +++++++++++++++++++++--- src/routes/invoice/[id]/+page.svelte | 5 +++-- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/components/Pin.svelte b/src/components/Pin.svelte index 288a7928..2a6bf977 100644 --- a/src/components/Pin.svelte +++ b/src/components/Pin.svelte @@ -3,7 +3,6 @@ let pinCode = ''; let pinInput; - $: console.log(pinCode.length); $: pinCode.length > 5 && ($pin = pinCode); diff --git a/src/lib/socket.js b/src/lib/socket.js index b385db9d..1ed90f0b 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,5 +1,5 @@ import { get } from 'svelte/store'; -import { invoices, newPayment, rate, user } from '$lib/store'; +import { invoices, newPayment, last, rate, user } from '$lib/store'; import { success } from '$lib/utils'; import { env } from '$env/dynamic/public'; @@ -16,6 +16,7 @@ export const send = (type, data) => { export const messages = (data) => ({ rate() { + last.set(Date.now()); rate.set(data); }, @@ -46,16 +47,12 @@ let currentReconnectDelay = initialReconnectDelay; export function connect(t) { token = t; - clearInterval(interval); - if (socket) return auth(); socket = new WebSocket(socketUrl); socket.addEventListener('open', onWebsocketOpen); socket.addEventListener('close', onWebsocketClose); socket.addEventListener('message', onWebsocketMessage); - - interval = setInterval(() => send('heartbeat'), 5000); } export function close() { diff --git a/src/lib/store.js b/src/lib/store.js index 3174a86c..52f2fe2a 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -43,3 +43,4 @@ export const tempProfileFiles = writable(); export const avatarUpload = writable(); export const bannerUpload = writable(); export const pin = persistSession('pin', undefined, 5 * 60 * 1000); +export const last = writable(); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5cc75b30..1cdf2a69 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,9 +1,9 @@ +{#if lost} +
+ Lost connection to server, try refreshing +
+{/if} +
diff --git a/src/routes/invoice/[id]/+page.svelte b/src/routes/invoice/[id]/+page.svelte index 7dd6d51c..16ec186e 100644 --- a/src/routes/invoice/[id]/+page.svelte +++ b/src/routes/invoice/[id]/+page.svelte @@ -1,7 +1,8 @@