v0.3.6: Network indicator, tab badges, message read tracking, UI cleanup

UI:
- Network indicator dot (black/red/yellow/green) + capability labels (Public, Server)
- Tab badges: Feed (new posts), My Posts (new engagement), People (online), Messages (unread)
- Stats bar removed — contextual counts in tab labels
- Message thread popup variable scoping fix

Message read tracking:
- mark_conversation_read on popover open, close, and message send
- Prevents re-notification of already-seen messages after app restart

Network:
- Added has_public_v6(), has_upnp() getters on Network
- NetworkSummaryDto includes hasPublicV6, hasPublicV4, hasUpnp

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Scott Reimers 2026-03-20 23:09:57 -04:00
parent a7e632de88
commit 24b78a8d41
7 changed files with 142 additions and 43 deletions

View file

@ -1441,6 +1441,9 @@ struct NetworkSummaryDto {
total_connections: usize,
n2_distinct: usize,
n3_distinct: usize,
has_public_v6: bool,
has_public_v4: bool,
has_upnp: bool,
}
#[tauri::command]
@ -1470,6 +1473,9 @@ async fn get_network_summary(state: State<'_, AppState>) -> Result<NetworkSummar
total_connections: conns.len(),
n2_distinct: n2,
n3_distinct: n3,
has_public_v6: node.network.has_public_v6(),
has_public_v4: node.network.is_anchor(),
has_upnp: node.network.has_upnp(),
})
}