prop/lib/microwaveprop/workers
Graham McInitre b65d3227cd feat: clickable band filters on PSK Reporter tab, fix all test & credo issues
PSK Reporter tab:
- Fix handle_info(:refresh_spots) to use start_async instead of blocking
- Add require Logger to fix compiler warning
- Make band counts clickable: clicking a band filters table to that band's
  last 100 spots; clicking again clears the filter
- Highlight active filter badge, show Clear filter link when filtered
- Update subtitle and empty state dynamically based on filter
- Filter persists across auto-refresh (60s)
- Fix empty state condition to render immediately without async guard

Credo fixes (mix credo --strict now passes):
- weather_map_component.ex: replace @doc false with @impl true (missing spec)
- contact_weather_enqueue_worker.ex: extract hrrr_placeholder_for_contact/3
  to reduce nesting depth
- profile_lookup.ex: replace MapSet+then+reject pattern with Enum.filter
  to fix both nesting depth and cyclomatic complexity

Test infrastructure fixes:
- Fix Release.migrate/0 to handle repos without migration directories
  (AprsRepo in test has no migrations)
- Fix insert_spot helper: add missing 19th param for inserted_at/updated_at
- Fix String.index/2 -> :binary.match for Elixir 1.20 compat
- Fix DateTime.add!/3 -> DateTime.add/3 for Elixir 1.20 compat
- Fix substring matching in limit test (GRID1 matched GRID10)
- Add Process.sleep+render calls for async band_counts in new tests
- Replace impossible 'empty state for filtered band' test with
  'switching band filter updates table' test
- All 19 tests pass, mix credo --strict clean
2026-07-20 13:01:00 -05:00
..
admin_task_worker.ex updates 2026-06-16 12:38:08 -05:00
backfill_enqueue_worker.ex updates 2026-06-16 12:38:08 -05:00
canadian_sounding_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00
common_volume_radar_worker.ex updates 2026-06-16 12:38:08 -05:00
contact_import_worker.ex updates 2026-06-16 12:38:08 -05:00
contact_position_backfill_worker.ex updates 2026-06-16 12:38:08 -05:00
contact_weather_enqueue_worker.ex feat: clickable band filters on PSK Reporter tab, fix all test & credo issues 2026-07-20 13:01:00 -05:00
gefs_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00
grid_cache_prune_worker.ex updates 2026-06-16 12:38:08 -05:00
hrdps_grid_worker.ex updates 2026-06-16 12:38:08 -05:00
hrrr_native_grid_worker.ex updates 2026-06-16 12:38:08 -05:00
iemre_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00
ionosphere_fetch_worker.ex fix: handle GIRO API 404 cleanly — don't dump raw HTML into logs 2026-07-16 07:17:52 -05:00
mechanism_classify_worker.ex updates 2026-06-16 12:38:08 -05:00
narr_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00
nexrad_worker.ex updates 2026-06-16 12:38:08 -05:00
partition_maintenance_worker.ex updates 2026-06-16 12:38:08 -05:00
propagation_grid_worker.ex updates 2026-06-16 12:38:08 -05:00
propagation_prune_worker.ex fix: ensure all unused historical NFS data gets cleaned up 2026-07-20 09:27:36 -05:00
pskr_calibration_worker.ex updates 2026-06-16 12:38:08 -05:00
pskr_recalibration_worker.ex updates 2026-06-16 12:38:08 -05:00
radar_frame_worker.ex updates 2026-06-16 12:38:08 -05:00
rover_mission_backfill_worker.ex updates 2026-06-16 12:38:08 -05:00
rover_mission_reconcile_worker.ex updates 2026-06-16 12:38:08 -05:00
rover_path_profile_worker.ex updates 2026-06-16 12:38:08 -05:00
solar_index_worker.ex updates 2026-06-16 12:38:08 -05:00
space_weather_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00
station_elevation_worker.ex perf: batch fixes for site-wide audit — indexes, N+1, streams, atomicity 2026-07-16 07:31:19 -05:00
terrain_profile_worker.ex updates 2026-06-16 12:38:08 -05:00
user_home_qth_lookup_worker.ex updates 2026-06-16 12:38:08 -05:00
weather_fetch_worker.ex updates 2026-06-16 12:38:08 -05:00