diff --git a/assets/js/weather_map_hook.ts b/assets/js/weather_map_hook.ts index c1268d77..9a93e103 100644 --- a/assets/js/weather_map_hook.ts +++ b/assets/js/weather_map_hook.ts @@ -1142,7 +1142,18 @@ export const WeatherMap: WeatherMapHook = { try { const resp = await fetch(url, { signal: abort.signal }) - if (!resp.ok) return + if (!resp.ok) { + // Never swallow a failed tile fetch. A 413 (viewport too large — + // reachable by zooming to minZoom on a wide window) or a 400 + // leaves the map blank with no other signal, which is + // indistinguishable from "no data for this hour" when someone + // reports a missing overlay. + console.warn( + `weather cells fetch failed (${source}): HTTP ${resp.status}`, + { status: resp.status, layers, url } + ) + return + } const buf = await resp.arrayBuffer() if (cacheKey !== this.packKey) return