- accept accessToken/token/jToken; reject empty credentials
- initialize commonRefs with constructor fields for Vite HMR
- skip admin alarms/commands on DeviceDetail (backend user-only)
- proxy via agent when http_proxy is set; target LAN backend
- MainContainer view layer over MapLayer; non-monitor pages cover map
- Extract all API paths into config/urls.js and replace call sites
- Replay draws trajectory on shared maptalks map via VectorLayer
- Add .env.production skeleton for Tianditu/map center