prop/lib
Graham McIntire ef4e63aef4
feat(map): render chrome immediately, load initial scores async
Two-stage mount splits the propagation map's first paint: the static
HTTP render still fetches scores synchronously so SEO/noscript shipping
gets real data baked into `data-scores`, but the websocket-connected
mount defers the potentially-slow fetch to `start_async/3`. Chrome
paints immediately; scores stream in via an `update_scores` push_event
once `handle_async(:initial_scores, ...)` resolves.

A small overlay (spinner on `:loading`, retry button on `:failed`)
uses `<.async_result>` so users can see state and recover from a
transient fetch error.
2026-04-21 14:18:43 -05:00
..
microwaveprop feat(observability): attach Oban exception telemetry tap 2026-04-21 14:13:53 -05:00
microwaveprop_web feat(map): render chrome immediately, load initial scores async 2026-04-21 14:18:43 -05:00
mix/tasks fix(build): inline dep-patch logic into mix.exs so it runs during deps.get 2026-04-21 14:06:24 -05:00
microwaveprop.ex initial 2026-03-28 11:28:47 -05:00
microwaveprop_web.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00