diff --git a/libraries/oauth/impl/src/main/kotlin/io/element/android/libraries/oauth/impl/OAuthUrlParser.kt b/libraries/oauth/impl/src/main/kotlin/io/element/android/libraries/oauth/impl/OAuthUrlParser.kt index e62dea696f..7e2c4d03f5 100644 --- a/libraries/oauth/impl/src/main/kotlin/io/element/android/libraries/oauth/impl/OAuthUrlParser.kt +++ b/libraries/oauth/impl/src/main/kotlin/io/element/android/libraries/oauth/impl/OAuthUrlParser.kt @@ -12,6 +12,7 @@ import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.ContributesBinding import io.element.android.libraries.matrix.api.auth.OAuthRedirectUrlProvider import io.element.android.libraries.oauth.api.OAuthAction +import timber.log.Timber fun interface OAuthUrlParser { fun parse(url: String): OAuthAction? @@ -38,7 +39,8 @@ class DefaultOAuthUrlParser( if (url.contains("error=access_denied")) return OAuthAction.GoBack() if (url.contains("code=")) return OAuthAction.Success(url) - // Other case not supported, let's crash the app for now - error("Not supported: $url") + // Other cases are not supported, log an error and return null + Timber.w("Unsupported OAuth url") + return null } } diff --git a/libraries/oauth/impl/src/test/kotlin/io/element/android/libraries/oauth/impl/DefaultOAuthIntentResolverTest.kt b/libraries/oauth/impl/src/test/kotlin/io/element/android/libraries/oauth/impl/DefaultOAuthIntentResolverTest.kt index ff34ae8220..159d7eeae9 100644 --- a/libraries/oauth/impl/src/test/kotlin/io/element/android/libraries/oauth/impl/DefaultOAuthIntentResolverTest.kt +++ b/libraries/oauth/impl/src/test/kotlin/io/element/android/libraries/oauth/impl/DefaultOAuthIntentResolverTest.kt @@ -13,7 +13,6 @@ import androidx.core.net.toUri import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.test.auth.FakeOAuthRedirectUrlProvider import io.element.android.libraries.oauth.api.OAuthAction -import org.junit.Assert.assertThrows import org.junit.Test import org.junit.runner.RunWith import org.robolectric.RobolectricTestRunner @@ -54,9 +53,8 @@ class DefaultOAuthIntentResolverTest { action = Intent.ACTION_VIEW data = "io.element.android:/invalid".toUri() } - assertThrows(IllegalStateException::class.java) { - sut.resolve(intent) - } + val result = sut.resolve(intent) + assertThat(result).isNull() } private fun createDefaultOAuthIntentResolver(): DefaultOAuthIntentResolver { diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index f87eed1a40..e47196709a 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -45,7 +45,7 @@ private const val versionMonth = 6 * Release number in the month. Value must be in [0,99]. * Do not update this value. it is updated by the release script. */ -private const val versionReleaseNumber = 1 +private const val versionReleaseNumber = 2 object Versions { /**