From 0da031fae4952ca8259b52833fe3cce6e4738e9d Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 2 Oct 2023 15:07:08 -0400 Subject: [PATCH] Fixes bug of messages not reappearing after memory trimming. --- .../main/java/com/vitorpamplona/amethyst/ServiceManager.kt | 2 ++ .../vitorpamplona/amethyst/service/NostrChatroomDataSource.kt | 4 ++++ .../java/com/vitorpamplona/amethyst/service/relays/EOSE.kt | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt index 134f29d91f..dadff2a6e9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ServiceManager.kt @@ -142,6 +142,8 @@ object ServiceManager { account?.let { LocalCache.pruneOldAndHiddenMessages(it) + NostrChatroomDataSource.clearEOSEs(it) + LocalCache.pruneHiddenMessages(it) LocalCache.pruneContactLists(accounts) LocalCache.pruneRepliesAndReactions(accounts) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrChatroomDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrChatroomDataSource.kt index 5a30c1a6ba..1f796113ca 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrChatroomDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrChatroomDataSource.kt @@ -56,6 +56,10 @@ object NostrChatroomDataSource : NostrDataSource("ChatroomFeed") { } } + fun clearEOSEs(account: Account) { + latestEOSEs.removeDataFor(account.userProfile()) + } + val inandoutChannel = requestNewChannel { time, relayUrl -> latestEOSEs.addOrUpdate(account.userProfile(), withRoom.hashCode().toString(), relayUrl, time) } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/EOSE.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/EOSE.kt index 19ed34f6db..6c5d4bb1d7 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/EOSE.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/EOSE.kt @@ -43,4 +43,8 @@ class EOSEAccount(var users: Map = emptyMap()) { followList.addOrUpdate(listCode, relayUrl, time) } } + + fun removeDataFor(user: User) { + users = users.minus(user) + } }