From 057eacfb3b968835cc6b2436729759fe4b920c65 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 13 Aug 2024 12:41:35 -0400 Subject: [PATCH 1/3] Improve network reliability. --- .../push/SignalServiceNetworkAccess.kt | 11 +++++++---- .../SignalKeyBackupServiceUrl.java | 17 ----------------- 2 files changed, 7 insertions(+), 21 deletions(-) delete mode 100644 libsignal-service/src/main/java/org/whispersystems/signalservice/internal/configuration/SignalKeyBackupServiceUrl.java diff --git a/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt b/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt index 6defbe8933..03f7775bc7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt @@ -22,7 +22,6 @@ import org.thoughtcrime.securesms.net.StaticDns import org.whispersystems.signalservice.api.push.TrustStore import org.whispersystems.signalservice.internal.configuration.SignalCdnUrl import org.whispersystems.signalservice.internal.configuration.SignalCdsiUrl -import org.whispersystems.signalservice.internal.configuration.SignalKeyBackupServiceUrl import org.whispersystems.signalservice.internal.configuration.SignalServiceConfiguration import org.whispersystems.signalservice.internal.configuration.SignalServiceUrl import org.whispersystems.signalservice.internal.configuration.SignalStorageUrl @@ -68,6 +67,8 @@ open class SignalServiceNetworkAccess(context: Context) { private const val COUNTRY_CODE_IRAN = 98 private const val COUNTRY_CODE_CUBA = 53 private const val COUNTRY_CODE_UZBEKISTAN = 998 + private const val COUNTRY_CODE_RUSSIA = 7 + private const val COUNTRY_CODE_VENEZUELA = 58 private const val G_HOST = "reflector-nrgwuv7kwq-uc.a.run.app" private const val F_SERVICE_HOST = "chat-signal.global.ssl.fastly.net" @@ -77,7 +78,6 @@ open class SignalServiceNetworkAccess(context: Context) { private const val F_CDN3_HOST = "cdn3-signal.global.ssl.fastly.net" private const val F_CDSI_HOST = "cdsi-signal.global.ssl.fastly.net" private const val F_SVR2_HOST = "svr2-signal.global.ssl.fastly.net" - private const val F_KBS_HOST = "api.backup.signal.org.global.prod.fastly.net" private val GMAPS_CONNECTION_SPEC = ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS) .tlsVersions(TlsVersion.TLS_1_2) @@ -208,8 +208,12 @@ open class SignalServiceNetworkAccess(context: Context) { COUNTRY_CODE_UZBEKISTAN to buildGConfiguration( listOf(HostConfig("https://www.google.co.uz", G_HOST, GMAIL_CONNECTION_SPEC)) + baseGHostConfigs ), + COUNTRY_CODE_VENEZUELA to buildGConfiguration( + listOf(HostConfig("https://www.google.co.ve", G_HOST, GMAIL_CONNECTION_SPEC)) + baseGHostConfigs + ), COUNTRY_CODE_IRAN to fConfig, - COUNTRY_CODE_CUBA to fConfig + COUNTRY_CODE_CUBA to fConfig, + COUNTRY_CODE_RUSSIA to fConfig ) private val defaultCensoredConfiguration: SignalServiceConfiguration = buildGConfiguration(baseGHostConfigs) @@ -289,7 +293,6 @@ open class SignalServiceNetworkAccess(context: Context) { val cdnUrls: Array = hostConfigs.map { SignalCdnUrl("${it.baseUrl}/cdn", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() val cdn2Urls: Array = hostConfigs.map { SignalCdnUrl("${it.baseUrl}/cdn2", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() val cdn3Urls: Array = hostConfigs.map { SignalCdnUrl("${it.baseUrl}/cdn3", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() - val kbsUrls: Array = hostConfigs.map { SignalKeyBackupServiceUrl("${it.baseUrl}/backup", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() val storageUrls: Array = hostConfigs.map { SignalStorageUrl("${it.baseUrl}/storage", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() val cdsiUrls: Array = hostConfigs.map { SignalCdsiUrl("${it.baseUrl}/cdsi", it.host, gTrustStore, it.connectionSpec) }.toTypedArray() val svr2Urls: Array = hostConfigs.map { SignalSvr2Url("${it.baseUrl}/svr2", gTrustStore, it.host, it.connectionSpec) }.toTypedArray() diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/configuration/SignalKeyBackupServiceUrl.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/configuration/SignalKeyBackupServiceUrl.java deleted file mode 100644 index 2dfc6717ad..0000000000 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/configuration/SignalKeyBackupServiceUrl.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.whispersystems.signalservice.internal.configuration; - - -import org.whispersystems.signalservice.api.push.TrustStore; - -import okhttp3.ConnectionSpec; - -public class SignalKeyBackupServiceUrl extends SignalUrl { - - public SignalKeyBackupServiceUrl(String url, TrustStore trustStore) { - super(url, trustStore); - } - - public SignalKeyBackupServiceUrl(String url, String hostHeader, TrustStore trustStore, ConnectionSpec connectionSpec) { - super(url, hostHeader, trustStore, connectionSpec); - } -} From c065405acfa4844d7261f459577432721320c77f Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Tue, 6 Aug 2024 15:23:45 -0400 Subject: [PATCH 2/3] Registration: check if phone number is possible. As opposed to "valid." --- .../registration/ui/phonenumber/EnterPhoneNumberFragment.kt | 4 ++-- .../registration/ui/phonenumber/EnterPhoneNumberViewModel.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt index 808bb9e138..b8be0442a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberFragment.kt @@ -153,7 +153,7 @@ class EnterPhoneNumberFragment : LoggingFragment(R.layout.fragment_registration_ phoneNumberInputLayout.requestFocus() } - if (fragmentViewModel.isEnteredNumberValid(fragmentState)) { + if (fragmentViewModel.isEnteredNumberPossible(fragmentState)) { sharedViewModel.setPhoneNumber(fragmentViewModel.parsePhoneNumber(fragmentState)) } else { sharedViewModel.setPhoneNumber(null) @@ -258,7 +258,7 @@ class EnterPhoneNumberFragment : LoggingFragment(R.layout.fragment_registration_ } private fun presentRegisterButton(sharedState: RegistrationState) { - binding.registerButton.isEnabled = sharedState.phoneNumber != null && PhoneNumberUtil.getInstance().isValidNumber(sharedState.phoneNumber) + binding.registerButton.isEnabled = sharedState.phoneNumber != null && PhoneNumberUtil.getInstance().isPossibleNumber(sharedState.phoneNumber) if (sharedState.inProgress) { binding.registerButton.setSpinning() } else { diff --git a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt index 2ca2ad4c21..3b9e53178d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/registration/ui/phonenumber/EnterPhoneNumberViewModel.kt @@ -89,9 +89,9 @@ class EnterPhoneNumberViewModel : ViewModel() { return PhoneNumberUtil.getInstance().parse(state.phoneNumber, supportedCountryPrefixes[state.countryPrefixIndex].regionCode) } - fun isEnteredNumberValid(state: EnterPhoneNumberState): Boolean { + fun isEnteredNumberPossible(state: EnterPhoneNumberState): Boolean { return try { - PhoneNumberUtil.getInstance().isValidNumber(parsePhoneNumber(state)) + PhoneNumberUtil.getInstance().isPossibleNumber(parsePhoneNumber(state)) } catch (ex: NumberParseException) { false } From 57a85882431e83717f4701d194fdf9caf8fd0000 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 13 Aug 2024 15:31:15 -0400 Subject: [PATCH 3/3] Bump version to v7.13.4 --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cf459527fd..00e555028b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,8 +22,8 @@ plugins { apply(from = "static-ips.gradle.kts") val canonicalVersionCode = 1443 -val canonicalVersionName = "7.13.3" -val currentHotfixVersion = 0 +val canonicalVersionName = "7.13.4" +val currentHotfixVersion = 1 val maxHotfixVersions = 100 val keystores: Map = mapOf("debug" to loadKeystoreProperties("keystore.debug.properties"))