diff options
| author | Adam Soltys <[email protected]> | 2026-03-27 23:58:30 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-27 23:58:36 -0700 |
| commit | c7136dbefa4da50297513955cf51084afa23d98c (patch) | |
| tree | aeb996a112fcfd01db955038aee333e6fc965180 | |
| parent | da2a15af53be6cad53abfff207d75b5d7d4200d6 (diff) | |
| download | coinos-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.ts | 7 |
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)}`; |
