Avoids crashing the app in weird urls.
This commit is contained in:
@@ -22,9 +22,11 @@ package com.vitorpamplona.amethyst.commons.richtext
|
||||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.vitorpamplona.quartz.utils.DualCase
|
||||
import com.vitorpamplona.quartz.utils.Log
|
||||
import com.vitorpamplona.quartz.utils.startsWithAny
|
||||
import com.vitorpamplona.quartz.utils.urldetector.Url
|
||||
import com.vitorpamplona.quartz.utils.urldetector.detection.UrlDetector
|
||||
import kotlinx.coroutines.CancellationException
|
||||
|
||||
@Stable
|
||||
class Urls(
|
||||
@@ -77,6 +79,7 @@ class UrlParser {
|
||||
val blossom = mutableSetOf<String>()
|
||||
|
||||
urls.forEach { url ->
|
||||
try {
|
||||
if (url.isValidTopLevelDomain()) {
|
||||
if (url.wroteWithSchema()) {
|
||||
if (url.originalUrl.startsWithAny(httpScheme)) {
|
||||
@@ -102,6 +105,10 @@ class UrlParser {
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
if (e is CancellationException) throw e
|
||||
Log.e("UrlParser", "Trying to parse url `${url.originalUrl}` from `$content`", e)
|
||||
}
|
||||
}
|
||||
|
||||
return Urls(
|
||||
|
||||
Reference in New Issue
Block a user