fix(settings): accept dictionary source URLs over https only
The platform blocks cleartext traffic by default, so an http:// source passed validation but could never download and failed with a misleading network error. The validator now rejects http:// upfront.
This commit is contained in:
1 parent
cd589b30a4
commit
c90f658bfe
3 files changed
+3
-3
No files matched your search
@@ -106,7 +106,7 @@ data class DictionarySource(
|
|||||||
return when {
|
return when {
|
||||||
trimmed.isBlank() -> ValidationResult.Error(ValidationError.EMPTY)
|
trimmed.isBlank() -> ValidationResult.Error(ValidationError.EMPTY)
|
||||||
trimmed.length > 2048 -> ValidationResult.Error(ValidationError.TOO_LONG)
|
trimmed.length > 2048 -> ValidationResult.Error(ValidationError.TOO_LONG)
|
||||||
!trimmed.startsWith("http://") && !trimmed.startsWith("https://") ->
|
!trimmed.startsWith("https://") ->
|
||||||
ValidationResult.Error(ValidationError.INVALID_PROTOCOL)
|
ValidationResult.Error(ValidationError.INVALID_PROTOCOL)
|
||||||
!lowerTemplate.endsWith(".gz") &&
|
!lowerTemplate.endsWith(".gz") &&
|
||||||
!lowerTemplate.endsWith(".dsl") &&
|
!lowerTemplate.endsWith(".dsl") &&
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
<string name="dictionary_source_duplicate_in_form">Дублирующийся URL в форме</string>
|
<string name="dictionary_source_duplicate_in_form">Дублирующийся URL в форме</string>
|
||||||
<string name="dictionary_source_duplicate_prefix">Этот словарь уже существует (одинаковый префикс)</string>
|
<string name="dictionary_source_duplicate_prefix">Этот словарь уже существует (одинаковый префикс)</string>
|
||||||
<string name="dictionary_source_url_empty">URL не может быть пустым</string>
|
<string name="dictionary_source_url_empty">URL не может быть пустым</string>
|
||||||
<string name="dictionary_source_invalid_protocol">Должен начинаться с http:// или https://</string>
|
<string name="dictionary_source_invalid_protocol">Должен начинаться с https://</string>
|
||||||
<string name="dictionary_source_invalid_extension">Должен заканчиваться на .gz, .dsl или .dsl.dz</string>
|
<string name="dictionary_source_invalid_extension">Должен заканчиваться на .gz, .dsl или .dsl.dz</string>
|
||||||
<string name="dictionary_source_too_long">URL слишком длинный (максимум 2048 символов)</string>
|
<string name="dictionary_source_too_long">URL слишком длинный (максимум 2048 символов)</string>
|
||||||
<string name="dictionary_source_invalid_url">Неверный формат URL</string>
|
<string name="dictionary_source_invalid_url">Неверный формат URL</string>
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
<string name="dictionary_source_duplicate_in_form">Duplicate URL in the form</string>
|
<string name="dictionary_source_duplicate_in_form">Duplicate URL in the form</string>
|
||||||
<string name="dictionary_source_duplicate_prefix">This dictionary already exists</string>
|
<string name="dictionary_source_duplicate_prefix">This dictionary already exists</string>
|
||||||
<string name="dictionary_source_url_empty">URL cannot be empty</string>
|
<string name="dictionary_source_url_empty">URL cannot be empty</string>
|
||||||
<string name="dictionary_source_invalid_protocol">Must start with http:// or https://</string>
|
<string name="dictionary_source_invalid_protocol">Must start with https://</string>
|
||||||
<string name="dictionary_source_invalid_extension">Must end with .gz, .dsl, or .dsl.dz</string>
|
<string name="dictionary_source_invalid_extension">Must end with .gz, .dsl, or .dsl.dz</string>
|
||||||
<string name="dictionary_source_too_long">URL is too long (max 2048 characters)</string>
|
<string name="dictionary_source_too_long">URL is too long (max 2048 characters)</string>
|
||||||
<string name="dictionary_source_invalid_url">Invalid URL format</string>
|
<string name="dictionary_source_invalid_url">Invalid URL format</string>
|
||||||
|
|||||||
Reference in new issue
Block a user