Skip to content

Commit 486eb04

Browse files
committed
support valid links
Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
1 parent 335df4e commit 486eb04

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

app/src/main/java/com/nextcloud/talk/ui/chat/ChatMessageScaffold.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ private fun shouldShowTimeNextToContent(
139139

140140
private val mentionChipTypes = setOf("user", "guest", "call", "user-group", "email", "circle")
141141

142-
private val parentMessageLinkRegex = Regex("""(\[[^\]]+]\([^)]*\)|(?:https?://|www\.)\S+)""")
142+
private val parentMessageLinkRegex = Regex(
143+
"""(\[[^\]]+]\([^)]*\)|(?:https?://|www\.)[^\s)]+|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:/[^\s)]*)?)"""
144+
)
143145

144146
private fun ChatMessageUi.hasMentionChips(): Boolean =
145147
messageParameters.any { (key, parameter) ->

app/src/main/java/com/nextcloud/talk/ui/chat/MentionEnrichedText.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,9 @@ import com.nextcloud.talk.ui.theme.LocalViewThemeUtils
5858
import com.nextcloud.talk.utils.ApiUtils
5959
import org.greenrobot.eventbus.EventBus
6060

61-
private val messageTokenRegex =
62-
Regex("""(\{[^{}]+\}|\*\*.*?\*\*|\*.*?\*|`.*?`|\[.*?]\(.*?\)|https?://\S+|www\.\S+)""")
61+
val messageTokenRegex = Regex(
62+
"""(\{[^{}]+\}|\*\*.*?\*\*|\*.*?\*|`.*?`|\[.*?]\(.*?\)|https?://[^\s)]+|www\.[^\s)]+|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:/[^\s)]*)?)"""
63+
)
6364

6465
private val mentionParameterTypes = setOf("user", "guest", "call", "user-group", "email", "circle")
6566

@@ -132,6 +133,9 @@ fun MentionEnrichedText(
132133
)
133134
}
134135

136+
137+
138+
@Suppress("LongParameterList")
135139
private fun buildMentionRichText(
136140
message: ChatMessageUi,
137141
linkColor: Color,
@@ -190,6 +194,9 @@ private fun buildMentionRichText(
190194

191195
token.startsWith("http") -> appendLinkedToken(token, token, linkColor, enableLinks)
192196
token.startsWith(WWW_PREFIX) -> appendLinkedToken(token, "https://$token", linkColor, enableLinks)
197+
token.matches(
198+
Regex("""(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}.*""")
199+
) -> appendLinkedToken(token, "https://$token", linkColor, enableLinks)
193200
}
194201

195202
lastIndex = range.last + 1

0 commit comments

Comments
 (0)