From f5479ec82f3497cd7d248a1231eb144f7c8ebe8a Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Mon, 21 Aug 2023 20:15:57 -0400 Subject: [PATCH] Max 5 attempts for bg check fail due to rate/net --- lib/main.dart | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/main.dart b/lib/main.dart index 4506787..1b59a7f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -105,6 +105,12 @@ Future bgUpdateCheckApp(int taskId, Map? params) async { AppsProvider appsProvider = AppsProvider(); String appId = params!['appId']; + params['attemptCount'] = (params['attemptCount'] ?? 0) + 1; + int maxAttempts = 5; + if (params['attemptCount'] > 1) { + logs.add( + 'BG update check for $appId: Note this is attempt #${params['attemptCount']} of $maxAttempts'); + } try { await appsProvider.loadApps(singleId: appId); AppInMemory app = appsProvider.apps[appId]!; @@ -117,7 +123,8 @@ Future bgUpdateCheckApp(int taskId, Map? params) async { newApp = await appsProvider.checkUpdate(appId); } catch (e) { logs.add('BG update check for $appId got error \'${e.toString()}\'.'); - if (e is RateLimitError || e is ClientException) { + if (e is RateLimitError || + e is ClientException && params['attemptCount'] < maxAttempts) { var remainingMinutes = e is RateLimitError ? e.remainingMinutes : 15; logs.add( 'BG update check for $appId will be retried in $remainingMinutes minutes.');