generated from Dicken/dickendock
round15: manuelle Aenderungen nicht mehr nachfragen, 7-Tage-Schwelle fuer verschwundene Geraete, Icon-Buttons mit Tooltip, fixierte mobile Kopfleiste, Scroll-to-top-Button
This commit is contained in:
@@ -208,10 +208,21 @@ export async function scanRoutes(app: FastifyInstance): Promise<void> {
|
||||
);
|
||||
|
||||
// Geräte, die die FritzBox früher gemeldet hatte, diesmal aber nicht
|
||||
// mehr in der Liste sind – nicht automatisch gelöscht, nur zur
|
||||
// manuellen Durchsicht zurückgegeben.
|
||||
// mehr in der Liste sind – werden erst nach mindestens 7 Tagen
|
||||
// Abwesenheit zur Durchsicht vorgeschlagen (nicht schon beim ersten
|
||||
// verpassten Scan), damit ein kurzzeitig offline/im Standby befindliches
|
||||
// Gerät (Reboot, WLAN-Aussetzer, Nacht-Standby) nicht sofort zum
|
||||
// Löschen vorgeschlagen wird. lastScan wird bei jedem Fund aktualisiert
|
||||
// (siehe upsertDeviceFromScan) - bleibt es stehen, war das Gerät seither
|
||||
// nicht mehr da.
|
||||
const SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000;
|
||||
const now = Date.now();
|
||||
const foundIps = new Set(hosts.map((h) => h.ip));
|
||||
const staleDevices = devicesBeforeScan.filter((d) => !foundIps.has(d.ip));
|
||||
const staleDevices = devicesBeforeScan.filter((d) => {
|
||||
if (foundIps.has(d.ip)) return false;
|
||||
const lastSeen = d.lastScan ? new Date(d.lastScan).getTime() : 0;
|
||||
return now - lastSeen >= SEVEN_DAYS_MS;
|
||||
});
|
||||
|
||||
logRepo.logScan({
|
||||
type: "fritzbox",
|
||||
|
||||
Reference in New Issue
Block a user