refactor(qr-scanner): improve QR code scanning with Web Workers and enhanced error handling
- Move QR code processing to Web Worker for better performance - Add comprehensive camera state tracking and logging - Implement proper app lifecycle management - Add image size limits and optimization (max 1024px) - Add proper cleanup of resources (worker, timeouts, listeners) - Improve error handling with detailed error messages - Add TypeScript interfaces for worker messages and QR code results - Update Vite config to properly handle Capacitor builds
This commit is contained in:
7
.cursor/rules/reports.mdc
Normal file
7
.cursor/rules/reports.mdc
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
description:
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
- make reports chronologically in paragraph form without using pronouns or references to people
|
||||
- use this git command to make a report:
|
||||
16
.cursor/rules/ts-cross-platform-rule.mdc
Normal file
16
.cursor/rules/ts-cross-platform-rule.mdc
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
description:
|
||||
globs:
|
||||
alwaysApply: true
|
||||
---
|
||||
- all cross platform builds need to conform to [PlatformService.ts](mdc:src/services/PlatformService.ts), and [PlatformServiceFactory.ts](mdc:src/services/PlatformServiceFactory.ts)
|
||||
- [CapacitorPlatformService.ts](mdc:src/services/platforms/CapacitorPlatformService.ts) is used for mobile both iOS and Android
|
||||
- [ElectronPlatformService.ts](mdc:src/services/platforms/ElectronPlatformService.ts) is used for cross-platform (Windows, MacOS, and Linux) desktop builds using Electron.
|
||||
- [WebPlatformService.ts](mdc:src/services/platforms/WebPlatformService.ts) is used for traditional web browsers and PWA (Progressive Web Applications)
|
||||
- [PyWebViewPlatformService.ts](mdc:src/services/platforms/PyWebViewPlatformService.ts) is used for handling a electron-like desktop application which can run Python
|
||||
- Vite is used to differentiate builds for platforms
|
||||
- @vite.config.mts is used for general configuration which uses environment variables to determine next actions
|
||||
- @vite.config.common.mts handles common features in vite builds.
|
||||
- [vite.config.capacitor.mts](mdc:vite.config.capacitor.mts) handles features of Vite builds for capacitor
|
||||
- [vite.config.electron.mts](mdc:vite.config.electron.mts) handles features of Vite builds for electron
|
||||
- [vite.config.web.mts](mdc:vite.config.web.mts) handles features of Vite builds for traditional web browsers and PWAs
|
||||
Reference in New Issue
Block a user