pi-kiosk-shared 2.2.98 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +102 -9
  2. package/dist/barcode/normalizeScanPayload.d.ts +13 -1
  3. package/dist/barcode/normalizeScanPayload.d.ts.map +1 -1
  4. package/dist/barcode/normalizeScanPayload.js +95 -2
  5. package/dist/barcode/normalizeScanPayload.js.map +1 -1
  6. package/dist/barcode-scanner.d.ts +4 -1
  7. package/dist/barcode-scanner.d.ts.map +1 -1
  8. package/dist/barcode-scanner.js +4 -1
  9. package/dist/barcode-scanner.js.map +1 -1
  10. package/dist/hooks/decodeStillImage.d.ts +13 -0
  11. package/dist/hooks/decodeStillImage.d.ts.map +1 -0
  12. package/dist/hooks/decodeStillImage.js +258 -0
  13. package/dist/hooks/decodeStillImage.js.map +1 -0
  14. package/dist/hooks/scannerPlatformProfile.d.ts +23 -0
  15. package/dist/hooks/scannerPlatformProfile.d.ts.map +1 -0
  16. package/dist/hooks/scannerPlatformProfile.js +86 -0
  17. package/dist/hooks/scannerPlatformProfile.js.map +1 -0
  18. package/dist/hooks/selectEngine.d.ts +6 -4
  19. package/dist/hooks/selectEngine.d.ts.map +1 -1
  20. package/dist/hooks/useBarcodeScanner.d.ts +9 -29
  21. package/dist/hooks/useBarcodeScanner.d.ts.map +1 -1
  22. package/dist/hooks/useBarcodeScanner.js +211 -90
  23. package/dist/hooks/useBarcodeScanner.js.map +1 -1
  24. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.d.ts.map +1 -1
  25. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js +2 -14
  26. package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js.map +1 -1
  27. package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.d.ts.map +1 -1
  28. package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js +11 -9
  29. package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js.map +1 -1
  30. package/dist/tenant-entitlements/capabilityEntitlementRequirements.d.ts +2 -2
  31. package/dist/tenant-entitlements/capabilityEntitlementRequirements.d.ts.map +1 -1
  32. package/dist/tenant-entitlements/capabilityEntitlementRequirements.js +10 -11
  33. package/dist/tenant-entitlements/capabilityEntitlementRequirements.js.map +1 -1
  34. package/dist/tenant-entitlements/catalog.d.ts +1 -1
  35. package/dist/tenant-entitlements/catalog.d.ts.map +1 -1
  36. package/dist/tenant-entitlements/catalog.js +8 -34
  37. package/dist/tenant-entitlements/catalog.js.map +1 -1
  38. package/dist/tenant-entitlements/coreRequiredPolicyAxes.d.ts +6 -0
  39. package/dist/tenant-entitlements/coreRequiredPolicyAxes.d.ts.map +1 -0
  40. package/dist/tenant-entitlements/coreRequiredPolicyAxes.js +29 -0
  41. package/dist/tenant-entitlements/coreRequiredPolicyAxes.js.map +1 -0
  42. package/dist/tenant-entitlements/entitlementSimpleStateMapping.d.ts.map +1 -1
  43. package/dist/tenant-entitlements/entitlementSimpleStateMapping.js +11 -0
  44. package/dist/tenant-entitlements/entitlementSimpleStateMapping.js.map +1 -1
  45. package/dist/tenant-entitlements/index.d.ts +3 -0
  46. package/dist/tenant-entitlements/index.d.ts.map +1 -1
  47. package/dist/tenant-entitlements/index.js +2 -0
  48. package/dist/tenant-entitlements/index.js.map +1 -1
  49. package/dist/tenant-entitlements/legacyAnalyticsBlockMigration.d.ts +17 -0
  50. package/dist/tenant-entitlements/legacyAnalyticsBlockMigration.d.ts.map +1 -0
  51. package/dist/tenant-entitlements/legacyAnalyticsBlockMigration.js +54 -0
  52. package/dist/tenant-entitlements/legacyAnalyticsBlockMigration.js.map +1 -0
  53. package/dist/tenant-entitlements/types.d.ts +4 -4
  54. package/dist/tenant-entitlements/types.d.ts.map +1 -1
  55. package/dist/tenant-entitlements/types.js +4 -8
  56. package/dist/tenant-entitlements/types.js.map +1 -1
  57. package/package.json +2 -1
