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
This commit is contained in:
Claude
2026-04-04 02:46:03 +00:00
parent e2a7f14c9a
commit 2384d1f58b
@@ -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(