diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7ba7aadf..3117e179 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -51,10 +51,6 @@
-
-
Unit) : WebViewClient() {
- @Override
- override fun onPageFinished(view: WebView, url: String) {
- super.onPageFinished(view, url)
- pageLoaded()
- }
-}
-
-class WebChallengeActivity : AppCompatActivity() {
- private lateinit var binding: ActivityWebchallengeBinding
-
- @SuppressLint("SetJavaScriptEnabled")
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- binding = ActivityWebchallengeBinding.inflate(layoutInflater)
- setContentView(binding.root)
-
- binding.webView.settings.apply {
- javaScriptEnabled = true
- domStorageEnabled = true
- userAgentString = buildUserAgent("WebChallenge")
- }
-
- binding.webView.webViewClient = WebChallengeClient {
- binding.webView.evaluateJavascript(
- "(function() { return document.getElementById('cf-wrapper') === null; })();"
- ) { result ->
- if (result == "false") {
- Log.d(
- "WebChallenge",
- "Challenge has been solved or we have been considered human."
- )
- finish()
- }
- }
- }
-
- binding.webView.loadUrl(REVOLT_BASE)
- }
-}
diff --git a/app/src/main/java/chat/revolt/api/internals/WebChallenge.kt b/app/src/main/java/chat/revolt/api/internals/WebChallenge.kt
deleted file mode 100644
index 7aba31a1..00000000
--- a/app/src/main/java/chat/revolt/api/internals/WebChallenge.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package chat.revolt.api.internals
-
-import chat.revolt.api.REVOLT_BASE
-import chat.revolt.api.RevoltHttp
-import io.ktor.client.request.get
-import io.ktor.client.statement.bodyAsText
-
-object WebChallenge {
- suspend fun needsCloudflare(): Boolean {
- RevoltHttp.get(REVOLT_BASE).let {
- val text = it.bodyAsText()
- return text.contains(
- "window._cf_chl_opt"
- ) // FIXME Naive, prone to captcha page changing
- }
- }
-}
diff --git a/app/src/main/java/chat/revolt/screens/SplashScreen.kt b/app/src/main/java/chat/revolt/screens/SplashScreen.kt
index 2461bdf5..878bf3b0 100644
--- a/app/src/main/java/chat/revolt/screens/SplashScreen.kt
+++ b/app/src/main/java/chat/revolt/screens/SplashScreen.kt
@@ -2,13 +2,10 @@ package chat.revolt.screens
import android.annotation.SuppressLint
import android.content.Context
-import android.content.Intent
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.util.Log
import android.widget.Toast
-import androidx.activity.compose.rememberLauncherForActivityResult
-import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
@@ -27,7 +24,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.layout.ContentScale
-import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
@@ -35,10 +31,8 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import androidx.navigation.NavController
import chat.revolt.R
-import chat.revolt.activities.WebChallengeActivity
import chat.revolt.api.RevoltAPI
import chat.revolt.api.RevoltHttp
-import chat.revolt.api.internals.WebChallenge
import chat.revolt.api.routes.onboard.needsOnboarding
import chat.revolt.components.screens.splash.DisconnectedScreen
import chat.revolt.persistence.KVStorage
@@ -99,13 +93,6 @@ class SplashScreenViewModel @Inject constructor(
if (!isConnected) return@launch
- val needsCloudflare = WebChallenge.needsCloudflare()
-
- if (needsCloudflare) {
- setNavigateTo("webchallenge")
- return@launch
- }
-
val token = kvStorage.get("sessionToken") ?: return@launch setNavigateTo("login")
val id = kvStorage.get("sessionId") ?: ""
@@ -142,16 +129,6 @@ class SplashScreenViewModel @Inject constructor(
@Composable
fun SplashScreen(navController: NavController, viewModel: SplashScreenViewModel = hiltViewModel()) {
- val context = LocalContext.current
-
- val webChallengeActivityResult = rememberLauncherForActivityResult(
- ActivityResultContracts.StartActivityForResult()
- ) { result ->
- if (result.resultCode == 0) {
- viewModel.checkLoggedInState()
- }
- }
-
if (!viewModel.isConnected) {
DisconnectedScreen(
onRetry = {
@@ -197,11 +174,6 @@ fun SplashScreen(navController: NavController, viewModel: SplashScreenViewModel
}
}
- "webchallenge" -> {
- val intent = Intent(context, WebChallengeActivity::class.java)
- webChallengeActivityResult.launch(intent)
- }
-
"home" -> {
navController.navigate("chat") {
popUpTo("splash") {
diff --git a/app/src/main/res/layout/activity_webchallenge.xml b/app/src/main/res/layout/activity_webchallenge.xml
deleted file mode 100644
index 7636ffbd..00000000
--- a/app/src/main/res/layout/activity_webchallenge.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
\ No newline at end of file