From 9d3de60db20449d6f7373dd0b0086667f3904f1b Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 7 Jun 2026 20:14:51 +0000 Subject: [PATCH] [client] Revert silent deadline-rejected event; restore userMessage MetaSessionDeadlineRejected had no UI consumer: the tray only does metadata-driven localisation for MetaSessionWarning events; all other SystemEvents display userMessage directly (tray_events.go). Leaving userMessage empty made the rejection invisible to the user. Restore the English userMessage so the generic event path shows something, and remove the unused MetaSessionDeadlineRejected constant. https://claude.ai/code/session_01Y3bQoNgcVjTD4zDTvv7a8u --- client/internal/auth/sessionwatch/event.go | 7 ------- client/internal/engine_authsession.go | 5 ++--- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/client/internal/auth/sessionwatch/event.go b/client/internal/auth/sessionwatch/event.go index 81df3319a..7a0ec8ce7 100644 --- a/client/internal/auth/sessionwatch/event.go +++ b/client/internal/auth/sessionwatch/event.go @@ -33,13 +33,6 @@ const ( // for the T-10 event, FinalWarningLead for the T-2 event) so the UI // can show "expires in ~N minutes" without hardcoding either constant. MetaSessionLeadMinutes = "lead_minutes" - // MetaSessionDeadlineRejected is set to the rejection reason when the - // daemon discards a deadline received from the management server (e.g. - // pre-epoch, too far in the future, or past the clock-skew tolerance). - // The UI uses this key to detect the event and display a localized - // message; userMessage is intentionally left empty for the same reason - // as the warning events above. - MetaSessionDeadlineRejected = "session_deadline_rejected" ) // expiresAtLayout is the wire format used for MetaSessionExpiresAt. diff --git a/client/internal/engine_authsession.go b/client/internal/engine_authsession.go index 8335c2cb5..c12b6de6b 100644 --- a/client/internal/engine_authsession.go +++ b/client/internal/engine_authsession.go @@ -10,7 +10,6 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" cProto "github.com/netbirdio/netbird/client/proto" - "github.com/netbirdio/netbird/client/internal/auth/sessionwatch" "github.com/netbirdio/netbird/client/system" ) @@ -57,8 +56,8 @@ func (e *Engine) ApplySessionDeadline(ts *timestamppb.Timestamp) { cProto.SystemEvent_ERROR, cProto.SystemEvent_AUTHENTICATION, "session deadline rejected", - "", - map[string]string{sessionwatch.MetaSessionDeadlineRejected: err.Error()}, + "The session expiry time from the server could not be applied. Re-login may be required.", + map[string]string{"reason": err.Error()}, ) } }