prop/lib/microwaveprop_web
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
..
components Cache /contacts, fix map blink, make mode optional 2026-04-12 12:47:25 -05:00
controllers Serve /contacts/map payload via HTTP endpoint, parallel hydrate 2026-04-12 13:10:51 -05:00
live Stream contact detail sections in as each enrichment loads 2026-04-12 14:09:45 -05:00
plugs fix enrichment 2026-04-02 15:30:41 -05:00
endpoint.ex Suppress health check request logs 2026-04-06 11:55:01 -05:00
gettext.ex initial 2026-03-28 11:28:47 -05:00
router.ex Serve /contacts/map payload via HTTP endpoint, parallel hydrate 2026-04-12 13:10:51 -05:00
telemetry.ex initial 2026-03-28 11:28:47 -05:00
user_auth.ex Beacon power in mW, settings tweaks 2026-04-08 12:45:35 -05:00