diff --git a/app.js b/app.js index df14e6f..752fd13 100644 --- a/app.js +++ b/app.js @@ -135,6 +135,12 @@ const c = $(canvasId); const ctx = c.getContext('2d', { willReadFrequently: true }); let lastScan = 0; + let lastLog = 0; + const logThrottled = (now, msg) => { + if (now - lastLog < 1000) return; + lastLog = now; + addPairingLog(msg); + }; const detect = barcodeDetector ? async () => { @@ -153,13 +159,20 @@ if (!v.videoWidth) { camRaf = requestAnimationFrame(tick); return; } if (now - lastScan < 100) { camRaf = requestAnimationFrame(tick); return; } lastScan = now; + let raw = null; try { - const raw = await detect(); + raw = await detect(); if (raw) { const p = await unpack(raw); - if (p.v === 1) { callback(p, raw); return; } + if (p.v === 1) { + logThrottled(now, 'QR gescannt ✓'); + callback(p, raw); + return; + } } - } catch (_) {} + } catch (e) { + if (raw) logThrottled(now, `QR gescannt, aber ungültige Daten: ${e.message}`); + } camRaf = requestAnimationFrame(tick); }); }