round30: alle drei Scanner als Hintergrund-Job, Dienst-Duplikate strukturell verhindert (Migration+Constraint+Geraete-Sperre), zweiter Erkennungsversuch bei leerem Ersttreffer

This commit is contained in:
2026-07-24 15:14:00 +02:00
parent 2106c17301
commit 87fed21348
7 changed files with 308 additions and 140 deletions

View File

@@ -22,16 +22,18 @@ export function useScanActivity(): ScanActivity {
async function poll() {
try {
const [devicesRes, apisRes] = await Promise.all([
const [devicesRes, apisRes, fritzboxRes] = await Promise.all([
fetch("/api/scan/devices/all/status"),
fetch("/api/scan/apis/status"),
fetch("/api/scan/fritzbox/status"),
]);
if (cancelled) return;
const devicesStatus = devicesRes.ok ? await devicesRes.json() : null;
const apisStatus = apisRes.ok ? await apisRes.json() : null;
const fritzboxStatus = fritzboxRes.ok ? await fritzboxRes.json() : null;
const running = !!devicesStatus?.running || !!apisStatus?.running;
const running = !!devicesStatus?.running || !!apisStatus?.running || !!fritzboxStatus?.running;
const lastResult = devicesStatus?.lastResult;
const pendingCount = lastResult