overwrite each other in RX pane (textEditRX)
Context:
When multiple stations reply to a group-addressed query (i.e.
"@GROUP QUERY MSGS") within the same second, their replies share an
identical rendered timestamp string in textEditRX. The avoid
duplicate line logic in processCommandActivity() searched backward
for that timestamp string alone and erased whatever block it found,
with no check that the found block actually belonged to the same
sender. With enough replies landing in one processing tick, each new
reply erased the previous different station's line, leaving only
the last reply visible in textEditRX (the incoming MSG pane)
Thanks to John W2KI for reporting this bug and testing the fix
Adds an indication for the number of available messages to the response to the MSGS? query, HB response, and message response in addition to the ID of the next available message.
Changing NEXT MSG ID logic to send first available ID instead of next in list when sending messages
Both value and TEXT fields now contain the message body without
the FROM prefix, making the API consistent and useful for clients.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
FROM prefix
The previous fix incorrectly used d.text which is empty for simple
directed messages. This fix properly constructs valueWithoutFrom
from the message components (d.to, d.cmd, d.extra, d.text).
The value field in RX.DIRECTED messages was using the formatted 'text'
variable which includes the FROM callsign prefix. When TCP clients
reconstruct messages as "FROM: value", this resulted in duplicate
callsigns (e.g., "W9TEK: W9TEK: KC1QKM SNR -05").
Changed the value parameter from 'text' to 'd.text' (the raw message
body without FROM prefix) to match the TEXT parameter behavior.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
rename remaining files that didn't match their class definitions
relocate the explicit UI_Constructor member function to JS8_MainWindow
relocate the processBufferedActivity member function to JS8_MainWindow
format affected files with LLVM clang-format
Set default APRS inbound relay to off
Fix layout of General->Networking & Autoreply tab in Settings
TEXT param contained the full formatted message including FROM prefix,
causing duplication when clients reconstruct the message. Changed to
use d.text (message body) instead.
Co-authored-by: Manuel Ochoa <mochoa@protonmail.com>