From 2384d1f58b794169c66b96bc11fbf3821ae2dbf2 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 4 Apr 2026 02:46:03 +0000 Subject: [PATCH] fix: reduce broadcast tracker dismiss delay from 11s to 3s after completion Previously the broadcast tracker always waited TIMEOUT_SECONDS + 1 (11s) before disappearing, even when all relays had already responded. Now it only auto-dismisses after 3 seconds once all relays have responded, and stays visible while broadcasts are still in progress. https://claude.ai/code/session_017KzfovYfAWCgrwMy8RWLb9 --- .../amethyst/ui/broadcast/DisplayBroadcastProgress.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/broadcast/DisplayBroadcastProgress.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/broadcast/DisplayBroadcastProgress.kt index 45a1b709e..47f92cef8 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/broadcast/DisplayBroadcastProgress.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/broadcast/DisplayBroadcastProgress.kt @@ -37,7 +37,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.vitorpamplona.amethyst.service.broadcast.BroadcastEvent -import com.vitorpamplona.amethyst.service.broadcast.BroadcastTracker import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import kotlinx.collections.immutable.ImmutableList @@ -69,8 +68,12 @@ fun DisplayBroadcastProgress(accountViewModel: AccountViewModel) { LaunchedEffect(activeBroadcasts) { // this effect gets restarted every time the active broadcast changes - delay((BroadcastTracker.TIMEOUT_SECONDS + 1) * 1000) - accountViewModel.broadcastTracker.clear() + val allComplete = activeBroadcasts.all { it.isComplete } + if (allComplete) { + // All relays responded — dismiss quickly + delay(3_000) + accountViewModel.broadcastTracker.clear() + } } } else { MultiBroadcastDetailsSheet(