From d8ca1b736bb3565a361ee0384fbee51ad44fd87a Mon Sep 17 00:00:00 2001 From: Sebastian-Ion TINCU <Sebastian-Ion.TINCU@ext.ec.europa.eu> Date: Mon, 24 Jun 2024 16:05:25 +0200 Subject: [PATCH] =?UTF-8?q?EDELIVERY-12752=20UI=20enhancement=C2=A0=20User?= =?UTF-8?q?s=20are=20warned=20before=20session=20expire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix issue when setting very large timeout session expiration values. --- smp-angular/src/app/http/http-session-interceptor.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/smp-angular/src/app/http/http-session-interceptor.ts b/smp-angular/src/app/http/http-session-interceptor.ts index f6373f390..40dbcdba0 100644 --- a/smp-angular/src/app/http/http-session-interceptor.ts +++ b/smp-angular/src/app/http/http-session-interceptor.ts @@ -20,6 +20,7 @@ import { export class HttpSessionInterceptor implements HttpInterceptor { private readonly TIME_BEFORE_EXPIRATION_IN_SECONDS = 60; + private readonly MAXIMUM_TIMEOUT_VALUE = 2147483647; private timerId: number; private timerToLogoutId: number; @@ -34,7 +35,7 @@ export class HttpSessionInterceptor implements HttpInterceptor { clearTimeout(this.timerToLogoutId); let user = this.securityService.getCurrentUser(); if (user && user.sessionMaxIntervalTimeoutInSeconds && user.sessionMaxIntervalTimeoutInSeconds > this.TIME_BEFORE_EXPIRATION_IN_SECONDS) { - let timeout = (user.sessionMaxIntervalTimeoutInSeconds - this.TIME_BEFORE_EXPIRATION_IN_SECONDS) * 1000; + let timeout = Math.min((user.sessionMaxIntervalTimeoutInSeconds - this.TIME_BEFORE_EXPIRATION_IN_SECONDS) * 1000, this.MAXIMUM_TIMEOUT_VALUE); this.timerId = setTimeout(() => this.sessionExpiringSoon(user.sessionMaxIntervalTimeoutInSeconds), timeout); } return next.handle(req); @@ -54,3 +55,4 @@ export class HttpSessionInterceptor implements HttpInterceptor { }); } } + -- GitLab