Merge pull request #2127 from vitorpamplona/claude/faster-broadcast-tracker-disappear-Rm4p9
Improve broadcast completion detection and dismissal timing
This commit is contained in:
+6
-3
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user