The callsign on my account is validated, stored and then used for nothing #69

Open
opened 2026-11-03 18:52:34 +00:00 by skippy-bot · 0 comments

Problem

Registration requires an amateur callsign, the settings page validates and stores it, and no code path reads it. A signed-in user's own station is not marked, not tracked on arrival and not linked from the account, so the one piece of identity the product insists on has no effect on the map.

Evidence

At 2f150f66:

  • lib/aprsme/accounts/user.ex:11 declares field(:callsign, :string), :73 makes it required and :74 validates the ITU shape.
  • lib/aprsme/accounts/user.ex:191 is callsign_changeset/3, and lib/aprsme_web/live/user_settings_live.ex:151 renders the edit field.
  • A grep across lib finds no reader of the signed-in user's callsign: the map takes tracked_callsign from URL parameters (lib/aprsme_web/live/map_live/index.ex:42 for the trail window and lib/aprsme_web/live/map_live/events.ex:207 for the track)`, never from the scope.

Proposed behavior

  • A signed-in visitor's own callsign is offered as the default tracked station (a chip or a one click Track), without forcing a track on every visit.
  • The account page links to that station's info page.
  • The map marks the user's own station distinctly when it is in view.

Why it matters

An APRS user opens this site to watch their own station and their club's. Today every visit starts with an empty track and a manual search, and the callsign they typed at signup does nothing.

Acceptance criteria

  • A signed-in user can start tracking their own callsign in one action without typing it.
  • The account settings page links to their station's info page.
  • A visitor with no callsign on file sees no change.
  • Tests cover a signed-in user with and without a callsign.

Effort: M
Lens: product

## Problem Registration requires an amateur callsign, the settings page validates and stores it, and no code path reads it. A signed-in user's own station is not marked, not tracked on arrival and not linked from the account, so the one piece of identity the product insists on has no effect on the map. ## Evidence At `2f150f66`: - `lib/aprsme/accounts/user.ex:11` declares `field(:callsign, :string)`, `:73` makes it required and `:74` validates the ITU shape. - `lib/aprsme/accounts/user.ex:191` is `callsign_changeset/3`, and `lib/aprsme_web/live/user_settings_live.ex:151` renders the edit field. - A grep across `lib` finds no reader of the signed-in user's callsign: the map takes `tracked_callsign` from URL parameters (`lib/aprsme_web/live/map_live/index.ex:42` for the trail window and `lib/aprsme_web/live/map_live/events.ex:207` for the track)`, never from the scope. ## Proposed behavior - A signed-in visitor's own callsign is offered as the default tracked station (a chip or a one click Track), without forcing a track on every visit. - The account page links to that station's info page. - The map marks the user's own station distinctly when it is in view. ## Why it matters An APRS user opens this site to watch their own station and their club's. Today every visit starts with an empty track and a manual search, and the callsign they typed at signup does nothing. ## Acceptance criteria - [ ] A signed-in user can start tracking their own callsign in one action without typing it. - [ ] The account settings page links to their station's info page. - [ ] A visitor with no callsign on file sees no change. - [ ] Tests cover a signed-in user with and without a callsign. **Effort:** M **Lens:** product
Sign in to join this conversation.
No description provided.