fix(tickets): fallback unread detection to created date when last action missing

This commit is contained in:
Meik
2026-03-05 19:07:02 +01:00
parent d540dc3fb2
commit b8bd85d543
2 changed files with 10 additions and 4 deletions

View File

@@ -58,6 +58,7 @@
- Vor erfolgreichem Konfig-Ladevorgang wird die Oberfläche analog Offline-Zustand eingeschränkt (nur Info-Navigation und Info-Panel sichtbar). - 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. - 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`). - 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 ### Lokalisierung
- DE/EN-Ressourcen sprachlich bereinigt und vereinheitlicht. - DE/EN-Ressourcen sprachlich bereinigt und vereinheitlicht.

View File

@@ -171,16 +171,21 @@ namespace C4IT_CustomerPanel.UserControls
item.LastJournalEntryActionText = string.Empty; 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; item.IsUnread = true;
mainWindow.NewContentSignalsInfo[enumMainFunctions.Incident] = mainWindow.NewContentSignalsInfo[enumMainFunctions.Incident] =
Properties.Resources.NewTicketInfoMessage; Properties.Resources.NewTicketInfoMessage;
if (ti._lastJournalEntryDate > newLastUpdate) if (ticketUpdateDate > newLastUpdate)
newLastUpdate = ti._lastJournalEntryDate; newLastUpdate = ticketUpdateDate;
} }
else else
{ {