From c7eba6a620b6216cab653064febd4ff63efd952c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 11:01:08 +0000 Subject: [PATCH] fix(home): clear Home dot when any one home tab is read to the top MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous attempt lit the dot whenever *any* enabled home tab had unread items, so a user with all three tabs enabled who only scrolled through the Everything tab still saw the dot — HomeFollows / HomeFollowsReplies stayed at their old lastRead even though the same content had been read via Everything. Switch to "every enabled tab still has unread" — equivalently, reaching the top of any single enabled tab clears the dot. This matches the pre-bug behavior (where only the New Threads tab gated the dot) while still respecting users who only enable the Everything tab. --- .../amethyst/ui/screen/loggedIn/AccountViewModel.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 7d16847a78..984f8de5e8 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -438,9 +438,11 @@ class AccountViewModel( // HomeScreen falls back to the New Threads tab when the user disables every tab. threadsHas } else { - (showThreads && threadsHas) || - (showReplies && repliesHas) || - (showEverything && everythingHas) + // Dot stays lit only when every enabled tab still has unread items. + // Reaching the top of any single tab marks its newest item read and clears the dot. + (!showThreads || threadsHas) && + (!showReplies || repliesHas) && + (!showEverything || everythingHas) } }