Date: 2026-10-08
Commit: e6499a87667671a5887cdb9b5f5ff495b2c2f455
The CARTO basemap removal edit introduced a call to map.attributionControl.clearAttribution() — a method that does not exist in Leaflet 1.9.4. The Leaflet attribution control only exposes addAttribution() and removeAttribution().
This caused a TypeError: map.attributionControl.clearAttribution is not a function at runtime, which crashed the entire weather-panel.js IIFE immediately after L.map() was created. Because the crash happened inside initRadar() (which is called before loadConditions()), both the radar and the conditions/risk panel were stuck on "Loading…" — no JS after the crash point executed.
In weather-panel.js:
map.attributionControl.clearAttribution() with map.attributionControl.removeAttribution('Map data © ...') — the correct Leaflet API to strip the default OSM credit string..catch() to log errors to console instead of silently swallowing them..catch() to log errors and display "Weather unavailable." in the panel instead of leaving "Loading current conditions…" indefinitely.https://aablejohns-storm-alerts.jw5201785.workers.dev/weather was confirmed working (returns valid JSON with conditions + risk)./vendor/leaflet/leaflet.js v1.9.4) confirmed present and correct.data-endpoint attribute on #ajt-weather confirmed present and correct.ajt-weather-radar, ajt-weather-risk, ajt-weather-risk-value, ajt-weather-risk-note, ajt-weather-conditions) confirmed matching between HTML and JS.None found in any other file. The only CARTO reference was the now-removed tile layer in weather-panel.js and a stale CSS comment in site.css (comment only, no functional impact — already patched).