Skip to content

Commit

Permalink
Merge pull request #8683 from vector-im/giomfo/fix_custom_gateway_check
Browse files Browse the repository at this point in the history
Unified Push: Ignore the potential SSL error when the custom gateway is testing
  • Loading branch information
giomfo authored Nov 15, 2023
2 parents 1a94114 + ee2fd9f commit fd5530a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
1 change: 1 addition & 0 deletions changelog.d/8683.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Unified Push: Ignore the potential SSL error when the custom gateway is testing locally
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,13 @@ import im.vector.app.core.resources.StringProvider
import im.vector.app.core.utils.getApplicationLabel
import org.matrix.android.sdk.api.Matrix
import org.matrix.android.sdk.api.cache.CacheStrategy
import org.matrix.android.sdk.api.failure.Failure
import org.matrix.android.sdk.api.util.MatrixJsonParser
import org.unifiedpush.android.connector.UnifiedPush
import timber.log.Timber
import java.net.URL
import javax.inject.Inject
import javax.net.ssl.SSLHandshakeException

class UnifiedPushHelper @Inject constructor(
private val context: Context,
Expand Down Expand Up @@ -104,7 +106,11 @@ class UnifiedPushHelper @Inject constructor(
// else, unifiedpush, and pushkey is an endpoint
val gateway = stringProvider.getString(R.string.default_push_gateway_http_url)
val parsed = URL(endpoint)
val port = if (parsed.port != -1) { ":${parsed.port}" } else { "" }
val port = if (parsed.port != -1) {
":${parsed.port}"
} else {
""
}
val custom = "${parsed.protocol}://${parsed.host}${port}/_matrix/push/v1/notify"
Timber.i("Testing $custom")
try {
Expand All @@ -120,7 +126,13 @@ class UnifiedPushHelper @Inject constructor(
}
}
} catch (e: Throwable) {
Timber.d(e, "Cannot try custom gateway")
Timber.e(e, "Cannot try custom gateway")
if (e is Failure.NetworkConnection && e.ioException is SSLHandshakeException) {
Timber.w(e, "SSLHandshakeException, ignore this error")
unifiedPushStore.storePushGateway(custom)
onDoneRunnable?.run()
return
}
}
unifiedPushStore.storePushGateway(gateway)
onDoneRunnable?.run()
Expand Down

0 comments on commit fd5530a

Please sign in to comment.