mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-10-31 16:22:49 +00:00
Fallback to the default push gateway on error (#5742)
* Add more HTTP response code returning NoMatrixGateway Fix Push notifications with Mozilla's autopush that returns 406 * Update gateway resolver tests to match new known errors * Use default gateway on error if no gateway is recorded yet * Update gateway resolver tests to return default gateway on error
This commit is contained in:
+3
-2
@@ -29,8 +29,9 @@ class DefaultUnifiedPushGatewayUrlResolver(
|
||||
): String {
|
||||
return when (gatewayResult) {
|
||||
is UnifiedPushGatewayResolverResult.Error -> {
|
||||
// Use previous gateway if any, or the provided one
|
||||
unifiedPushStore.getPushGateway(instance) ?: gatewayResult.gateway
|
||||
// Use previous gateway if any, or the default one
|
||||
unifiedPushStore.getPushGateway(instance)
|
||||
?: defaultPushGatewayHttpUrlProvider.provide()
|
||||
}
|
||||
UnifiedPushGatewayResolverResult.ErrorInvalidUrl,
|
||||
UnifiedPushGatewayResolverResult.NoMatrixGateway -> {
|
||||
|
||||
+2
-2
@@ -60,7 +60,7 @@ class DefaultUnifiedPushGatewayUrlResolverTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `resolve Error returns the url if no current url is available`() {
|
||||
fun `resolve Error returns the default gateway url if no current url is available`() {
|
||||
val sut = createDefaultUnifiedPushGatewayUrlResolver(
|
||||
unifiedPushStore = FakeUnifiedPushStore(
|
||||
getPushGatewayResult = { instance ->
|
||||
@@ -73,7 +73,7 @@ class DefaultUnifiedPushGatewayUrlResolverTest {
|
||||
gatewayResult = UnifiedPushGatewayResolverResult.Error("aUrl"),
|
||||
instance = "instance",
|
||||
)
|
||||
assertThat(result).isEqualTo("aUrl")
|
||||
assertThat(result).isEqualTo(FakeDefaultPushGatewayHttpUrlProvider().provide())
|
||||
}
|
||||
|
||||
private fun createDefaultUnifiedPushGatewayUrlResolver(
|
||||
|
||||
Reference in New Issue
Block a user