@@ -1,25 +1,23 @@
1
1
  import { useCallback, useEffect, useRef, useState } from 'react';
2
2
  import { BrowserMultiFormatReader } from '@zxing/browser';
3
3
  import { DecodeHintType } from '@zxing/library';
4
+ import { prepareScanPayloadForEmit } from '../barcode/normalizeScanPayload.js';
4
5
  import './scannerNativeTypes.js';
5
6
  import { resolveScannerFormatConfig, } from './scannerFormats.js';
6
7
  import { applyScannerDistanceZoom, applyScannerTrackEnhancements, openScannerMediaStream, } from './scannerCameraConstraints.js';
8
+ import { resolveScannerPlatformProfile } from './scannerPlatformProfile.js';
7
9
  import { createSensitiveZxingReader, decodeVideoFrameWithZxingJs, } from './zxingJsSensitiveDecode.js';
8
10
  import { createConfiguredZbarScanner, decodeVideoFrameWithZbar, isZbarWasmUrlConfigured, } from './zbarWasmEngine.js';
9
- /**
10
- * Optical zoom on ZBar primary path (focus/torch only on open).
11
- */
12
11
  export const SCANNER_DISTANCE_ASSIST_DELAY_MS = 1500;
13
- /**
14
- * After ZBar is running with no decode, start @zxing stream + multi-pass in
15
- * parallel (does not stop ZBar — G4 safety net for close EANs ZBar misses).
16
- */
12
+ /** @deprecated Distance-zoom assist delay only — @zxing assist starts on frame 0 (v2.2). */
17
13
  export const SCANNER_ZBAR_ZXING_ASSIST_DELAY_MS = SCANNER_DISTANCE_ASSIST_DELAY_MS;
18
- /**
19
- * Extra wait after @zxing multi-pass starts before optical zoom on the rare
20
- * legacy @zxing-only path (unused when G3 hard-fail is active).
21
- */
22
14
  export const SCANNER_DISTANCE_ZOOM_DELAY_MS = 1500;
15
+ const DECODE_MIN_FRAME_INTERVAL_MS = 40;
16
+ const EMIT_DEDUPE_MS = 800;
17
+ /** Minimum gap after a successful decode before another emit (G30 post-decode UX). */
18
+ export const SCANNER_POST_DECODE_COOLDOWN_MS = 600;
19
+ const MOBILE_BUDGET_P95_SLOW_MS = 25;
20
+ const MOBILE_BUDGET_P95_CRITICAL_MS = 40;
23
21
  function isInsecureCameraContext() {
24
22
  return typeof window !== 'undefined' && window.isSecureContext === false;
25
23
  }
@@ -34,21 +32,80 @@ function isCameraInUseError(err) {
34
32
  return (err instanceof DOMException &&
35
33
  (err.name === 'NotReadableError' || err.name === 'AbortError'));
36
34
  }
