prop/lib/microwaveprop_web/live
Graham McIntire 253adaf89b Cache /weather grid, defer contact show mount, cache stats
- Add Weather.GridCache: ETS cache of derived HRRR grid rows keyed by
  valid_time, cluster-synced via PubSub. Eagerly warmed from
  PropagationGridWorker after each upsert so /weather map pan/zoom and
  weather_point_detail hit zero DB on warm cache.
- Replace latest_weather_grid DB query path with cache-first lookup +
  DB fallback. hrrr_profiles is 42M rows partitioned; pulling 3-10k
  rows per viewport on every pan was the main cost.
- ContactLive.Show: defer the heavy enrichment loads (weather, solar,
  HRRR, terrain, IEMRE, elevation profile, ITU-R propagation analysis,
  data_sources) into a handle_info(:hydrate) that runs after the shell
  renders. Initial mount now returns nil placeholders; template already
  had :if guards for all of them. Shell-to-first-paint goes from
  ~500ms-2s down to ~20ms.
- Cache fetch_queue_counts for 5s in ContactLive.Show — oban_jobs group
  by query was running on every contact page view.
- Backfill stats: wrap count_unprocessed, fetch_stats, fetch_db_stats
  in Microwaveprop.Cache with 2-5s TTLs; bump refresh debounce from 1s
  to 2s so bulk enrichment events don't thrash the DB.
2026-04-12 12:55:50 -05:00
..
admin Add contact edit approval system with admin review queue 2026-04-11 16:15:49 -05:00
beacon_live Use daisyUI components for stats, alerts, cards, and tabs 2026-04-12 09:20:20 -05:00
contact_live Cache /weather grid, defer contact show mount, cache stats 2026-04-12 12:55:50 -05:00
user_management_live Add /beacons CRUD and /users admin page 2026-04-08 12:01:45 -05:00
about_live.ex Fix donate link contrast on dark mode info alert 2026-04-12 10:27:40 -05:00
algo_live.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00
backfill_live.ex Cache /weather grid, defer contact show mount, cache stats 2026-04-12 12:55:50 -05:00
contact_map_live.ex Cache /contacts, fix map blink, make mode optional 2026-04-12 12:47:25 -05:00
map_live.ex Add more caching to make the map feel instant 2026-04-12 12:26:25 -05:00
path_live.ex Improve light mode contrast for score colors and map controls 2026-04-11 14:55:21 -05:00
privacy_live.ex Trim footer and privacy copy 2026-04-09 12:30:10 -05:00
rover_live.ex Remove grid squares toggle from rover planner page 2026-04-10 17:31:23 -05:00
submit_live.ex Cache /contacts, fix map blink, make mode optional 2026-04-12 12:47:25 -05:00
weather_map_live.ex Map UX polish and populated About page 2026-04-08 17:06:53 -05:00