fix: derive QR target URL from request, not stale env var

PUBLIC_BASE_URL was pointing to the planned pages.dev domain that
was never wired up, so QR codes encoded a non-functional URL. Use
the request's own origin as the source of truth (which also handles
custom domains automatically when added later) and only fall back
to PUBLIC_BASE_URL when an explicit override is passed via ?url=.
Also update PUBLIC_BASE_URL to the actual workers.dev hostname so
nothing else points at the wrong place.

https://claude.ai/code/session_01TPBqgcSJMppgrpiq7fLywL
This commit is contained in:
Claude 2026-05-04 02:50:59 +00:00
parent 516def235a
commit 913dc2b93d
No known key found for this signature in database
2 changed files with 2 additions and 5 deletions

View File

@ -77,10 +77,7 @@ publicRoutes.get('/qrcode', async (c) => {
const overrideUrl = c.req.query('url');
const reqUrl = new URL(c.req.url);
const base =
overrideUrl ??
c.env.PUBLIC_BASE_URL ??
`${reqUrl.protocol}//${reqUrl.host}`;
const base = overrideUrl ?? `${reqUrl.protocol}//${reqUrl.host}`;
const target = base.replace(/\/$/, '') + '/enviar';
if (format === 'svg') {

View File

@ -21,7 +21,7 @@ bucket_name = "wedding-media"
[vars]
COUPLE_NAMES = "Stefanie & Leandro"
PUBLIC_BASE_URL = "https://stefanieeleandro.pages.dev"
PUBLIC_BASE_URL = "https://stefanieeleandro.lronetto.workers.dev"
S3_REGION = "auto"
S3_BUCKET = "wedding-media"
S3_FORCE_PATH_STYLE = "true"