Merge pull request #2127 from vitorpamplona/claude/faster-broadcast-tracker-disappear-Rm4p9

Improve broadcast completion detection and dismissal timing
This commit is contained in:
Vitor Pamplona
2026-04-04 09:47:40 -04:00
committed by GitHub
@@ -37,7 +37,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.vitorpamplona.amethyst.service.broadcast.BroadcastEvent 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.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
@@ -69,8 +68,12 @@ fun DisplayBroadcastProgress(accountViewModel: AccountViewModel) {
LaunchedEffect(activeBroadcasts) { LaunchedEffect(activeBroadcasts) {
// this effect gets restarted every time the active broadcast changes // this effect gets restarted every time the active broadcast changes
delay((BroadcastTracker.TIMEOUT_SECONDS + 1) * 1000) val allComplete = activeBroadcasts.all { it.isComplete }
accountViewModel.broadcastTracker.clear() if (allComplete) {
// All relays responded — dismiss quickly
delay(3_000)
accountViewModel.broadcastTracker.clear()
}
} }
} else { } else {
MultiBroadcastDetailsSheet( MultiBroadcastDetailsSheet(