prop/lib/microwaveprop_web/live/contact_live
Graham McIntire 7ed429364a Stream contact detail sections in as each enrichment loads
The contact detail page used to gather every enrichment source in one
parallel_hydrate/2 bundle and await all five tasks before updating any
assigns, so users watched the whole right-hand column flash in at the
speed of the slowest query (usually hrrr_profiles_for_path against a
42M-row table).

Each source now runs in its own start_async task: :weather, :solar,
:hrrr_path, :terrain, :iemre. Matching handle_async/3 clauses assign
the slot and call refresh_computed/1, which rebuilds elevation_profile
+ propagation_analysis + data_sources from whatever's currently in
assigns. Sections appear independently as their data arrives, and the
existing PubSub handlers (:hrrr_ready, :weather_ready, :terrain_ready,
:solar_ready) still pick up later backfill completions the same way
they did before.
2026-04-12 14:09:45 -05:00
..
index.ex Show submitter callsign on the contacts index 2026-04-09 14:02:30 -05:00
show.ex Stream contact detail sections in as each enrichment loads 2026-04-12 14:09:45 -05:00