- Aprsme.Packet.put_phg_fields: dispatch on the shape of the phg value (map / 4-char binary / anything else) via put_phg_fields_for/2. - Aprsme.Packet.get_field_value: remove the catch-all nil clause. After the put_phg_fields refactor, dialyzer can prove every call site passes a map and flagged the fallback as unreachable — so it's gone, and a future mistyped caller now fails loudly instead of silently. - LogSanitizer.sanitize_map: extract redact_field/2 for readability. - DeviceIdentification.pattern_matches?: match_pattern/3 dispatched on String.contains?/2 keeps the rescue tight around the regex path. - InfoLive.Show: get_received_at pattern-matches on key shape; format_distance splits locale × range via four format_*_distance helpers; calculate_course pipes through normalize_bearing/1. Adds 15 tests exercising the InfoLive.Show helpers (imperial vs. metric formatting, cardinal bearings, haversine symmetry, Decimal inputs). Coverage 67.43 → 67.72%. |
||
|---|---|---|
| .. | ||
| channels | ||
| controllers | ||
| integration | ||
| live | ||
| plugs | ||
| aprs_symbol_test.exs | ||
| time_helpers_test.exs | ||
| time_utils_test.exs | ||
| weather_units_test.exs | ||