aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-03-27 23:58:30 -0700
committerAdam Soltys <[email protected]>2026-03-27 23:58:36 -0700
commitc7136dbefa4da50297513955cf51084afa23d98c (patch)
treeaeb996a112fcfd01db955038aee333e6fc965180
parentda2a15af53be6cad53abfff207d75b5d7d4200d6 (diff)
downloadcoinos-ui-c7136dbefa4da50297513955cf51084afa23d98c.tar.gz
coinos-ui-c7136dbefa4da50297513955cf51084afa23d98c.zip
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) <[email protected]>
-rw-r--r--src/routes/(app)/ln/[lnurl]/+page.server.ts7
1 files 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)}`;