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. |
||
|---|---|---|
| .. | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| microwaveprop.ex | ||
| microwaveprop_web.ex | ||