From cbc59795b7370e627b73338cb18c982bfce099f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Mon, 31 Jul 2023 11:59:48 +0000 Subject: [PATCH] feat: connection timeout --- .../src/app/util/internet-connection.service.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/frontend/app/src/app/util/internet-connection.service.ts b/frontend/app/src/app/util/internet-connection.service.ts index b07f08c6..e8ed9ea8 100644 --- a/frontend/app/src/app/util/internet-connection.service.ts +++ b/frontend/app/src/app/util/internet-connection.service.ts @@ -12,7 +12,18 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {fromEvent, merge, ObservableInput, of, race, RetryConfig, share, Subject, takeUntil} from 'rxjs'; +import { + delay, + fromEvent, + merge, + ObservableInput, + of, + race, + RetryConfig, + share, + Subject, + takeUntil, +} from 'rxjs'; import {Injectable} from '@angular/core'; import {filter, map, startWith, take, tap} from 'rxjs/operators'; import {NGXLogger} from 'ngx-logger'; @@ -43,6 +54,7 @@ export class InternetConnectionService { * registering itself. */ readonly retryConfig: RetryConfig = { + count: 5, delay: this.doRetry.bind(this), }; @@ -52,6 +64,7 @@ export class InternetConnectionService { tap(it => console.log(it)), filter(it => !it), take(1), + delay(Math.min(retryCount ** 4 + 100, 10_000)), ), this.manualRetry$, ).pipe(