206 Commits

Author SHA1 Message Date
shawn 8b92d37d01 camera: taller viewport (16/14), less bottom margin (4px) 2026-05-20 17:51:52 -04:00
shawn fc0a3ee9be fix: auto-update asset lat/lng on check-in so map shows pins
Previously assets never had coordinates populated - only checkins did.
Now when a checkin is created with GPS data, the asset's latitude/longitude
fields are auto-updated. Also backfilled existing assets from their latest
checkin history. This fixes empty maps — loadAssetPins() filters by
a.latitude != null.
2026-05-20 15:43:43 -04:00
shawn 8cc563374d fix: call listVideoInputDevices on reader instance, not static
ZXing.BrowserMultiFormatReader.listVideoInputDevices is an instance
method, not a static method. Call codeReader.listVideoInputDevices()
after creating the reader. Also wrap in try/catch with null fallback
so decodeFromVideoDevice picks the default camera if enumeration fails.
2026-05-20 15:32:44 -04:00
shawn 45af141073 docs: update README and PROJECT.md with OCR, barcode, auto-checkin changes 2026-05-20 15:06:05 -04:00
shawn b20998e8e3 fix: OCR last-5-digits extraction, barcode 1D-only scanning, auto-checkin on create
- OCR: Extract only last 5 digits from Connect ID (XXXXX-XXXXXX → last 5)
- Barcode: Switch to decodeFromVideoDevice with 1D-only format hints
  (Code 128/39/EAN/UPC/ITF/Codabar), TRY_HARDER, 50ms scan interval
- Auto check-in: New assets auto-checkin with GPS on creation via
  all three entry modes (barcode, OCR, manual)
- Tests: Updated e2e tests for login wait and API flow
2026-05-20 15:03:20 -04:00
shawn 7da3f28c6a Initial commit: Canteen Asset Geolocation Tool v2 2026-05-17 18:55:28 -04:00