Improve DX Cluster custom telnet flow, spot-time handling, and DX panel relative time#402
Open
echo-gravitas wants to merge 18 commits intoaccius:mainfrom
Open
Improve DX Cluster custom telnet flow, spot-time handling, and DX panel relative time#402echo-gravitas wants to merge 18 commits intoaccius:mainfrom
echo-gravitas wants to merge 18 commits intoaccius:mainfrom
Conversation
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.
PR Summary
This PR improves DX Cluster behavior end-to-end, especially for
source=custom, and adds relative spot time display in the DX panel.1) Fixed custom endpoint hangs
tryDXSpiderNode()that could leave/api/dxcluster/paths?source=custom...hanging indefinitely on connect/timeout/error paths.File:
server.js2) Added
.envsupport for custom telnet defaultssource=customnow supports backend defaults from environment/config:DX_CLUSTER_HOSTDX_CLUSTER_PORTDX_CLUSTER_CALLSIGNDX_CLUSTER_CALLSIGNCALLSIGN-56GUESTFiles:
server.js,.env.example3) Improved DX spot parsing (Telnet lines or HTML table format)
sh/dxtable output (not onlyDX de ...lines).File:
server.js4) Kept spots without coordinates in list data
File:
server.js5) Reworked
source=customto persistent telnet sessionsh/dx 25is sent once per session lifecycle (initial snapshot), not on every frontend poll.set/dxis sent on connect to keep live stream updates.source=customis explicitly selected.File:
server.js6) Added explicit command logging
sh/dx 25is sent, including host/port/callsign.logInfo, so visible withLOG_LEVEL=infoordebug.File:
server.js7) Sorting now uses spot time (
HHMMz) as primary sourceHH:MMzto UTC timestamp (with day rollover handling).File:
server.js8) DX panel: relative time display
File:
src/components/DXClusterPanel.jsx9) i18n updates for relative DX time
dxClusterPanel.relativeTimekey to all language files.Files:
src/lang/de.jsonsrc/lang/en.jsonsrc/lang/es.jsonsrc/lang/fr.jsonsrc/lang/it.jsonsrc/lang/ja.jsonsrc/lang/ko.jsonsrc/lang/nl.jsonsrc/lang/pt.jsonsrc/lang/sl.json10) Tooling and consistency updates
.editorconfigto enforce consistent base formatting across editors/IDEs..prettierrcto define a shared formatting standard for the codebase.package-lock.jsonfrom.gitignoreso lockfile changes are tracked in Git.11) Dependency reproducibility policy
npm ci(instead ofnpm install) to guarantee everyone uses the exact locked dependency tree.