Repository navigation
Add ARRL Field Day exchange mode - #121
Merged
Merged
Conversation
Model class and section as normal station attributes so existing exchange and fill workflows can train realistic, state-correlated contacts. Co-authored-by: Cursor <cursoragent@cursor.com>
Cover section correlation, validation, fills, cut numbers, persistence, repeated contacts, and responsive browser behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
Describe the new mode, its persisted exchange settings, and the manual cut-number verification gate. Co-authored-by: Cursor <cursoragent@cursor.com>
Deploying morsewalker with
|
| Latest commit: |
a218fe5
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://24958f06.morsewalker.pages.dev |
| Branch Preview URL: | https://v1-feature-19-field-day.morsewalker.pages.dev |
Shorten labels, place POTA before Field Day, and fit all own-station inputs on one desktop row to avoid awkward wrapping. Co-authored-by: Cursor <cursoragent@cursor.com>
Stack the heading below the md breakpoint and compact button padding so all six modes stay on one row throughout the small-width range. Co-authored-by: Cursor <cursoragent@cursor.com>
Send the operator's class and section immediately after the caller's callsign to match the intended Field Day flow. Co-authored-by: Cursor <cursoragent@cursor.com>
Group universal controls before mode-specific exchange fields and preserve that hierarchy across responsive breakpoints. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep settings in two rows until 1200px so each field remains readable. Co-authored-by: Cursor <cursoragent@cursor.com>
Give CWT and SST results the same clear exchange-column label as Field Day. Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Aug 27, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a complete ARRL Field Day practice mode to v1, covering the running-station workflow from
CQ FDthrough class/section fills andTU.CL?,SEC?,AGN?, and closing workflowBackground and acknowledgements
Field Day practice has been one of Morse Walker's most-requested additions. It was originally suggested by Josh (WU7H), then independently requested or endorsed by NB7O, AI5BE, KQ4BFO, K0CEP, @priceguncowboy, @johnsonm, @ny4i, and one additional community member who preferred to remain private. Thank you all for making the need - and the desired operating flow - so clear.
A special thank you to @johnsonm for building and maintaining the original implementation in #71. That work established a complete Field Day flow, separate class and section entry, persistence, weighted exchanges, U.S./RAC/DX handling, and several important on-air correctness fixes. It provided both a working proof of concept and a substantial body of design research for this PR.
Thanks also to @jhollowe for the feedback that lower station counts should be weighted more heavily, and to @ny4i for hands-on testing, identifying the Canadian-section mismatch, and exploring real-result station data and combined class/section entry.
The v1 architecture has changed substantially, so this is a clean v1 implementation rather than a rebase or cherry-pick of #71. No #71 commits were cherry-picked, but its implementation and discussion significantly informed the design and correctness of #121. This PR also builds on the component-fill framework introduced in #119.
Follow-up work
#71 and its follow-up discussion contain several excellent ideas that are intentionally outside this core PR rather than being dropped:
R,RR,QSL,TNX,GL, and73These will remain explicit future-work candidates after the core mode lands.
Data sources
Test plan
npm run verifynpx playwright testCloses #19
Closes #93