diff --git a/ElementX/Sources/Other/Extensions/ClientBuilder.swift b/ElementX/Sources/Other/Extensions/ClientBuilder.swift index 835aaaf3d..d49a2cfea 100644 --- a/ElementX/Sources/Other/Extensions/ClientBuilder.swift +++ b/ElementX/Sources/Other/Extensions/ClientBuilder.swift @@ -16,13 +16,17 @@ extension ClientBuilder { sessionDelegate: ClientSessionDelegate, appHooks: AppHooks, enableOnlySignedDeviceIsolationMode: Bool, - requestTimeout: UInt64? = 30000) -> ClientBuilder { + requestTimeout: UInt64? = 30000, + maxRequestRetryTime: UInt64? = nil) -> ClientBuilder { var builder = ClientBuilder() .crossProcessStoreLocksHolderName(holderName: InfoPlistReader.main.bundleIdentifier) .enableOidcRefreshLock() .setSessionDelegate(sessionDelegate: sessionDelegate) .userAgent(userAgent: UserAgentBuilder.makeASCIIUserAgent()) - .requestConfig(config: .init(retryLimit: 0, timeout: requestTimeout, maxConcurrentRequests: nil, maxRetryTime: nil)) + .requestConfig(config: .init(retryLimit: 0, + timeout: requestTimeout, + maxConcurrentRequests: nil, + maxRetryTime: maxRequestRetryTime)) .useEventCachePersistentStorage(value: true) builder = switch slidingSync { diff --git a/NSE/Sources/Other/NSEUserSession.swift b/NSE/Sources/Other/NSEUserSession.swift index ce620444f..eb59817d9 100644 --- a/NSE/Sources/Other/NSEUserSession.swift +++ b/NSE/Sources/Other/NSEUserSession.swift @@ -39,7 +39,8 @@ final class NSEUserSession { sessionDelegate: clientSessionDelegate, appHooks: appHooks, enableOnlySignedDeviceIsolationMode: appSettings.enableOnlySignedDeviceIsolationMode, - requestTimeout: 15000) + requestTimeout: 15000, + maxRequestRetryTime: 5000) .systemIsMemoryConstrained() .sessionPaths(dataPath: credentials.restorationToken.sessionDirectories.dataPath, cachePath: credentials.restorationToken.sessionDirectories.cachePath)