TCP API: 8 STATION commands + headless autoreply confirmation#207
Merged
Conversation
- networkMessage.cpp: MODE.GET_CONFIG, SET_AUTO_REPLY, SET_JS8HB, SET_HBACK, SET_MULTI_DECODER, SET_HB_INTERVAL, SET_HB_TIMER, SEND_HB - mainwindow.cpp/h: confirmThenEnqueueMessage() sends TCP push instead of SelfDestructMessageBox (headless/xvfb compatible) - Configuration.cpp/h: autoreply_confirmation accessor Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
wmiler
reviewed
Mar 2, 2026
wmiler
reviewed
Mar 2, 2026
wmiler
reviewed
Mar 2, 2026
BrunoKlu
added a commit
to BrunoKlu/JS8Call-improved
that referenced
this pull request
Mar 2, 2026
Applique les memes corrections que PRs JS8Call-improved#207/JS8Call-improved#208/JS8Call-improved#209 sur la branche qmx-pi : MODE.* → STATION.* pour les commandes config, FILTER.* → RX.* pour les commandes filtre, @note API 2.6+ sur tous les @brief, et traduction commentaires francais → anglais. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
|
Ok, looks pretty good. I'm going to make you do one more thing, it's just a cut'n'paste tho, so not much. :) |
Closed
Closed
Closed
Collaborator
|
@BrunoKlu Haven't seen an update yet. If you could get to this soon, it would be appreciated. This is blocking your other PRs, and I have another PR from somebody else that is right behind yours. Thanks. |
Contributor
Author
|
Will do that tomorrow ! |
Move all STATION.* command handlers (GET_CONFIG, SET_AUTO_REPLY, SET_JS8HB, SET_HBACK, SET_MULTI_DECODER, SET_HB_INTERVAL, SET_HB_TIMER, SEND_HB, SET_AUTOREPLY_CONFIRMATION, AUTOREPLY_CONFIRM_RESPONSE) from the MODE section to the STATION section, just before the End STATION Commands marker. Update summary comment block with new command list. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
wmiler
approved these changes
Mar 7, 2026
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
Adds 8 new MODE TCP commands for remote configuration and replaces the blocking
SelfDestructMessageBoxautoreply confirmation with a TCP push mechanism, making JS8Call fully controllable in headless (xvfb) environments.New TCP commands
MODE.GET_CONFIGMODE.SET_AUTO_REPLYMODE.SET_JS8HBMODE.SET_HBACKMODE.SET_MULTI_DECODERMODE.SET_HB_INTERVALMODE.SET_HB_TIMERMODE.SEND_HBHeadless autoreply confirmation
confirmThenEnqueueMessage()now sends anAUTOREPLY.CONFIRMTCP push with the pending message details, and waits for anAUTOREPLY.CONFIRM_RESPONSETCP command (accept/reject). This replacesSelfDestructMessageBoxwhich blocks the Qt event loop under xvfb.Changes
JS8_Mainwindow/networkMessage.cppJS8_UI/mainwindow.cppJS8_UI/mainwindow.hJS8_UI/Configuration.cppautoreply_confirmation()accessorJS8_UI/Configuration.h183 insertions, 19 deletions across 5 files.
Motivation
When running JS8Call headless via
xvfb-run(e.g. on a Raspberry Pi), there is no way to change mode settings or respond to autoreply confirmations — the Settings dialog and MessageBox require a display. These TCP commands enable remote/web interfaces to fully control JS8Call without VNC.Testing