prop/test/microwaveprop/radio
Graham McIntire cd3950f366
feat(contacts): add free-form notes field
Operators want a place to jot observations that aren't captured by
the structured fields — weather anecdotes, propagation mode
commentary, equipment details, band conditions. Add a text column
on contacts plus the two ingest paths users submit through:

  * /submit single-contact form gets a 3-row textarea under the
    other fields. Optional, max 2000 chars, with a live length cap
    via maxlength. Whitespace-only input collapses to NULL so the
    column reflects "no notes" rather than an empty string.
  * CSV importer recognises a `notes` (or `note`) column via the
    existing header_aliases table and flows values straight through
    submission_changeset. Sample template gets a matching example
    row with embedded commas so the quoted-field round-trip is
    exercised on download.

ADIF import and the refinement/refinement-notify paths are out of
scope — users specifically asked for CSV + single-contact. Tests
cover the changeset (accept/blank/over-length), CSV header parsing
(plain + RFC-4180 quoted), and LiveView form submit end-to-end.
2026-04-23 11:02:27 -05:00
..
adif_import_test.exs feat(propagation): per-contact mechanism classification 2026-04-18 10:42:08 -05:00
band_resolver_property_test.exs test(property): add property tests for parsing + domain conversions 2026-04-21 13:57:47 -05:00
band_resolver_test.exs Rename 9cm band 3456 → 3400 2026-04-16 12:40:38 -05:00
callsign_client_test.exs test: cover geo, qrz record, callsign client 2026-04-16 14:09:44 -05:00
contact_edit_test.exs feat(contacts): private flag with scope-aware visibility 2026-04-18 17:49:01 -05:00
contact_submission_test.exs feat(contacts): add free-form notes field 2026-04-23 11:02:27 -05:00
contact_test.exs feat(contacts): antenna height fields feed terrain analysis 2026-04-18 15:48:14 -05:00
csv_import_test.exs feat(contacts): add free-form notes field 2026-04-23 11:02:27 -05:00
edit_notifier_test.exs test: cover radio/edit_notifier 2026-04-16 14:58:55 -05:00
enrichment_status_test.exs Add Tier 1 test coverage: EnrichmentStatus, Markdown, health, RemoteIp, Maidenhead 2026-04-06 10:15:38 -05:00
import_matcher_test.exs CSV/ADIF import: upsert existing contacts on grid/mode refinement 2026-04-16 10:57:37 -05:00
import_run_test.exs feat(import): async CSV import with progress-tracking schema 2026-04-17 09:31:22 -05:00
maidenhead_property_test.exs test(property): add property tests for parsing + domain conversions 2026-04-21 13:57:47 -05:00
maidenhead_test.exs Add /beacons CRUD and /users admin page 2026-04-08 12:01:45 -05:00