From fc190ee47052262f61e1a47190536e0eb16b75bc Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 13:17:02 +0000 Subject: [PATCH] fix: only say a list has private members when nothing else is on the card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Most lists keep something private, so the note appeared on nearly every card and said nothing the reader could act on. It earns its place only where the card would otherwise be a title and blank space — an all-private list, which is what divine.video publishes — so that it reads as closed rather than broken. RenderVideoCurationSet already gated on an empty member list; this brings the shared frame in line with it. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01JLEq2G6U29mKV8cfSTamZ9 --- .../amethyst/ui/note/types/lists/ListCard.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/lists/ListCard.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/lists/ListCard.kt index c0b3a15a3d..61ea6e76f7 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/lists/ListCard.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/lists/ListCard.kt @@ -98,10 +98,11 @@ fun ListCard( ) } - // Said even when some members are public, because otherwise the visible ones read as the whole - // list. A list whose members are *all* private — which is what divine.video publishes — would - // otherwise show a title and nothing else, and look broken rather than closed. - if (hasUnreadablePrivateItems) { + // Only when there is nothing else to show. A card with visible members already reads as a list, + // and most lists keep something private, so saying so on every one of them is noise. The line + // exists for the case that would otherwise be a title and blank space — an all-private list, + // which is what divine.video publishes — so that it reads as closed rather than as broken. + if (hasUnreadablePrivateItems && items.isEmpty()) { Text( text = stringRes(R.string.nip51_list_has_private_members), style = MaterialTheme.typography.bodySmall,