From c4d68922bc2660d866271a1c06db1ab9b51e5f2a Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 18 Aug 2026 18:22:53 -0400 Subject: [PATCH] fix: give the invite roster line's member count its unit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The line read "5 · 10.0.2.2:7447". Sitting immediately after the faces of people you follow, a bare number reads as counting those faces — "5 people you follow" — which is the one thing it does not mean. Use the same `relay_group_member_count` plural every other group surface uses (the workspace channel list, discovery, the parent picker), so it reads "5 members · 10.0.2.2:7447" and matches the row the same channel gets elsewhere. Singular falls out of the plural: "1 member". Co-Authored-By: Claude Opus 5 (1M context) --- .../amethyst/ui/note/types/ChannelInvite.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/ChannelInvite.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/ChannelInvite.kt index 549838203c..eda90a9ba3 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/ChannelInvite.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/ChannelInvite.kt @@ -46,6 +46,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp @@ -315,12 +316,17 @@ private fun ChannelRosterLine( } } + // "24 members · relay.host". The count carries its unit through the same plural every other + // group surface uses (the workspace channel list, discovery, the parent picker), because a bare + // number sitting immediately after the faces reads as counting the faces — "3 people you + // follow" — which is the one thing it does not mean. + val host = channel.groupId.relayUrl.displayUrl() Text( text = if (memberCount > 0) { - "$memberCount · " + channel.groupId.relayUrl.displayUrl() + pluralStringResource(R.plurals.relay_group_member_count, memberCount, memberCount) + " · " + host } else { - channel.groupId.relayUrl.displayUrl() + host }, style = MaterialTheme.typography.bodySmall, color = MaterialTheme.colorScheme.placeholderText,