From e5f37b003d93a17c2a9958697269b2d3228d8830 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 4 Mar 2026 23:06:35 -0800 Subject: tuning --- src/lib/parse.ts | 3 ++- src/lib/passwordCache.ts | 62 ++---------------------------------------------- src/lib/utils.ts | 5 ++-- 3 files changed, 7 insertions(+), 63 deletions(-) (limited to 'src/lib') diff --git a/src/lib/parse.ts b/src/lib/parse.ts index 5e43a6ad..b5ff5f42 100644 --- a/src/lib/parse.ts +++ b/src/lib/parse.ts @@ -12,8 +12,9 @@ export default async (s, host, cookies) => { let amount; let invoice; let user; + const aid = cookies.get("aid"); - if (t.startsWith("ark") || t.startsWith("tark")) redirect(307, `/send/ark/${t}`); + if (t.startsWith("ark") || t.startsWith("tark")) redirect(307, `/send/ark/${t}${aid ? `?aid=${aid}` : ""}`); if (t.startsWith("http")) redirect(307, t); if (t.startsWith(host)) redirect(307, `http://${t}`); diff --git a/src/lib/passwordCache.ts b/src/lib/passwordCache.ts index 0ed36af1..8ea4a9c9 100644 --- a/src/lib/passwordCache.ts +++ b/src/lib/passwordCache.ts @@ -1,69 +1,11 @@ import { browser } from "$app/environment"; -import { writable } from "svelte/store"; - -const PASSWORD_KEY = "walletPassword"; -const EXPIRES_KEY = "walletPasswordExpiresAt"; - -export const rememberForOptions = [ - { label: "user.settings.dontRemember", ms: 0 }, - { label: "user.settings.8hours", ms: 8 * 60 * 60 * 1000 }, - { label: "user.settings.1day", ms: 24 * 60 * 60 * 1000 }, - { label: "user.settings.1week", ms: 7 * 24 * 60 * 60 * 1000 }, - { label: "user.settings.1month", ms: 30 * 24 * 60 * 60 * 1000 }, - { label: "user.settings.1year", ms: 365 * 24 * 60 * 60 * 1000 }, -]; - -export const defaultRememberForMs = 30 * 24 * 60 * 60 * 1000; - -const clearStoredPassword = () => { - if (!browser) return; - localStorage.removeItem(PASSWORD_KEY); - localStorage.removeItem(EXPIRES_KEY); -}; - -const loadStoredPassword = () => { - if (!browser) return undefined; - const password = localStorage.getItem(PASSWORD_KEY) || undefined; - if (!password) return undefined; - const expiresAtRaw = localStorage.getItem(EXPIRES_KEY); - const expiresAt = expiresAtRaw ? Number(expiresAtRaw) : undefined; - if (expiresAt && Date.now() > expiresAt) { - clearStoredPassword(); - return undefined; - } - return password; -}; - -export const walletPassword = writable(loadStoredPassword()); - -export const rememberWalletPassword = (password: string, durationMs: number) => { - if (!browser) return; - if (!durationMs) { - clearStoredPassword(); - walletPassword.set(undefined); - return; - } - const expiresAt = Date.now() + durationMs; - localStorage.setItem(PASSWORD_KEY, password); - localStorage.setItem(EXPIRES_KEY, String(expiresAt)); - walletPassword.set(password); -}; - -export const forgetWalletPassword = () => { - clearStoredPassword(); - walletPassword.set(undefined); -}; - -export const getRememberedWalletPassword = () => { - const password = loadStoredPassword(); - walletPassword.set(password); - return password; -}; // PRF key cache const PRF_KEY = "prfKey"; const PRF_EXPIRES_KEY = "prfKeyExpiresAt"; +export const defaultRememberForMs = 30 * 24 * 60 * 60 * 1000; + function hexFromBuffer(buf: ArrayBuffer): string { return Array.from(new Uint8Array(buf)) .map((b) => b.toString(16).padStart(2, "0")) diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 74e05f17..9f1eec3a 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -46,7 +46,8 @@ export const get = (url: string, headers = {}) => { return fetch(base + url, { headers: { ...ipHeaders(), ...headers } }) .then(async (r) => { if (r.ok) return r.text(); - throw new Error(await r.text()); + const text = await r.text(); + throw new Error(text.replace(/^"|"$/g, "")); }) .then((body) => { try { @@ -84,7 +85,7 @@ export const post = async ( } catch {} if (message) throw new Error(message); - throw new Error(text); + throw new Error(text.replace(/^"|"$/g, "")); }) .then((body) => { let json; -- cgit v1.2.3