From 8b6ba52e47995a2f0b567f47e80762449657f999 Mon Sep 17 00:00:00 2001 From: Pavan Koushik Nellore <pavankoushik.nellore@savoirfairelinux.com> Date: Thu, 5 Sep 2024 09:42:48 -0400 Subject: [PATCH] LinkPreview: add email address check Fix incorrect URL matches from emails. Matcher returns only the domain (e.g. gmail.com), so the existing email check didn't work as expected. GitLab: #1383 Change-Id: Ifa13910fbb08863c4396033f66ddf5d22d4d883e --- .../app/src/main/java/cx/ring/linkpreview/LinkPreview.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt b/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt index ba57520b8..c1e436569 100644 --- a/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt +++ b/jami-android/app/src/main/java/cx/ring/linkpreview/LinkPreview.kt @@ -14,9 +14,10 @@ object LinkPreview { val matcher = PatternsCompat.AUTOLINK_WEB_URL.matcher(input) while (matcher.find()) { val word = matcher.group() + val start = matcher.start() if (!word.startsWith("http://", ignoreCase = true) && !word.startsWith("https://", ignoreCase = true)) { - if (PatternsCompat.EMAIL_ADDRESS.matcher(word).matches()) { - continue + if (start > 0 && input[start - 1] == '@') { + continue // Skip email addresses } result.add("https://$word") } else { -- GitLab