Yo3gnd live qso log#218
Open
yo3gnd wants to merge 35 commits into
Open
Conversation
Replace the custom Android UDP bridge with react-native-udp and keep the WSJT-X wire encoding in JS. Use a small patch-package patch to add a one-shot sendDirect datagram path in react-native-udp so Android avoids the library's bound MulticastSocket broadcast path, which hung on real devices. Also remove the old Android UDP module entirely, expose the UDP and N1MM settings on iPhone, add the iOS local-network permission string, and reword N1MM "broadcast" copy to "message" on iPhone where the transport is unicast-oriented.
Author
|
Small follow-up, because the original PR body is now a touch stale. The UDP side has been moved onto react-native-udp, with a small patch-package fix for the actual send path, and the old custom Android UDP bridge has been removed entirely. The menu wording was also cleaned up so both platforms now present this as Live QSO logging, and N1MM Message is used consistently instead of the earlier broadcast-heavy wording. Added iPhone compatibility. The UDP and N1MM settings are now exposed as well, with NSLocalNetworkUsageDescription added for local-network access. The companion docs PR was updated to match the new menu tree and platform notes. |
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.
Live QSO integrations: HTTP, UDP ADIF / WSJT-X, and N1MM-style broadcast
PoLo already exports well, but exporting later is not the same thing as logging live.
This PR adds a live outbound integration layer for operators who use PoLo with other software or hardware. In practice that usually means portable operation rather than a fixed shack setup: a phone in a park, on a summit, in a car, or on a DXpedition-style activation, with something else that wants to see the QSO as it happens.
What this adds
Why this is useful
This is mostly about removing awkward glue from otherwise ordinary operating.
Scope and design choices
This is intentionally a live interoperability feature, not a sync system.
UDP is Android-only for now. The repo did not have a cross-platform UDP socket layer, and iOS UDP, especially broadcast-style behaviour, comes with extra platform friction anyway. The UI is gated accordingly.
Implementation notes
Validation
This was tested on Android against N1MM, Log4OM, DXKeeper, HRD, Swisslog, and AC Log, covering raw ADIF, WSJT-X, and N1MM-style XML. Targeted unit tests were added for ADIF request splitting, WSJT-X message shaping, N1MM XML generation, queue filtering / previous-QSO context, and settings defaults and normalization.
One awkward note: the repo-wide lint/test baseline is already red outside this branch. The targeted tests added here pass.
There is also a companion docs PR covering the user-facing setup for the tested integrations.
Regarding LoFi Sync: This feature mirrors live logging actions to external consumers in real time. Ham2K LoFi Sync solves a different problem: account-linked cloud sync, managed restore onto a new device, and continuity across devices. A user will, of course, point these transports at software running back home, on a nearby laptop, or in a cloud-hosted logger, and in that limited sense it can become part of a personal backup routine. Even so, I do not think that meaningfully overlaps with Ham2K LoFi Sync. This is outbound mirroring only, not a sync system, and it does not try to solve merge or account-switch workflows.