UX Sweep — May/June 2026
Full UX improvement sweep across all pages and flows. Managed via the canteen-ux-sweep kanban board (Hermes Agent).
Latest Fixes (June 2)
| Commit | Description |
|---|---|
1e7576e |
Bump SW cache to v9 — phone needs hard-refresh to activate |
e3295af |
GPS coords shown in map popups + asset list; toast on auto-checkin |
120f52a |
Bump SW cache to v8 |
0e53da0 |
Fix barcode scan rate 50ms→300ms (decoder thrashing) |
111008a |
Fix ZXing per-frame "no detection" errors treated as camera failures |
6322786 |
Fix keyboard-loop on mobile camera failure; guard drawer behind login |
Route Page (tabRoute)
The route planner loads work orders from the extraction DB, optimizes via TSP (nearest neighbor + 2-opt), and displays a Leaflet map with numbered stops. All API endpoints verified working (26 techs loaded, 6 WOs for today route test).
To test: hard-refresh the app on phone to activate SW v9, tap Route tab, select tech, tap Load Route.
Map Pins & GPS Data
Auto-checkin on scan updates both the checkins table AND the asset's latitude/longitude directly (see create_checkin() in server.py lines 1522-1534). Map loads assets via /api/assets?has_gps=true&limit=2000. Currently 21 assets with GPS in DB.
GPS coords now show in:
- Map pin popups (lat/lng below machine ID)
- Asset list below map (monospace coords next to 📍 indicator)
- Toast on auto-checkin confirms "GPS saved — check the Map tab"
Card Enlargement & Prominent Location (b896a56)
- Enlarged asset cards: padding 14→18px vertical, 12→14px horizontal. AI icon 42→48px. Name font 14→15px with 2-line wrap clamp.
- Prominent location display: floor/building/room bumped from 11px text3 to 13px text1 (500 weight) — visually pops.
- Card layout order: name (large/bold) → address 📍 → location (floor/building/room) → meta (machine_id, S/N, make, category, Disney park tag).
- Prerequisite: T1 (clean_asset_names.py, commit
9fe615c) stripped addresses/floors/parks from names into structured columns so the layout works cleanly.
Task Board
11 tasks assigned to coder profile (deepseek-v4-pro):
| Task | Description | Status |
|---|---|---|
| T1 | Empty States & Onboarding | ready |
| T2 | Form UX Overhaul | running |
| T3 | Search & Filter UX | running |
| T4 | Fix Navigate Page | ready |
| T5 | Dashboard Fixes | ready |
| T6 | Map Page Improvements | ready |
| T7 | Reports Page UX | ready |
| T8 | Settings UI Cleanup | ready |
| T9 | Modal/Dialog System | ready |
| T10 | Navigation Consistency | ready |
| T11 | Polish & Micro-interactions | todo (waits for T2, T3) |
Issues Being Addressed
- Empty states are bare across all pages
- Add Asset form is a monolithic scroll with no inline validation
- Search triggers API on every keystroke with no loading indicator
- Navigate page loads wrong content (bug)
- Dashboard shows "Active Technicians: 0" despite tech users existing
- Map shows no asset markers despite location data
- Reports have no quick date ranges
- Settings has confusing Makes/Models sub-menu nav actions
- Native
prompt()used instead of custom modals - Navigation inconsistent between drawer and bottom bar
- No skeleton loading states or micro-animations