aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-08-21 01:53:02 -0700
committerAdam Soltys <[email protected]>2024-08-21 01:53:02 -0700
commitb2334dc5de60359e0efb9b8f328291f1763f1461 (patch)
treea86bd3a709035f212a91721410d6d46c0d251808 /src/lib
parent3221f282ffa5a62fee10996288f3e1157309a10e (diff)
downloadcoinos-ui-b2334dc5de60359e0efb9b8f328291f1763f1461.tar.gz
coinos-ui-b2334dc5de60359e0efb9b8f328291f1763f1461.zip
wait if navigating
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/parse.js1
-rw-r--r--src/lib/socket.js17
2 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/parse.js b/src/lib/parse.js
index 3c29f2e5..3470fb52 100644
--- a/src/lib/parse.js
+++ b/src/lib/parse.js
@@ -7,7 +7,6 @@ import { redirect } from "@sveltejs/kit";
export default async (t, host, cookies) => {
if (!t) return;
- console.log("T", t)
if (t.startsWith("http")) redirect(307, t);
if (t.startsWith(host)) redirect(307, `http://${t}`);
diff --git a/src/lib/socket.js b/src/lib/socket.js
index 6aa5498c..98d42ead 100644
--- a/src/lib/socket.js
+++ b/src/lib/socket.js
@@ -1,6 +1,7 @@
+import { navigating } from "$app/stores";
import { get } from "svelte/store";
import { event, invoice, request, newPayment, last } from "$lib/store";
-import { success, sat } from "$lib/utils";
+import { success, sat, sleep } from "$lib/utils";
import { PUBLIC_SOCKET } from "$env/static/public";
import { invalidate } from "$app/navigation";
import { browser } from "$app/environment";
@@ -33,13 +34,9 @@ export const messages = (data) => ({
async payment() {
let { amount, confirmed } = data;
- // without setTimeout, invalidate seems to break redirections from actions
- let delay = amount > 0 ? 0 : 2500;
- setTimeout(() => {
- invalidate("app:user");
- invalidate("app:invoice");
- invalidate("app:payments");
- }, delay);
+ invalidate("app:user");
+ invalidate("app:invoice");
+ invalidate("app:payments");
if (amount > 0) {
success(`${confirmed ? "Received" : "Detected"} ${sat(amount)}!`);
@@ -69,8 +66,10 @@ export function close() {
if (socket) socket.close();
}
-function onWebsocketMessage(msg) {
+async function onWebsocketMessage(msg) {
let { type, data } = JSON.parse(msg.data);
+ if (get(navigating)) await sleep(2000);
+
messages(data)[type] && messages(data)[type]();
}