From c7136dbefa4da50297513955cf51084afa23d98c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 27 Mar 2026 23:58:30 -0700 Subject: fix: use URL searchParams for LNURL callback URLs Prevents malformed URLs when callback already contains query params. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/routes/(app)/ln/[lnurl]/+page.server.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.ts b/src/routes/(app)/ln/[lnurl]/+page.server.ts index dbbb0821..d30a6bda 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.ts +++ b/src/routes/(app)/ln/[lnurl]/+page.server.ts @@ -72,10 +72,11 @@ export const actions = { if (amount > maxSendable) error = `Amount must be at most ${maxSendable} sats`; if (error) return fail(400, { error }); - let url = `${callback}?amount=${amount * 1000}`; - if (comment) url += `&comment=${comment}`; + const urlObj = new URL(callback); + urlObj.searchParams.set("amount", (amount * 1000).toString()); + if (comment) urlObj.searchParams.set("comment", comment); - const { pr } = await fetch(url).then((r) => r.json()); + const { pr } = await fetch(urlObj.toString()).then((r) => r.json()); let path = `/send/lightning/${pr}`; if (comment) path += `/${encodeURIComponent(comment)}`; -- cgit v1.2.3