37
- /** ZBar + @zxing assist decode budget (~20–25 attempts/s). */
38
- const DECODE_MIN_FRAME_INTERVAL_MS = 40;
35
+ async function probeNativeBarcodeDetector(nativeFormats) {
36
+ if (typeof window === 'undefined' || window.BarcodeDetector === undefined) {
37
+ return false;
38
+ }
39
+ try {
40
+ const supported = await window.BarcodeDetector.getSupportedFormats();
41
+ return nativeFormats.every((f) => supported.includes(f));
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ function scheduleVideoTick(video, cb) {
48
+ const v = video;
49
+ if (typeof v.requestVideoFrameCallback === 'function') {
50
+ let handle = null;
51
+ let cancelled = false;
52
+ const onFrame = () => {
53
+ if (cancelled) {
54
+ return;
55
+ }
56
+ cb();
57
+ if (!cancelled) {
58
+ handle = v.requestVideoFrameCallback(onFrame);
59
+ }
60
+ };
61
+ handle = v.requestVideoFrameCallback(onFrame);
62
+ return {
63
+ cancel: () => {
64
+ cancelled = true;
65
+ if (handle !== null && typeof v.cancelVideoFrameCallback === 'function') {
66
+ v.cancelVideoFrameCallback(handle);
67
+ }
68
+ },
69
+ };
70
+ }
71
+ let rafId = null;
72
+ let cancelled = false;
73
+ const loop = () => {
74
+ if (cancelled) {
75
+ return;
76
+ }
77
+ cb();
78
+ if (!cancelled) {
79
+ rafId = requestAnimationFrame(loop);
80
+ }
81
+ };
82
+ rafId = requestAnimationFrame(loop);
83
+ return {
84
+ cancel: () => {
85
+ cancelled = true;
86
+ if (rafId !== null) {
87
+ cancelAnimationFrame(rafId);
88
+ }
89
+ },
90
+ };
91
+ }
92
+ function computeP95(samples) {
93
+ if (samples.length === 0) {
94
+ return 0;
95
+ }
96
+ const sorted = [...samples].sort((a, b) => a - b);
97
+ const idx = Math.min(sorted.length - 1, Math.floor(sorted.length * 0.95));
98
+ return sorted[idx] ?? 0;
99
+ }
39
100
  /**
40
- * Live camera barcode/QR decode.
41
- *
42
- * Primary: ZBar WASM multi-pass (immediate) + Chromium BarcodeDetector in parallel.
43
- * G3: hard-fail when WASM URL unset or ZBar boot fails — no silent @zxing fallback.
44
- * G4: after {@link SCANNER_ZBAR_ZXING_ASSIST_DELAY_MS} with no lock, @zxing assist
45
- * runs in parallel without stopping ZBar.
101
+ * Live camera barcode/QR decode — multi-engine parallel (ZBar + native + @zxing).
46
102
  */
47
103
  export function useBarcodeScanner(options) {
48
- const { enabled, videoRef, onDecode, messages, formatProfile = 'retail', onBackgroundStop, sessionKey = 0, } = options;
104
+ const { enabled, videoRef, onDecode, messages, formatProfile = 'retail', onBackgroundStop, sessionKey = 0, preAcquiredStreamRef, } = options;
49
105
  const [status, setStatus] = useState('idle');
50
106
  const [engine, setEngine] = useState(null);
51
107
  const [zxingAssistActive, setZxingAssistActive] = useState(false);
108
+ const [degradedMode, setDegradedMode] = useState(false);
52
109
  const [errorMessage, setErrorMessage] = useState(null);
53
110
  const [heldOffByBackground, setHeldOffByBackground] = useState(false);
54
111
  const onDecodeRef = useRef(onDecode);
@@ -65,6 +122,8 @@ export function useBarcodeScanner(options) {
65
122
  }, [onBackgroundStop]);
66
123
  const enabledRef = useRef(enabled);
67
124
  enabledRef.current = enabled;
125
+ const preAcquiredStreamRefRef = useRef(preAcquiredStreamRef);
126
+ preAcquiredStreamRefRef.current = preAcquiredStreamRef;
68
127
  const stopRef = useRef(null);
69
128
  if (!enabled && heldOffByBackground) {
70
129
  setHeldOffByBackground(false);
@@ -77,6 +136,7 @@ export function useBarcodeScanner(options) {
77
136
  setStatus('idle');
78
137
  setEngine(null);
79
138
  setZxingAssistActive(false);
139
+ setDegradedMode(false);
80
140
  setErrorMessage(null);
81
141
  }
82
142
  }
@@ -99,6 +159,7 @@ export function useBarcodeScanner(options) {
99
159
  setStatus('idle');
100
160
  setEngine(null);
101
161
  setZxingAssistActive(false);
162
+ setDegradedMode(false);
102
163
  setErrorMessage(null);
103
164
  onBackgroundStopRef.current?.();
104
165
  };
@@ -125,14 +186,17 @@ export function useBarcodeScanner(options) {
125
186
  let cancelled = false;
126
187
  let stream = null;
127
188
  let zxingControls = null;
128
- let zbarFrameHandle = null;
129
- let zxingMultiPassFrameHandle = null;
130
- let nativeFrameHandle = null;
189
+ let zbarFrameCancel = null;
190
+ let zxingMultiPassCancel = null;
191
+ let nativeFrameCancel = null;
131
192
  let distanceZoomTimer = null;
132
- let zxingAssistTimer = null;
193
+ let postDecodeRearmTimer = null;
133
194
  let gotDecode = false;
134
195
  let zxingAssistStarted = false;
196
+ let lastEmittedPayload = '';
197
+ let lastEmittedAt = 0;
135
198
  let zbarScanner = null;
199
+ const platform = resolveScannerPlatformProfile();
136
200
  const formatConfig = resolveScannerFormatConfig(formatProfile);
137
201
  const decodeCanvas = (() => {
138
202
  if (typeof document === 'undefined') {
@@ -145,36 +209,54 @@ export function useBarcodeScanner(options) {
145
209
  return null;
146
210
  }
147
211
  })();
148
- const zbarBootstrapErrorMessage = () => messagesRef.current.zbarBootstrapFailed ?? messagesRef.current.error;
149
212
  const clearAssistTimers = () => {
150
- if (zxingAssistTimer !== null) {
151
- clearTimeout(zxingAssistTimer);
152
- zxingAssistTimer = null;
153
- }
154
213
  if (distanceZoomTimer !== null) {
155
214
  clearTimeout(distanceZoomTimer);
156
215
  distanceZoomTimer = null;
157
216
  }
217
+ if (postDecodeRearmTimer !== null) {
218
+ clearTimeout(postDecodeRearmTimer);
219
+ postDecodeRearmTimer = null;
220
+ }
158
221
  };
159
222
  const emitDecode = (text) => {
160
- if (cancelled || text.length === 0) {
223
+ if (cancelled || gotDecode) {
161
224
  return;
162
225
  }
163
226
  gotDecode = true;
227
+ const prepared = prepareScanPayloadForEmit(text, formatProfile);
228
+ if (prepared === null || prepared.length === 0) {
229
+ gotDecode = false;
230
+ return;
231
+ }
232
+ const now = performance.now();
233
+ if (prepared === lastEmittedPayload &&
234
+ now - lastEmittedAt < Math.max(EMIT_DEDUPE_MS, SCANNER_POST_DECODE_COOLDOWN_MS)) {
235
+ gotDecode = false;
236
+ return;
237
+ }
238
+ lastEmittedPayload = prepared;
239
+ lastEmittedAt = now;
164
240
  clearAssistTimers();
165
241
  if (!cancelled) {
166
242
  setZxingAssistActive(false);
167
243
  }
168
- onDecodeRef.current(text);
169
- };
170
- const failZbarBootstrap = () => {
171
- if (!cancelled) {
172
- setStatus('error');
173
- setEngine(null);
174
- setZxingAssistActive(false);
175
- setErrorMessage(zbarBootstrapErrorMessage());
244
+ onDecodeRef.current(prepared);
245
+ if (typeof navigator !== 'undefined' &&
246
+ typeof navigator.vibrate === 'function') {
247
+ try {
248
+ navigator.vibrate(50);
249
+ }
250
+ catch {
251
+ // ignore unsupported vibrate
252
+ }
176
253
  }
177
- cleanup();
254
+ postDecodeRearmTimer = setTimeout(() => {
255
+ postDecodeRearmTimer = null;
256
+ if (!cancelled) {
257
+ gotDecode = false;
258
+ }
259
+ }, SCANNER_POST_DECODE_COOLDOWN_MS);
178
260
  };
179
261
  const cleanup = () => {
180
262
  clearAssistTimers();
@@ -184,28 +266,28 @@ export function useBarcodeScanner(options) {
184
266
  zxingControls.stop();
185
267
  }
186
268
  catch {
187
- // ignore teardown errors
269
+ // ignore
188
270
  }
189
271
  zxingControls = null;
190
272
  }
191
- if (zbarFrameHandle !== null) {
192
- cancelAnimationFrame(zbarFrameHandle);
193
- zbarFrameHandle = null;
273
+ if (zbarFrameCancel !== null) {
274
+ zbarFrameCancel();
275
+ zbarFrameCancel = null;
194
276
  }
195
- if (zxingMultiPassFrameHandle !== null) {
196
- cancelAnimationFrame(zxingMultiPassFrameHandle);
197
- zxingMultiPassFrameHandle = null;
277
+ if (zxingMultiPassCancel !== null) {
278
+ zxingMultiPassCancel();
279
+ zxingMultiPassCancel = null;
198
280
  }
199
- if (nativeFrameHandle !== null) {
200
- cancelAnimationFrame(nativeFrameHandle);
201
- nativeFrameHandle = null;
281
+ if (nativeFrameCancel !== null) {
282
+ nativeFrameCancel();
283
+ nativeFrameCancel = null;
202
284
  }
203
285
  if (zbarScanner !== null) {
204
286
  try {
205
287
  zbarScanner.destroy();
206
288
  }
207
289
  catch {
208
- // ignore teardown errors
290
+ // ignore
209
291
  }
210
292
  zbarScanner = null;
211
293
  }
@@ -215,7 +297,7 @@ export function useBarcodeScanner(options) {
215
297
  track.stop();
216
298
  }
217
299
  catch {
218
- // ignore teardown errors
300
+ // ignore
219
301
  }
220
302
  }
221
303
  stream = null;
@@ -230,6 +312,7 @@ export function useBarcodeScanner(options) {
230
312
  setStatus('starting');
231
313
  setErrorMessage(null);
232
314
  setZxingAssistActive(false);
315
+ setDegradedMode(false);
233
316
  if (isInsecureCameraContext()) {
234
317
  if (!cancelled) {
235
318
  setStatus('error');
@@ -245,7 +328,16 @@ export function useBarcodeScanner(options) {
245
328
  return;
246
329
  }
247
330
  try {
248
- stream = await openScannerMediaStream(navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices));
331
+ const handedOff = preAcquiredStreamRefRef.current?.current ?? null;
332
+ if (handedOff !== null) {
333
+ if (preAcquiredStreamRefRef.current !== undefined) {
334
+ preAcquiredStreamRefRef.current.current = null;
335
+ }
336
+ stream = handedOff;
337
+ }
338
+ else {
339
+ stream = await openScannerMediaStream(navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices));
340
+ }
249
341
  }
250
342
  catch (err) {
251
343
  if (cancelled) {
@@ -311,23 +403,31 @@ export function useBarcodeScanner(options) {
311
403
  cleanup();
312
404
  return;
313
405
  }
406
+ const nativeProbeOk = platform.nativeEnabled &&
407
+ (await probeNativeBarcodeDetector(formatConfig.nativeFormats));
314
408
  const startNativeParallelAssist = () => {
315
- if (typeof window === 'undefined' || window.BarcodeDetector === undefined) {
409
+ if (!nativeProbeOk || typeof window === 'undefined' || window.BarcodeDetector === undefined) {
316
410
  return;
317
411
  }
318
412
  const detector = new window.BarcodeDetector({
319
413
  formats: [...formatConfig.nativeFormats],
320
414
  });
415
+ let lastAttemptMs = 0;
321
416
  const tick = async () => {
322
417
  if (cancelled || gotDecode) {
323
418
  return;
324
419
  }
325
- if (video.readyState >= 2) {
420
+ const now = performance.now();
421
+ if (video.readyState >= 2 && now - lastAttemptMs >= DECODE_MIN_FRAME_INTERVAL_MS) {
422
+ lastAttemptMs = now;
326
423
  try {
327
424
  const results = await detector.detect(video);
328
425
  const first = results[0];
329
426
  if (first !== undefined && first.rawValue.trim().length > 0) {
330
- emitDecode(first.rawValue.trim());
427
+ emitDecode(first.rawValue);
428
+ if (!cancelled && !gotDecode) {
429
+ setEngine('native-detector');
430
+ }
331
431
  return;
332
432
  }
333
433
  }
@@ -335,15 +435,11 @@ export function useBarcodeScanner(options) {
335
435
  // keep scanning
336
436
  }
337
437
  }
338
- if (!cancelled && !gotDecode) {
339
- nativeFrameHandle = requestAnimationFrame(() => {
340
- void tick();
341
- });
342
- }
343
438
  };
344
- nativeFrameHandle = requestAnimationFrame(() => {
439
+ const sched = scheduleVideoTick(video, () => {
345
440
  void tick();
346
441
  });
442
+ nativeFrameCancel = sched.cancel;
347
443
  };
348
444
  const startZbarLoop = async () => {
349
445
  if (decodeCanvas === null) {
@@ -369,6 +465,7 @@ export function useBarcodeScanner(options) {
369
465
  let lastAttemptMs = 0;
370
466
  let busy = false;
371
467
  let zbarTickCount = 0;
468
+ const decodeDurations = [];
372
469
  const tick = () => {
373
470
  if (cancelled || gotDecode) {
374
471
  return;
@@ -380,25 +477,44 @@ export function useBarcodeScanner(options) {
380
477
  lastAttemptMs = now;
381
478
  busy = true;
382
479
  zbarTickCount += 1;
383
- const quickOnly = zbarTickCount % 3 !== 0;
480
+ const p95 = computeP95(decodeDurations);
481
+ let quickOnly = false;
482
+ if (platform.zbarFullPassEveryFrame) {
483
+ quickOnly = false;
484
+ }
485
+ else if (p95 > MOBILE_BUDGET_P95_CRITICAL_MS) {
486
+ quickOnly = zbarTickCount % 3 !== 0;
487
+ }
488
+ else if (p95 > MOBILE_BUDGET_P95_SLOW_MS) {
489
+ quickOnly = zbarTickCount % 2 !== 0;
490
+ }
491
+ else {
492
+ quickOnly = false;
493
+ }
494
+ const started = performance.now();
384
495
  void decodeVideoFrameWithZbar(video, decodeCanvas, scanner, { quickOnly })
385
496
  .then((text) => {
386
497
  if (!cancelled && text !== null) {
387
498
  emitDecode(text);
499
+ if (!gotDecode) {
500
+ setEngine('zbar-wasm');
501
+ }
388
502
  }
389
503
  })
390
504
  .catch(() => {
391
505
  // keep scanning
392
506
  })
393
507
  .finally(() => {
508
+ decodeDurations.push(performance.now() - started);
509
+ if (decodeDurations.length > 10) {
510
+ decodeDurations.shift();
511
+ }
394
512
  busy = false;
395
513
  });
396
514
  }
397
- if (!cancelled && !gotDecode) {
398
- zbarFrameHandle = requestAnimationFrame(tick);
399
- }
400
515
  };
401
- zbarFrameHandle = requestAnimationFrame(tick);
516
+ const sched = scheduleVideoTick(video, tick);
517
+ zbarFrameCancel = sched.cancel;
402
518
  return true;
403
519
  };
404
520
  const startZxingStreamAssist = async () => {
@@ -414,6 +530,9 @@ export function useBarcodeScanner(options) {
414
530
  }
415
531
  if (result !== undefined && result !== null) {
416
532
  emitDecode(result.getText());
533
+ if (!cancelled && !gotDecode) {
534
+ setEngine('zxing');
535
+ }
417
536
  }
418
537
  });
419
538
  if (cancelled) {
@@ -421,7 +540,7 @@ export function useBarcodeScanner(options) {
421
540
  zxingControls.stop();
422
541
  }
423
542
  catch {
424
- // ignore teardown errors
543
+ // ignore
425
544
  }
426
545
  zxingControls = null;
427
546
  }
@@ -458,6 +577,9 @@ export function useBarcodeScanner(options) {
458
577
  const text = decodeVideoFrameWithZxingJs(video, decodeCanvas, reader);
459
578
  if (!cancelled && text !== null) {
460
579
  emitDecode(text);
580
+ if (!gotDecode) {
581
+ setEngine('zxing');
582
+ }
461
583
  }
462
584
  }
463
585
  catch {
@@ -467,11 +589,9 @@ export function useBarcodeScanner(options) {
467
589
  busy = false;
468
590
  }
469
591
  }
470
- if (!cancelled && !gotDecode) {
471
- zxingMultiPassFrameHandle = requestAnimationFrame(tick);
472
- }
473
592
  };
474
- zxingMultiPassFrameHandle = requestAnimationFrame(tick);
593
+ const sched = scheduleVideoTick(video, tick);
594
+ zxingMultiPassCancel = sched.cancel;
475
595
  return true;
476
596
  };
477
597
  const startZxingParallelAssist = () => {
@@ -505,36 +625,37 @@ export function useBarcodeScanner(options) {
505
625
  void applyScannerDistanceZoom(trackForAssist);
506
626
  }, SCANNER_DISTANCE_ASSIST_DELAY_MS);
507
627
  };
508
- const scheduleZxingParallelAssist = () => {
509
- zxingAssistTimer = setTimeout(() => {
510
- zxingAssistTimer = null;
511
- if (cancelled || gotDecode) {
512
- return;
513
- }
514
- startZxingParallelAssist();
515
- }, SCANNER_ZBAR_ZXING_ASSIST_DELAY_MS);
628
+ const bootDegraded = () => {
629
+ if (!cancelled) {
630
+ setDegradedMode(true);
631
+ setEngine('zxing');
632
+ setStatus('running');
633
+ }
634
+ startNativeParallelAssist();
635
+ startZxingParallelAssist();
636
+ scheduleZbarDistanceZoom();
516
637
  };
517
- // G3 — ZBar required; no silent @zxing boot fallback.
518
- if (!isZbarWasmUrlConfigured()) {
519
- failZbarBootstrap();
520
- return;
638
+ const zbarConfigured = isZbarWasmUrlConfigured();
639
+ let zbarOk = false;
640
+ if (zbarConfigured) {
641
+ zbarOk = await startZbarLoop();
521
642
  }
522
- const zbarOk = await startZbarLoop();
523
643
  if (cancelled) {
524
644
  cleanup();
525
645
  return;
526
646
  }
527
- if (!zbarOk) {
528
- failZbarBootstrap();
647
+ if (!zbarConfigured || !zbarOk) {
648
+ bootDegraded();
529
649
  return;
530
650
  }
531
- startNativeParallelAssist();
532
- scheduleZbarDistanceZoom();
533
- scheduleZxingParallelAssist();
534
651
  if (!cancelled) {
652
+ setDegradedMode(false);
535
653
  setEngine('zbar-wasm');
536
654
  setStatus('running');
537
655
  }
656
+ startNativeParallelAssist();
657
+ startZxingParallelAssist();
658
+ scheduleZbarDistanceZoom();
538
659
  })();
539
660
  return () => {
540
661
  cancelled = true;
@@ -542,6 +663,6 @@ export function useBarcodeScanner(options) {
542
663
  stopRef.current = null;
543
664
  };
544
665
  }, [scanningEnabled, formatProfile, sessionKey, stop, videoRef]);
545
- return { status, engine, zxingAssistActive, errorMessage };
666
+ return { status, engine, zxingAssistActive, degradedMode, errorMessage };
546
667
  }
547
668
  //# sourceMappingURL=useBarcodeScanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBarcodeScanner.js","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBarcodeScanner.js","sourceRoot":"","sources":["../../src/hooks/useBarcodeScanner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"applySimpleStateDependencyImplications.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAwC9E;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAoD9D"}
1
+ {"version":3,"file":"applySimpleStateDependencyImplications.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA0B9E;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAoD9D"}
@@ -2,12 +2,8 @@ import { applyCatalogParentDenialImplications } from './catalogParentSatisfactio
2
2
  import { shouldForceImmediateSelfPickupCollectOnly } from './immediateSelfPickupCollectOnly.js';
3
3
  import { applyPickupOperationsClusterSync } from './pickupOperationsCluster.js';
4
4
  const ANALYTICS_UMBRELLA_CHILD_KEYS = [
5
- 'analytics_summary',
6
- 'analytics_detailed',
7
- 'analytics_benchmark',
8
- 'mission_control',
9
- 'analytics_pii',
10
- 'customer_behavior_funnels',
5
+ 'analytics_overview',
6
+ 'analytics_explore',
11
7
  ];
12
8
  function isRuntimeActiveSimpleState(state) {
13
9
  return state === 'on' || state === 'softOffVisible' || state === 'softOffHidden';
@@ -18,14 +14,6 @@ function applyAnalyticsClusterImplications(states) {
18
14
  if (anyAnalyticsChildActive) {
19
15
  result.analytics = 'on';
20
16
  }
21
- if (isRuntimeActiveSimpleState(result.mission_control)) {
22
- result.analytics_detailed = 'on';
23
- }
24
- if (!isRuntimeActiveSimpleState(result.analytics_detailed)) {
25
- result.mission_control = 'off';
26
- result.analytics_pii = 'off';
27
- result.customer_behavior_funnels = 'off';
28
- }
29
17
  return result;
30
18
  }
31
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"applySimpleStateDependencyImplications.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applySimpleStateDependencyImplications.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"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"}