Compare commits

...

1 commit

Author SHA1 Message Date
firelight
9290cec8ea
Fix: Repo dismiss 2026-07-07 13:39:50 +00:00
2 changed files with 37 additions and 35 deletions

View file

@ -141,14 +141,12 @@ object RepositoryManager {
} }
} else if (fixedUrl.matches("^[a-zA-Z0-9!_-]+$".toRegex())) { } else if (fixedUrl.matches("^[a-zA-Z0-9!_-]+$".toRegex())) {
safeAsync { safeAsync {
app.get("https://cutt.ly/${fixedUrl}", allowRedirects = false).let { it2 -> val response = app.get("https://cutt.ly/${fixedUrl}", allowRedirects = false)
it2.headers["Location"]?.let { url -> val url = response.headers["Location"] ?: return@safeAsync null
if (url.startsWith("https://cutt.ly/404")) return@safeAsync null if (url.startsWith("https://cutt.ly/404")) return@safeAsync null
if (url.removeSuffix("/") == "https://cutt.ly") return@safeAsync null if (url.removeSuffix("/") == "https://cutt.ly") return@safeAsync null
return@safeAsync url return@safeAsync url
} }
}
}
} else null } else null
} }

View file

@ -278,13 +278,16 @@ class ExtensionsFragment : BaseFragment<FragmentExtensionsBinding>(
binding.applyBtt.setOnClickListener secondListener@{ binding.applyBtt.setOnClickListener secondListener@{
val name = binding.repoNameInput.text?.toString() val name = binding.repoNameInput.text?.toString()
val urlInput = binding.repoUrlInput.text?.toString() val urlInput = binding.repoUrlInput.text?.toString()
ioSafe { if (urlInput.isNullOrEmpty()) {
val url = urlInput?.let { it1 -> RepositoryManager.parseRepoUrl(it1) } showToast(R.string.error_invalid_url, Toast.LENGTH_SHORT)
if (url.isNullOrBlank()) { return@secondListener
main { }
showToast(R.string.error_invalid_data, Toast.LENGTH_SHORT) ioSafe {
val url = RepositoryManager.parseRepoUrl(urlInput)
if (url.isNullOrBlank()) {
showToast(R.string.error_invalid_data, Toast.LENGTH_SHORT)
return@ioSafe
} }
} else {
val repository = RepositoryManager.parseRepository(url) val repository = RepositoryManager.parseRepository(url)
// Exit if wrong repository // Exit if wrong repository
@ -300,18 +303,19 @@ class ExtensionsFragment : BaseFragment<FragmentExtensionsBinding>(
extensionViewModel.loadStats() extensionViewModel.loadStats()
extensionViewModel.loadRepositories() extensionViewModel.loadRepositories()
dialog.dismissSafe(activity) // Only dismiss if the repo was added
val plugins = RepositoryManager.getRepoPlugins(newRepo) val plugins = RepositoryManager.getRepoPlugins(newRepo)
if (plugins.isNullOrEmpty()) { if (plugins.isNullOrEmpty()) {
showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG) showToast(R.string.no_plugins_found_error, Toast.LENGTH_LONG)
} else { return@ioSafe
}
this@ExtensionsFragment.activity?.addRepositoryDialog( this@ExtensionsFragment.activity?.addRepositoryDialog(
newRepo newRepo
) )
} }
} }
}
dialog.dismissSafe(activity)
}
binding.cancelBtt.setOnClickListener { binding.cancelBtt.setOnClickListener {
dialog.dismissSafe(activity) dialog.dismissSafe(activity)
} }