OSS (Operations Support Systems) and BSS (Business Support Systems) for resources optimization
Authentication: - Add App.vue login gate (v-if auth.loading / v-else-if !auth.user / router-view) - Fix auth.checkSession with try/finally to always reset loading - Fix generate_keys method name for Frappe v16 (generate_keys, not generate_keys_for_api_user) - Auto-generate API token on cookie-based auth (Authentik SSO support) - Remove duplicate checkSession from DispatchV2Page (was causing infinite mount/unmount loop) GPS Tracking — Hybrid REST + WebSocket: - Initial REST fetch per-device in parallel (Traccar API only supports one deviceId per request) - WebSocket real-time updates via wss://dispatch.gigafibre.ca/traccar/api/socket - Auto-fallback to 30s polling if WebSocket fails, with exponential backoff reconnect - Module-level guards (__gpsStarted, __gpsPolling) to prevent loops on component remount - Only update tech.gpsCoords when value actually changes (prevents unnecessary reactive triggers) Tech Management (GPS Modal): - Add/delete technicians directly from GPS modal → persists to ERPNext - Inline edit: double-click name to rename, phone field, status select - Auto-generate technician_id (TECH-N+1) - Unlink jobs before delete to avoid ERPNext LinkExistsError - Added phone/email custom fields to Dispatch Technician doctype Infrastructure: - Nginx proxy: /api/ → ERPNext (same-origin, eliminates all CORS issues) - Nginx proxy: /traccar/ WebSocket support (Upgrade headers, 86400s timeout) - No-cache headers on index.html and sw.js for instant PWA updates - BASE_URL switched to empty string in production (same-origin via proxy) Bug fixes: - ERPNext Number Card PostgreSQL fix (ORDER BY on aggregate queries) - Traccar fetchPositions: parallel per-device calls (API ignores multiple deviceId params) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| frappe-setup | ||
| infra | ||
| public/icons | ||
| scripts | ||
| src | ||
| src-pwa | ||
| .dockerignore | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| deploy-fast.sh | ||
| deploy.sh | ||
| Dockerfile | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| quasar.config.js | ||