The NFC kiosk previously required Web NFC, which is Android-Chrome-only. This blocked desktop testing and locked us to a single hardware path. Add a keyboard-wedge listener that captures keystrokes from USB HID NFC readers (the standard Sycreader/Yanzeo class). The listener buffers hex chars + separators, flushes on Enter (or 600ms idle as fallback for readers without a terminator), and routes the UID through the same handleTap()/_onEnrollTap() codepath as Web NFC. Photo verification, penalty calc, and activity logging all fire identically. Make the setup button tolerant: try Web NFC, but treat its absence as non-fatal. USB HID always activates. Only hard-fail when photoRequired is True AND the camera is unavailable. Result: same kiosk page now works on Android Chrome (Web NFC), desktop Chrome with a USB reader, or both at once. Bump manifest to 19.0.3.2.0.
4.5 KiB
4.5 KiB