From 1d0ed61d6434ab2ee69bd101a5661da9d33ead0e Mon Sep 17 00:00:00 2001 From: ronload <91997734+ronload@users.noreply.github.com> Date: Wed, 15 Apr 2026 18:06:22 +0800 Subject: [PATCH] fix(map): also proxy carto tile shard subdomains (tiles-{a..d}) Carto distributes tile requests across tiles-a/b/c/d subdomains. These were not caught by the previous proxy rewrite, causing the same http/https CORS mismatch on .mvt tile fetches. --- src/components/ui/map.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/ui/map.tsx b/src/components/ui/map.tsx index 24ea8a0..f5b48aa 100644 --- a/src/components/ui/map.tsx +++ b/src/components/ui/map.tsx @@ -26,15 +26,15 @@ const defaultStyles = { light: "/map-cdn/basemaps/gl/positron-gl-style/style.json", }; +const cartoTilesRe = /^https:\/\/tiles(?:-[a-d])?\.basemaps\.cartocdn\.com\//; + function proxyCartoUrl(url: string): string { if (url.startsWith("https://basemaps.cartocdn.com/")) { return url.replace("https://basemaps.cartocdn.com/", "/map-cdn/basemaps/"); } - if (url.startsWith("https://tiles.basemaps.cartocdn.com/")) { - return url.replace( - "https://tiles.basemaps.cartocdn.com/", - "/map-cdn/tiles/", - ); + const m = cartoTilesRe.exec(url); + if (m) { + return url.replace(m[0], "/map-cdn/tiles/"); } return url; }