[feat](trx-client): preserve server callsign/version and default to N0CALL

Carry server_callsign and server_version through from received
snapshots into the local RigState. Default client callsign is
N0CALL when not configured.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
2026-02-08 10:32:12 +01:00
parent 454ff94e47
commit a3b1702710
3 changed files with 14 additions and 1 deletions
+10 -1
View File
@@ -28,7 +28,7 @@ pub struct ClientConfig {
}
/// General application settings.
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
pub struct GeneralConfig {
/// Callsign or owner label to display in frontends
@@ -37,6 +37,15 @@ pub struct GeneralConfig {
pub log_level: Option<String>,
}
impl Default for GeneralConfig {
fn default() -> Self {
Self {
callsign: Some("N0CALL".to_string()),
log_level: None,
}
}
}
/// Remote connection configuration.
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(default)]
+2
View File
@@ -267,6 +267,8 @@ async fn async_init() -> DynResult<AppState> {
clar_on: None,
enabled: Some(false),
},
server_callsign: None,
server_version: None,
};
let (state_tx, state_rx) = watch::channel(initial_state);
+2
View File
@@ -180,6 +180,8 @@ pub fn state_from_snapshot(snapshot: trx_core::RigSnapshot) -> RigState {
clar_on: None,
enabled: snapshot.enabled,
},
server_callsign: snapshot.server_callsign,
server_version: snapshot.server_version,
}
}