diff --git a/client/ui/i18n/locales/de/common.json b/client/ui/i18n/locales/de/common.json index 492bf3c3c..9b6534236 100644 --- a/client/ui/i18n/locales/de/common.json +++ b/client/ui/i18n/locales/de/common.json @@ -320,10 +320,10 @@ "sessionExpired.signIn": "Anmelden", "sessionAboutToExpire.title": "Sitzung läuft bald ab", - "sessionAboutToExpire.titleLater": "Sitzung läuft ab", - "sessionAboutToExpire.description": "Ihre NetBird-Sitzung läuft in Kürze ab. Bleiben Sie verbunden, damit Ihre Geräte online bleiben.", - "sessionAboutToExpire.descriptionLater": "Ihre NetBird-Sitzung läuft ab. Verlängern Sie jetzt, damit Ihre Geräte online bleiben.", - "sessionAboutToExpire.stay": "Verbunden bleiben", + "sessionAboutToExpire.titleLater": "Ihre Sitzung läuft ab", + "sessionAboutToExpire.description": "Dieses Gerät wird bald getrennt. Browser-Anmeldung zum Erneuern erforderlich.", + "sessionAboutToExpire.descriptionLater": "Eine Browser-Anmeldung hält dieses Gerät mit Ihrem Netzwerk verbunden.", + "sessionAboutToExpire.stay": "Sitzung erneuern", "sessionAboutToExpire.logout": "Abmelden", "sessionAboutToExpire.expired": "Sitzung abgelaufen", "sessionAboutToExpire.extendFailedTitle": "Sitzungsverlängerung fehlgeschlagen", diff --git a/client/ui/i18n/locales/en/common.json b/client/ui/i18n/locales/en/common.json index 564bdf89a..de59e33b1 100644 --- a/client/ui/i18n/locales/en/common.json +++ b/client/ui/i18n/locales/en/common.json @@ -337,10 +337,10 @@ "sessionExpired.signIn": "Sign in", "sessionAboutToExpire.title": "Session expiring soon", - "sessionAboutToExpire.titleLater": "Session will expire", - "sessionAboutToExpire.description": "Your NetBird session will expire shortly. Stay connected to keep your devices online.", - "sessionAboutToExpire.descriptionLater": "Your NetBird session will expire. Extend now to keep your devices online.", - "sessionAboutToExpire.stay": "Stay connected", + "sessionAboutToExpire.titleLater": "Your session will expire", + "sessionAboutToExpire.description": "This device will disconnect soon. Renew with a browser sign-in.", + "sessionAboutToExpire.descriptionLater": "A browser sign-in keeps this device connected to your network.", + "sessionAboutToExpire.stay": "Renew session", "sessionAboutToExpire.logout": "Logout", "sessionAboutToExpire.expired": "Session expired", "sessionAboutToExpire.extendFailedTitle": "Extend Session Failed", diff --git a/client/ui/i18n/locales/hu/common.json b/client/ui/i18n/locales/hu/common.json index 2967171bd..1e261f453 100644 --- a/client/ui/i18n/locales/hu/common.json +++ b/client/ui/i18n/locales/hu/common.json @@ -320,10 +320,10 @@ "sessionExpired.signIn": "Bejelentkezés", "sessionAboutToExpire.title": "A munkamenet hamarosan lejár", - "sessionAboutToExpire.titleLater": "A munkamenet lejár", - "sessionAboutToExpire.description": "A NetBird munkamenete hamarosan lejár. Maradjon csatlakoztatva, hogy az eszközei elérhetők maradjanak.", - "sessionAboutToExpire.descriptionLater": "A NetBird munkamenete lejár. Hosszabbítsa meg most, hogy az eszközei elérhetők maradjanak.", - "sessionAboutToExpire.stay": "Maradjon csatlakoztatva", + "sessionAboutToExpire.titleLater": "A munkamenete lejár", + "sessionAboutToExpire.description": "Az eszköz hamarosan lecsatlakozik. Megújításhoz böngészős bejelentkezés kell.", + "sessionAboutToExpire.descriptionLater": "Egy böngészős bejelentkezés a hálózaton tartja az eszközt.", + "sessionAboutToExpire.stay": "Munkamenet megújítása", "sessionAboutToExpire.logout": "Kijelentkezés", "sessionAboutToExpire.expired": "Munkamenet lejárt", "sessionAboutToExpire.extendFailedTitle": "A munkamenet meghosszabbítása sikertelen", diff --git a/client/ui/tray_session.go b/client/ui/tray_session.go index 194cf834f..be6a55428 100644 --- a/client/ui/tray_session.go +++ b/client/ui/tray_session.go @@ -60,20 +60,23 @@ func (t *Tray) applySessionExpiry(deadline *time.Time, connected bool) { d = *deadline } - switch { - case deadline == nil: - log.Infof("tray applySessionExpiry: deadline= connected=%v → row hidden", connected) - case deadline.IsZero(): - log.Infof("tray applySessionExpiry: deadline= connected=%v → row hidden", connected) - default: - log.Infof("tray applySessionExpiry: deadline=%s (in %s) connected=%v", - deadline.Format(time.RFC3339), time.Until(*deadline), connected) - } - t.sessionMu.Lock() + changed := !t.sessionExpiresAt.Equal(d) t.sessionExpiresAt = d t.sessionMu.Unlock() + if changed { + switch { + case deadline == nil: + log.Infof("tray applySessionExpiry: deadline= connected=%v → row hidden", connected) + case deadline.IsZero(): + log.Infof("tray applySessionExpiry: deadline= connected=%v → row hidden", connected) + default: + log.Infof("tray applySessionExpiry: deadline=%s (in %s) connected=%v", + deadline.Format(time.RFC3339), time.Until(*deadline), connected) + } + } + if t.sessionExpiresItem == nil { return }