Ignore scanner decode noise and log debug errors in dev
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful

This commit is contained in:
2026-04-12 00:24:41 +02:00
parent bbb5bd4dea
commit 9677e47680
2 changed files with 30 additions and 10 deletions
+15 -5
View File
@@ -784,6 +784,9 @@ export function labelCreatePageData(store) {
this.stopScanner(); this.stopScanner();
this.scannerState.isLoading = true; this.scannerState.isLoading = true;
const shouldLogDecodeErrors = import.meta.env.DEV;
let lastDecodeErrorName = '';
let lastDecodeErrorAt = 0;
try { try {
if (!this.scannerReader) { if (!this.scannerReader) {
@@ -804,13 +807,20 @@ export function labelCreatePageData(store) {
return; return;
} }
if (!error || error?.name === 'NotFoundException') { if (error) {
// Continuous decode emits expected per-frame misses/errors before a valid barcode is found.
// Keep the modal quiet and only surface startup failures from the outer catch block.
if (shouldLogDecodeErrors) {
const errorName = String(error?.name || 'UnknownError');
const now = Date.now();
if (errorName !== lastDecodeErrorName || now - lastDecodeErrorAt > 2000) {
console.debug('[scanner] Ignoring frame decode error while scanning:', errorName, error?.message || '');
lastDecodeErrorName = errorName;
lastDecodeErrorAt = now;
}
}
return; return;
} }
if (!this.scannerState.error) {
this.scannerState.error = this.normalizeScannerError(error);
}
}, },
); );
} catch (error) { } catch (error) {
+15 -5
View File
@@ -470,6 +470,9 @@ export function stockDetailPageData(store) {
this.stopScanner(); this.stopScanner();
this.scannerState.isLoading = true; this.scannerState.isLoading = true;
const shouldLogDecodeErrors = import.meta.env.DEV;
let lastDecodeErrorName = '';
let lastDecodeErrorAt = 0;
try { try {
if (!this.scannerReader) { if (!this.scannerReader) {
@@ -490,13 +493,20 @@ export function stockDetailPageData(store) {
return; return;
} }
if (!error || error?.name === 'NotFoundException') { if (error) {
// Continuous decode emits expected per-frame misses/errors before a valid barcode is found.
// Keep the modal quiet and only surface startup failures from the outer catch block.
if (shouldLogDecodeErrors) {
const errorName = String(error?.name || 'UnknownError');
const now = Date.now();
if (errorName !== lastDecodeErrorName || now - lastDecodeErrorAt > 2000) {
console.debug('[scanner] Ignoring frame decode error while scanning:', errorName, error?.message || '');
lastDecodeErrorName = errorName;
lastDecodeErrorAt = now;
}
}
return; return;
} }
if (!this.scannerState.error) {
this.scannerState.error = this.normalizeScannerError(error);
}
}, },
); );
} catch (error) { } catch (error) {