member detail: structured display with addresses, connections, BGP summary and socket names

- Extend MEMBER_DETAIL_LINK_SIZE to 63B with 20B sock_name per link
- Replace link_count with links_up/links_down (two uint16) in sock snap
- Add BGP hop list collection via topo_node_best_hop_list, post as CHAT_EVT_BGP_INFO
- Add direct RTT summary text via same event
- Rework AccountList detail panel: header + QTextEdit with monospace layout
- Display protocol (TCP/UDP), socket name line, colored dots for connections
- Show [up/down] link counts for self listen sockets
- Remove * prefix from link count display in Android
This commit is contained in:
evgeny committed 2026-08-11 16:05:35 +03:00
1 parent 5a42741d06
commit fec3ea38a7
8 files changed
+217 -77

No files matched your search

@@ -269,7 +269,7 @@ private fun MemberDetailCard(
Box(Modifier.size(8.dp).clip(CircleShape).background(dot))
Spacer(Modifier.width(6.dp))
Text(
text = "*[${sk.linksUp}/${sk.linksDown}] ${sk.protocol} ${sk.ifName} ${sk.bindIp}:${sk.port}",
text = "[${sk.linksUp}/${sk.linksDown}] ${sk.protocol} ${sk.ifName} ${sk.bindIp}:${sk.port}",
fontFamily = FontFamily.Monospace,
fontSize = 13.sp,
color = Color.DarkGray
@@ -235,7 +235,7 @@ private fun GeneralSettingsTab(vm: ChatViewModel, dirty: Boolean, onDirty: (Bool
Text(s.protocol, style = MaterialTheme.typography.labelSmall, color = MaterialTheme.colorScheme.onSurfaceVariant)
if (s.linksUp + s.linksDown > 0) {
Spacer(Modifier.width(4.dp))
Text("*[${s.linksUp}/${s.linksDown}]", style = MaterialTheme.typography.labelSmall,
Text("[${s.linksUp}/${s.linksDown}]", style = MaterialTheme.typography.labelSmall,
color = MaterialTheme.colorScheme.onSurfaceVariant)
}
}