diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindAndAuthor.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindAndAuthor.kt index 996e4fb51..47459da9f 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindAndAuthor.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindAndAuthor.kt @@ -46,7 +46,7 @@ class LatestByKindAndAuthor( fun canDelete(): Boolean = _latest.subscriptionCount.value == 0 - suspend fun init() { + fun restart() { val latestNote = if ((kind in 10000..19999) || (kind in 30000..39999)) { LocalCache.addressables @@ -70,6 +70,12 @@ class LatestByKindAndAuthor( )?.event as? T } - _latest.tryEmit(latestNote) + if (_latest.value != latestNote) { + _latest.tryEmit(latestNote) + } + } + + suspend fun init() { + restart() } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindWithETag.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindWithETag.kt index 4b5af6888..ad2fc4fd2 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindWithETag.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/observables/LatestByKindWithETag.kt @@ -45,7 +45,7 @@ class LatestByKindWithETag( fun canDelete(): Boolean = _latest.subscriptionCount.value == 0 - suspend fun init() { + fun restart() { val latestNote = LocalCache.notes .maxOrNullOf( @@ -57,6 +57,12 @@ class LatestByKindWithETag( comparator = CreatedAtComparator, )?.event as? T - _latest.tryEmit(latestNote) + if (_latest.value != latestNote) { + _latest.tryEmit(latestNote) + } + } + + suspend fun init() { + restart() } }