From 16fe56f2ddc76dd1ffe4215552847b2b15f867d8 Mon Sep 17 00:00:00 2001 From: ronload <91997734+ronload@users.noreply.github.com> Date: Wed, 15 Apr 2026 18:22:00 +0800 Subject: [PATCH 1/2] fix(map): use absolute URLs in transformRequest MapLibre constructs Request objects internally which require absolute URLs. Prepend window.location.origin to proxied paths. --- src/components/ui/map.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/ui/map.tsx b/src/components/ui/map.tsx index f5b48aa..47a9ba6 100644 --- a/src/components/ui/map.tsx +++ b/src/components/ui/map.tsx @@ -29,12 +29,13 @@ const defaultStyles = { const cartoTilesRe = /^https:\/\/tiles(?:-[a-d])?\.basemaps\.cartocdn\.com\//; function proxyCartoUrl(url: string): string { + const origin = window.location.origin; if (url.startsWith("https://basemaps.cartocdn.com/")) { - return url.replace("https://basemaps.cartocdn.com/", "/map-cdn/basemaps/"); + return url.replace("https://basemaps.cartocdn.com/", `${origin}/map-cdn/basemaps/`); } const m = cartoTilesRe.exec(url); if (m) { - return url.replace(m[0], "/map-cdn/tiles/"); + return url.replace(m[0], `${origin}/map-cdn/tiles/`); } return url; } From 7b30960ef7d938bb110a25cd8e8802f9e55b6afd Mon Sep 17 00:00:00 2001 From: ronload <91997734+ronload@users.noreply.github.com> Date: Wed, 15 Apr 2026 18:23:48 +0800 Subject: [PATCH 2/2] style: format code style --- src/components/ui/map.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/ui/map.tsx b/src/components/ui/map.tsx index 47a9ba6..f98a1c9 100644 --- a/src/components/ui/map.tsx +++ b/src/components/ui/map.tsx @@ -31,7 +31,10 @@ const cartoTilesRe = /^https:\/\/tiles(?:-[a-d])?\.basemaps\.cartocdn\.com\//; function proxyCartoUrl(url: string): string { const origin = window.location.origin; if (url.startsWith("https://basemaps.cartocdn.com/")) { - return url.replace("https://basemaps.cartocdn.com/", `${origin}/map-cdn/basemaps/`); + return url.replace( + "https://basemaps.cartocdn.com/", + `${origin}/map-cdn/basemaps/`, + ); } const m = cartoTilesRe.exec(url); if (m) {