Logo für Webseiten-Tab implementiert
Dieser Commit ist enthalten in:
committet von
Server Deploy
Ursprung
ef153789cc
Commit
5b1f8b1cfe
@ -532,19 +532,24 @@ class SessionTimerHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Session refreshen um neues Token zu bekommen
|
||||
this.isActive = true; // Aktivieren damit refreshSession funktioniert
|
||||
await this.refreshSession();
|
||||
// Timer mit aktuellem Token starten
|
||||
this.expiresAt = expiresAt;
|
||||
this.isActive = true;
|
||||
this.start();
|
||||
|
||||
// Timer mit neuem Token starten
|
||||
this.updateFromToken();
|
||||
if (this.expiresAt) {
|
||||
this.start();
|
||||
return true;
|
||||
// Token-Refresh VERZÖGERN um Race-Condition zu vermeiden:
|
||||
// Andere Module machen beim Start Requests mit dem aktuellen Token.
|
||||
// Ein sofortiger Refresh würde den Token ändern, während Requests noch laufen.
|
||||
const remainingTime = expiresAt - Date.now();
|
||||
const refreshThreshold = 5 * 60 * 1000; // 5 Minuten
|
||||
|
||||
if (remainingTime < refreshThreshold) {
|
||||
// Token läuft bald ab - nach kurzer Verzögerung refreshen
|
||||
setTimeout(() => this.refreshSession(), 2000);
|
||||
}
|
||||
// Sonst: Token ist noch frisch genug, Refresh passiert später durch Interaktion
|
||||
|
||||
this.isActive = false;
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
start() {
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren