Moves all hashtags to lowercase and unfollows with ignore case just in case some other client added in uppercase

This commit is contained in:
Vitor Pamplona
2025-11-15 15:20:56 -05:00
parent a1879a93df
commit 7742e27780
11 changed files with 23 additions and 12 deletions
@@ -89,9 +89,9 @@ class HashtagListState(
val hashtagList = getHashtagList()
return if (hashtagList == null) {
HashtagListEvent.create(hashtag, true, signer)
HashtagListEvent.create(hashtag.lowercase(), true, signer)
} else {
HashtagListEvent.add(hashtagList, hashtag, true, signer)
HashtagListEvent.add(hashtagList, hashtag.lowercase(), true, signer)
}
}
@@ -141,7 +141,7 @@ fun uriToRoute(
return Route.Notification
}
if (isHashtagRoute(uri)) {
return Route.Hashtag(uri.removePrefix("nostr:").removePrefix("hashtag?id="))
return Route.Hashtag(uri.removePrefix("nostr:").removePrefix("hashtag?id=").lowercase())
}
val nip19 = Nip19Parser.uriToRoute(uri)?.entity
@@ -692,7 +692,7 @@ fun HashTag(
modifier =
remember {
Modifier.clickable {
nav.nav(Route.Hashtag(segment.hashtag))
nav.nav(Route.Hashtag(segment.hashtag.lowercase()))
}
},
inlineContent =
@@ -86,6 +86,6 @@ private fun DisplayTagList(
overflow = TextOverflow.Ellipsis,
maxLines = 1,
) {
nav.nav(Route.Hashtag(firstTag))
nav.nav(Route.Hashtag(firstTag.lowercase()))
}
}
@@ -96,7 +96,7 @@ fun DisplayUncitedHashtags(
unusedHashtags.forEach { hashtag ->
ClickableTextColor(
text = "#$hashtag ",
onClick = { nav.nav(Route.Hashtag(hashtag)) },
onClick = { nav.nav(Route.Hashtag(hashtag.lowercase())) },
linkColor = MaterialTheme.colorScheme.lessImportantLink,
)
}
@@ -55,7 +55,7 @@ fun DisplayHashtagExternalId(
nav: INav,
) {
DisplayHashtagExternalId(externalId.topic) {
nav.nav(Route.Hashtag(externalId.topic))
nav.nav(Route.Hashtag(externalId.topic.lowercase()))
}
}
@@ -57,7 +57,7 @@ fun TabFollowedTags(
HashtagHeader(
tag = hashtag,
account = accountViewModel,
onClick = { nav.nav(Route.Hashtag(hashtag)) },
onClick = { nav.nav(Route.Hashtag(hashtag.lowercase())) },
)
HorizontalDivider(
thickness = DividerThickness,
@@ -257,7 +257,7 @@ private fun DisplaySearchResults(
hashTags,
key = { _, item -> "#$item" },
) { _, item ->
HashtagLine(item) { nav.nav(Route.Hashtag(item)) }
HashtagLine(item.lowercase()) { nav.nav(Route.Hashtag(item.lowercase())) }
HorizontalDivider(
modifier = Modifier.padding(top = 10.dp),