feat(desktop): add DM broadcast status banner and audit fixes

- Show relay confirmation URLs in broadcast banner
- Add relayUrls field to DmBroadcastStatus.Sent
- Wire send progress tracking with per-relay confirmations
- Fix empty chatroom Loading state transition
- Improve NewDmDialog npub metadata resolution
- Harden sendAndWaitForResponse timeout handling

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
nrobi144
2026-02-23 06:53:53 +02:00
parent 35a15f0462
commit 78aa7962e9
10 changed files with 557 additions and 155 deletions
@@ -127,6 +127,15 @@ fun DmBroadcastBanner(
trackColor = MaterialTheme.colorScheme.surfaceVariant,
)
}
if (status is DmBroadcastStatus.Sent && status.relayUrls.isNotEmpty()) {
Text(
text = status.relayUrls.joinToString(", "),
style = MaterialTheme.typography.bodySmall,
color = contentColor.copy(alpha = 0.7f),
modifier = Modifier.padding(start = 28.dp),
)
}
}
}
}
@@ -38,6 +38,7 @@ sealed class DmBroadcastStatus {
data class Sent(
val relayCount: Int,
val relayUrls: List<String> = emptyList(),
) : DmBroadcastStatus()
data class Failed(