thermograph/static
Emi Griffith a1cf72642a Fix compare place names (Nominatim burst) + weekly duplicate location name (#29)
Compare was the only page loading several cells at once, so its concurrent
reverse-geocode calls burst past Nominatim's ~1 req/sec limit, got rate-limited,
and cached a null label — leaving those locations stuck on bare coordinates.

- climate.py: serialize + rate-limit reverse_geocode behind a lock (>=1.1s between
  Nominatim calls, re-checking the cache under the lock), so concurrent callers
  resolve reliably instead of bursting.
- store.py: shorten the reverse-geocode miss TTL 1 day -> 1 hour so a transient
  null retries soon; add a `cache` flag to put_payload.
- app.py: don't persist a calendar payload whose place failed to resolve, so the
  coordinates fallback can't stick for the life of the token.

Weekly showed the place name twice (top label beside the Find button AND the
results <h2>). Keep the <h2> (it carries the coords + climatology context) as the
single name display; the top label now only holds the transient coordinates
written on selection and is hidden once the named results render.


Claude-Session: https://claude.ai/code/session_01B3Q2EkHHnTUX2BfhV5q1Zc

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 09:03:57 +00:00
..
app.js Fix compare place names (Nominatim burst) + weekly duplicate location name (#29) 2026-07-11 09:03:57 +00:00
calendar.html Metric cards: status to top-right, normal under the value; bold head context (#20) 2026-07-11 07:20:13 +00:00
calendar.js Picker map: smaller labels, darker roads; location label coords→place (#27) 2026-07-11 08:35:43 +00:00
compare.html Compare: put full state in the URL and gate reloads behind Refresh (#12) 2026-07-11 03:17:17 +00:00
compare.js Picker map: smaller labels, darker roads; location label coords→place (#27) 2026-07-11 08:35:43 +00:00
day.html Lead location labels with neighbourhood; drop ±7-day window jargon (#18) 2026-07-11 00:02:19 -07:00
day.js Picker map: smaller labels, darker roads; location label coords→place (#27) 2026-07-11 08:35:43 +00:00
index.html Stack the location head context top-down; drop sq-mi-cell wording (#19) 2026-07-11 07:10:46 +00:00
legend.html Add comfort-temperature compare view; simplify Feels calendar filter (#9) 2026-07-10 19:58:56 -07:00
mappicker.js Picker map: smaller labels, darker roads; location label coords→place (#27) 2026-07-11 08:35:43 +00:00
nav.js Add a °F/°C unit toggle to the header (#23) 2026-07-11 08:10:40 +00:00
style.css Picker map: smaller labels, darker roads; location label coords→place (#27) 2026-07-11 08:35:43 +00:00