aprs.me/lib/aprsme_web/live/map_live
Graham McIntire 1e32ce7051
Improve test coverage to 87% and point vendor/aprs submodule at codeberg
Coverage:
- Adds focused tests across 13 files covering previously-uncovered
  branches: Packet changeset normalisation (course, wind_direction,
  struct data_extended); Packets store_packet edge cases (nested
  position shapes, ssid handling, string-keyed raw_packet);
  DeviceIdentification HTTP success/404 via Req plug stub; ResendAdapter
  catch-all body, deliver_many, nil/binary formatters; ApiDocsLive
  packets with missing fields; AprsSymbol normalize helpers;
  BadPacketsLive refresh and postgres_notify; MobileChannel handle_info
  catch-all and postgres_packet path; PacketProcessor existing-marker
  movement detection; PacketReplay sanitize_value type clauses;
  InsertOptimizer GenServer lifecycle and negative-duration metric;
  PageController shutdown-handler integration; UrlParams delegated
  helpers.
- mix.exs: configure test_coverage with summary threshold of 87 and
  ignore_modules for test fixtures and macro-only template modules.

Bug fix:
- MapLive.Index handle_info: add a clause for the raw {:new_deployment,
  _} tuple. Phoenix.PubSub.broadcast delivers the raw payload to plain
  subscribers, but the existing handler only matched the %Broadcast{}
  fast-lane wrapper. DeploymentNotifier broadcasts via the raw path,
  which crashed the LiveView under test concurrency.

Submodule:
- Update .gitmodules vendor/aprs URL from
  https://github.com/aprsme/aprs.git to
  ssh://git@codeberg.org/gmcintire/aprs.git.
2026-05-05 15:18:28 -05:00
..
components.ex vendor heroicons SVGs, remove GitHub dependency 2026-03-03 13:34:23 -06:00
data_builder.ex refactor: dedupe utilities, prefer pattern matching, tighten specs 2026-04-28 14:18:58 -05:00
display_manager.ex fix: stabilize moving station tracking 2026-03-26 18:48:43 -05:00
historical_loader.ex perf(packets): keyset-based pagination for recent-packet queries 2026-04-21 10:15:04 -05:00
index.ex Improve test coverage to 87% and point vendor/aprs submodule at codeberg 2026-05-05 15:18:28 -05:00
navigation.ex refactor: pattern-match over conditionals in Navigation and InsertOptimizer 2026-04-23 13:38:24 -05:00
packet_batcher.ex types: add @type t to last two untyped GenServer structs 2026-04-21 10:18:26 -05:00
packet_processor.ex refactor(packet_processor): split cond/if into multi-clause helpers 2026-04-23 13:51:17 -05:00
packet_utils.ex Remove dead PostGIS code, deduplicate utilities, and simplify module hierarchy 2026-02-20 13:39:07 -06:00
popup_component.ex integrate /:call to main page 2025-07-13 10:36:58 -05:00
rf_path.ex Batch push_events, RF path queries, and ETS tuning for hot paths 2026-02-20 08:30:54 -06:00
url_params.ex chore(dialyzer): enable stricter flags and fix 97 resulting findings 2026-04-21 10:07:01 -05:00