Release · v2.28.1
Apply adversarial-review findings
fix(weather): apply adversarial-review findings
Details
Seven confirmed findings from a multi-lens review of the location-aware weather feature, each covered by a Playwright regression probe: - seasonal-background: repaint the static frame when live weather data lands while the loop is idle (prefers-reduced-motion previously kept the stale fallback-season frame forever), and after a resize (which blanks the canvas bitmap) when the loop is not running. - snow-gl: re-issue the snow state after a resize reseed so the reduced-motion static frame is redrawn instead of staying blank. - weather-service: publish a synchronous placeholder for the new city in wxSetLocation so consumers never see the previous city's reading attributed to the new location during the fetch gap. - location picker: invalidate in-flight geocode requests when the search box is cleared or the panel closes (stale responses could resurrect the dropdown), and return focus to the trigger button on selection so keyboard focus doesn't drop to <body> when the panel hides. - seasonal-background: sampleField now writes to a reused output slot instead of allocating an array per particle per frame. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mn7fa3Z4bpbSAj4edBnjXA
Files changed (4)
| frontend/client/ts/components/weather-location-picker.ts | +8 | −1 |
| frontend/client/ts/effects/seasonal-background.ts | +18 | −9 |
| frontend/client/ts/effects/snow-gl.ts | +7 | −1 |
| frontend/client/ts/effects/weather-service.ts | +4 | −0 |