Set a total request max retry time for network requests originating in the notification service extension.

This commit is contained in:
Stefan Ceriu
2025-04-29 19:00:15 +03:00
committed by Stefan Ceriu
parent 690ff3caa6
commit 4e2e2649fc
2 changed files with 8 additions and 3 deletions
@@ -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 {
+2 -1
View File
@@ -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)