From b8bd85d5431e16108e3b6c1da2968b2677fe5133 Mon Sep 17 00:00:00 2001 From: Meik Date: Thu, 5 Mar 2026 19:07:02 +0100 Subject: [PATCH] fix(tickets): fallback unread detection to created date when last action missing --- Changelog.md | 1 + UserControls/Incidents.xaml.cs | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Changelog.md b/Changelog.md index 545e58b..3114040 100644 --- a/Changelog.md +++ b/Changelog.md @@ -58,6 +58,7 @@ - Vor erfolgreichem Konfig-Ladevorgang wird die Oberfläche analog Offline-Zustand eingeschränkt (nur Info-Navigation und Info-Panel sichtbar). - Header-Verbindungsindikator für Offline/Verbindungsaufbau als größerer farbiger Status-Badge (rot/orange) sichtbarer umgesetzt, mit Tooltip versehen und so positioniert, dass er nicht von Action-Buttons überdeckt wird. - AGENTS-Prozessregel ergänzt: Pushes standardmäßig über `git pushr` mit Retry/Backoff ausführen (Fallback: manuelle Wiederholungen mit `git push`). +- Ticket-Unread-/Red-Dot-Erkennung robuster gemacht: wenn `_lastJournalEntryDate` leer/`MinValue` ist (z. B. ohne sichtbare Last-Action), wird für die Neu-Erkennung auf `_createdDate` zurückgefallen. ### Lokalisierung - DE/EN-Ressourcen sprachlich bereinigt und vereinheitlicht. diff --git a/UserControls/Incidents.xaml.cs b/UserControls/Incidents.xaml.cs index ab0d755..9c8fb96 100644 --- a/UserControls/Incidents.xaml.cs +++ b/UserControls/Incidents.xaml.cs @@ -171,16 +171,21 @@ namespace C4IT_CustomerPanel.UserControls item.LastJournalEntryActionText = string.Empty; } - if (ti._lastJournalEntryDate > mainWindow.lastUpdate) + var ticketUpdateDate = ti._lastJournalEntryDate > DateTime.MinValue + ? ti._lastJournalEntryDate + : ti._createdDate; + + if (ticketUpdateDate > mainWindow.lastUpdate) { - unreadTickets.Add(ti._objectID); + if (!unreadTickets.Contains(ti._objectID)) + unreadTickets.Add(ti._objectID); item.IsUnread = true; mainWindow.NewContentSignalsInfo[enumMainFunctions.Incident] = Properties.Resources.NewTicketInfoMessage; - if (ti._lastJournalEntryDate > newLastUpdate) - newLastUpdate = ti._lastJournalEntryDate; + if (ticketUpdateDate > newLastUpdate) + newLastUpdate = ticketUpdateDate; } else {