From 9dc98784727933b1561a0fc8f19c5e8b93e0ceeb Mon Sep 17 00:00:00 2001 From: Matt Raymer Date: Tue, 29 Apr 2025 06:10:12 -0400 Subject: [PATCH] fix(qr-scanner): robustly handle array/object detection results and guarantee dialog dismissal - Update QRScannerDialog.vue to handle both array and object detection results in onDetect fallback logic (supports vue-qrcode-reader returning arrays). - Ensure dialog closes and scan is processed for all detection result shapes. - Use arrow function for close() to guarantee correct binding with vue-facing-decorator. - Add enhanced logging for all dialog lifecycle and close/cleanup events. - In WebDialogQRScanner, use direct mount result (not $refs) for dialogComponent to ensure correct instance. - Add sessionId and improved logging for dialog open/close/cleanup lifecycle. --- src/components/QRScanner/QRScannerDialog.vue | 254 +++++++++++++------ src/services/QRScanner/WebDialogQRScanner.ts | 43 +++- src/utils/LogCollector.ts | 45 ++++ 3 files changed, 260 insertions(+), 82 deletions(-) create mode 100644 src/utils/LogCollector.ts diff --git a/src/components/QRScanner/QRScannerDialog.vue b/src/components/QRScanner/QRScannerDialog.vue index 49660a57..77534240 100644 --- a/src/components/QRScanner/QRScannerDialog.vue +++ b/src/components/QRScanner/QRScannerDialog.vue @@ -228,11 +228,18 @@ > Cancel + +
{{ errorMessage }}