generated from Dicken/dickendock
round62: Ueberfluessigen Delta-Satz unterdruecken, wenn er nichts Neues gegenueber der Standard-Zusammenfassung aussagt
This commit is contained in:
@@ -632,7 +632,7 @@ export async function scanRoutes(app: FastifyInstance): Promise<void> {
|
|||||||
const currentServiceIds = serviceRepo.listServices().map((s) => s.id);
|
const currentServiceIds = serviceRepo.listServices().map((s) => s.id);
|
||||||
const currentServiceIdSet = new Set(currentServiceIds);
|
const currentServiceIdSet = new Set(currentServiceIds);
|
||||||
|
|
||||||
let changesSinceLastScan: string;
|
let changesSinceLastScan: string | null;
|
||||||
if (cancelled) {
|
if (cancelled) {
|
||||||
changesSinceLastScan = "Abgebrochen - kein vollständiger Vergleich möglich.";
|
changesSinceLastScan = "Abgebrochen - kein vollständiger Vergleich möglich.";
|
||||||
} else if (previousServiceIds === null) {
|
} else if (previousServiceIds === null) {
|
||||||
@@ -641,7 +641,18 @@ export async function scanRoutes(app: FastifyInstance): Promise<void> {
|
|||||||
const previousSet = new Set(previousServiceIds);
|
const previousSet = new Set(previousServiceIds);
|
||||||
const newlyAppeared = currentServiceIds.filter((id) => !previousSet.has(id));
|
const newlyAppeared = currentServiceIds.filter((id) => !previousSet.has(id));
|
||||||
const deletedSinceLastScan = previousServiceIds.filter((id) => !currentServiceIdSet.has(id));
|
const deletedSinceLastScan = previousServiceIds.filter((id) => !currentServiceIdSet.has(id));
|
||||||
if (newlyAppeared.length === 0 && deletedSinceLastScan.length === 0) {
|
// Der Satz ist reine Wiederholung, wenn er GENAU dasselbe aussagt
|
||||||
|
// wie die Standard-Zusammenfassung ("X neue(r) Dienst(e) gefunden")
|
||||||
|
// ohnehin schon (newlyAppeared === created, nichts gelöscht) - dann
|
||||||
|
// komplett weglassen statt zweimal dasselbe zu sagen. Weicht die
|
||||||
|
// Zahl dagegen ab (z. B. weil zwischen zwei Sammel-Scans ein
|
||||||
|
// Einzelgeräte-Scan lief, oder weil ein vorheriger Lauf
|
||||||
|
// abgebrochen wurde und die Vergleichsbasis dadurch älter ist),
|
||||||
|
// ist das selbst eine nützliche Information und bleibt sichtbar.
|
||||||
|
const isRedundant = newlyAppeared.length === created && deletedSinceLastScan.length === 0;
|
||||||
|
if (isRedundant) {
|
||||||
|
changesSinceLastScan = null;
|
||||||
|
} else if (newlyAppeared.length === 0 && deletedSinceLastScan.length === 0) {
|
||||||
changesSinceLastScan = "Keine Änderungen seit dem letzten Sammel-Scan.";
|
changesSinceLastScan = "Keine Änderungen seit dem letzten Sammel-Scan.";
|
||||||
} else {
|
} else {
|
||||||
const parts: string[] = [];
|
const parts: string[] = [];
|
||||||
|
|||||||
Reference in New Issue
Block a user