fix(ui): give rx_snr real presence semantics end to end (#6523)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
James RichandClaude Opus 5 authored and GitHub committed 2026-07-30 16:40:41 +00:00
1 parent 4846425ff1
commit 2d20cd8a47
46 files changed
+2194 -148

No files matched your search

@@ -122,7 +122,7 @@ fun DiscoveryOsmMap(
position = nodeGeoPoint
setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM)
title = node.longName ?: node.shortName ?: "Unknown"
snippet = "SNR: ${node.snr} dB / RSSI: ${MetricFormatter.rssi(node.rssi)}"
snippet = "SNR: ${MetricFormatter.snr(node.snr)} / RSSI: ${MetricFormatter.rssi(node.rssi)}"
val drawableId =
if (node.isSensorNode) {
@@ -126,10 +126,10 @@ data class GetNodeDetailsResponse(
val hardwareModel: String,
/** Firmware version string. */
val firmwareVersion: String,
/** Signal-to-noise ratio of strongest signal. */
val snr: Float,
/** Received signal strength indicator in dB. */
val rssi: Int,
/** Signal-to-noise ratio in dB of the strongest signal, or null if this node has no reading. */
val snr: Float?,
/** Received signal strength indicator in dBm, or null if this node has no reading. */
val rssi: Int?,
/** Number of hops away from local node (-1 if unknown). */
val hopsAway: Int,
/** Channel index this node is on. */
@@ -126,7 +126,7 @@ fun DiscoveryGoogleMap(
MarkerComposable(
state = rememberUpdatedMarkerState(position = nodeLatLng),
title = node.longName ?: node.shortName ?: "Unknown",
snippet = "SNR: ${node.snr} dB / RSSI: ${MetricFormatter.rssi(node.rssi)}",
snippet = "SNR: ${MetricFormatter.snr(node.snr)} / RSSI: ${MetricFormatter.rssi(node.rssi)}",
) {
DiscoveryMarkerChip(label = node.shortName ?: "?", color = markerColor, icon = nodeIcon)
}