From d307bb0e49246078e4b673630d2e3599ee2a399b Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 31 May 2024 19:47:40 -0400 Subject: [PATCH] Fixes missing relays certain internal lists --- .../java/com/vitorpamplona/amethyst/model/Account.kt | 10 +++------- .../amethyst/service/NostrAccountDataSource.kt | 5 ++--- .../amethyst/ui/actions/RelaySelectionDialog.kt | 2 +- .../com/vitorpamplona/amethyst/ui/note/RelayCompose.kt | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt index 011911281..0e5755665 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Account.kt @@ -269,7 +269,7 @@ class Account( mappedRelaySet = mappedRelaySet.map { if (searchRelaySet.contains(it.url)) { - Relay(it.url, true, false, it.activeTypes + FeedType.SEARCH) + Relay(it.url, true, it.write || false, it.activeTypes + FeedType.SEARCH) } else { it } @@ -2606,18 +2606,14 @@ class Account( } fun activeGlobalRelays(): Array { - return (activeRelays() ?: convertLocalRelays()) + return connectToRelays.value .filter { it.activeTypes.contains(FeedType.GLOBAL) } .map { it.url } .toTypedArray() } fun activeWriteRelays(): List { - return (activeRelays() ?: convertLocalRelays()).filter { it.write } - } - - fun activeAllRelays(): List { - return ((activeRelays() ?: convertLocalRelays()).toList()) + return connectToRelays.value.filter { it.write } } fun isAllHidden(users: Set): Boolean { diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt index 62437f27a..7b8761b27 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt @@ -181,8 +181,7 @@ object NostrAccountDataSource : NostrDataSource("AccountData") { ?.followList ?.get(account.defaultNotificationFollowList.value) ?.relayList - ?: account.activeRelays()?.associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } - ?: account.convertLocalRelays().associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } + ?: account.connectToRelays.value.associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } return TypedFilter( types = COMMON_FEED_TYPES, @@ -214,7 +213,7 @@ object NostrAccountDataSource : NostrDataSource("AccountData") { ?.followList ?.get(account.defaultNotificationFollowList.value) ?.relayList - ?: account.activeRelays()?.associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } + ?: account.connectToRelays.value.associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } ?: account.convertLocalRelays().associate { it.url to EOSETime(TimeUtils.oneWeekAgo()) } return TypedFilter( diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt index a4cd084e2..73f142040 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/RelaySelectionDialog.kt @@ -79,7 +79,7 @@ fun RelaySelectionDialog( var relays by remember { mutableStateOf( - accountViewModel.account.activeAllRelays().map { + accountViewModel.account.connectToRelays.value.map { RelayList( relay = it, relayInfo = RelayBriefInfoCache.RelayBriefInfo(it.url), diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/RelayCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/RelayCompose.kt index 572700fac..15a8503a4 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/RelayCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/RelayCompose.kt @@ -114,7 +114,7 @@ private fun RelayOptions( val isNotUsingRelay = remember(userState) { - accountViewModel.account.activeRelays()?.none { it.url == relay.url } == true + accountViewModel.account.connectToRelays.value.none { it.url == relay.url } } if (isNotUsingRelay) {