123 Commits

Author SHA1 Message Date
1022b7e5f1 fix: remove duplicate port mapping 8001:5174 from frontend service
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 19:22:14 +03:00
024ba88470 fix: route manufacturing audit logs to shared Postgres audit log
- Manufacturing router now uses shared/audit.log_action (Postgres) instead
  of the separate manufacturing/audit.py (SQLite mfg_audit_log), so all
  manufacturing events appear in the Log Viewer
- Added log_action calls to 5 previously unlogged endpoints: lifecycle
  patch, lifecycle create, lifecycle delete, flash asset upload, flash
  asset note
- Removed the now-redundant /manufacturing/audit-log endpoint
- Log Viewer restricted to sysadmin only: backend uses require_sysadmin
  (was require_admin_or_above), frontend adds role guard on the page
- Fixed Action badge column clipping: table-layout auto + whiteSpace nowrap
  so the column sizes to fit the widest badge (Status Change)
- Added device_batch entity type to Log Viewer entity labels and filters

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 19:21:39 +03:00
9a213e93f8 fix: brought back postgress that we removed in the last commit, and added persistent folder for it 2026-04-19 20:10:40 +03:00
d8b0b9ce28 fix: Flashing window size made fixed, and fixed Vite.config.js 2026-04-19 15:52:34 +03:00
063106a29c Reverted back to the original docker-compose.yml file. 2026-04-19 15:46:07 +03:00
6a958a8d7d update: Add Global Search on Header, Add Global Audit log for all actions. 2026-04-19 15:41:29 +03:00
4f35bef6e3 fix: login issue #2 2026-04-17 16:04:12 +03:00
2ef199e4c5 fix: login issue 2026-04-17 16:01:50 +03:00
a605143c5d Phase 5 of Migration 2026-04-17 15:51:27 +03:00
da4608c937 Phase 4 of Migration 2026-04-17 15:44:17 +03:00
83361fad77 Phase 3 of Migration 2026-04-17 15:39:29 +03:00
c7d5206d0c fix: deduplicate order_number collisions during Firestore orders migration 2026-04-17 15:30:45 +03:00
914027e580 fix: use full doc.id as fallback order_number to avoid unique constraint collision 2026-04-17 15:28:28 +03:00
b70753d805 Phase 2 of Migration 2026-04-17 15:25:58 +03:00
a7b73b0564 fix: move SET LOCAL inside transaction in quotation/media/comms migration scripts 2026-04-17 15:15:43 +03:00
4c2400b596 Phase 1 of Migration. Running Scripts 2026-04-17 15:11:12 +03:00
0a8a42d69b Initial Switch to V2. Completely Overhauled Backend, Frontend and General Structure. 2026-04-17 14:45:30 +03:00
eb773c5531 fix: added ACL fix script 2026-04-03 18:08:07 +03:00
ea8b2c96d6 feature: added archetype migration script 2026-04-03 17:46:39 +03:00
435aa88e29 update: Added asset upload for bespoke boards 2026-03-31 18:01:32 +03:00
7a5321c097 update: Added NVS Gen on the Flasher 2026-03-27 11:17:10 +02:00
2b05ff8b02 feat: CRM customer/order UI overhaul
Orders:
- Auto-set customer status to ACTIVE when creating a new order (both "+ New Order" and "Init Negotiations")
- Update Status panel now resets datetime to current time each time it opens
- Empty note on status update saves as empty string instead of falling back to previous note
- Default note pre-filled per status type when Update Status panel opens or status changes
- Timeline items now show verbose date/time ("25 March 2026, 4:49 pm") with muted updated-by indicator

CustomerDetail:
- Reordered tabs: Overview | Communication | Quotations | Orders | Finance | Files & Media | Devices | Support
- Renamed "Financials" tab to "Finance"

CustomerList:
- Location column shows city only, falls back to country if city is empty

OverviewTab:
- Hero status container redesigned: icon + status name + verbose description + shimmer border
- Issues, Support, Orders shown as matching hero cards on the same row (status flex-grows to fill space)
- All four cards share identical height, padding, and animated shimmer border effect
- Stat card borders use muted opacity to stay visually consistent with the status card

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 20:21:10 +02:00
5d8ef96d4c update: CRM customers, orders, device detail, and status system changes
- CustomerList, CustomerForm, CustomerDetail: various updates
- Orders: removed OrderDetail and OrderForm, updated OrderList and index
- DeviceDetail: updates
- index.css: added new styles
- CRM_STATUS_SYSTEM_PLAN.md: new planning document
- Added customer-status assets and CustomerDetail subfolder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 10:39:38 +02:00
fee686a9f3 feat: add Serial Monitor public page and Log Viewer settings page
- New public page at /serial-monitor: connects to Web Serial (115200 baud),
  streams live output, saves sessions to localStorage + downloads .txt
- New protected page at /settings/serial-logs (admin/sysadmin only):
  lists saved sessions, expandable with full scrollable log, search,
  export and delete per session
- Registered routes in App.jsx and added Log Viewer to Console Settings sidebar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 10:39:32 +02:00
b2d1e2bdc4 feature: Added Transactions and major Order System Overhaul 2026-03-25 10:32:47 +02:00
2d57c75d2f fix: Cloudflash now supports full-wipe before flashing 2026-03-20 08:40:20 +02:00
d8ba64da55 fix: NVS Generator. cosmetic: Changed CloudFlash page a bit 2026-03-19 21:01:17 +02:00
29bbaead86 update: added assets manager and extra nvs settings on cloudflash 2026-03-19 11:11:29 +02:00
d0ac4f1d91 update: overhauled firmware ui. Added public flash page. 2026-03-18 17:49:40 +02:00
4381a6681d update: firmware and provisioning now supports bootloader and partition tables 2026-03-16 08:52:58 +02:00
360725c93f fix: row-alt background now works on customers list too 2026-03-14 11:17:58 +02:00
dd607a04a1 ui: added subtle tint for alternating rows on tables 2026-03-14 11:09:32 +02:00
15c419b7bf fix: devices list accepts ips as single strings / various ui changes 2026-03-14 10:58:25 +02:00
6f9fd5cba3 fix: Bugs created after the overhaul, performance and layout fixes 2026-03-08 22:30:56 +02:00
8c15c932b6 chore: untrack .claude/ folder and update .gitignore
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 11:39:42 +02:00
c62188fda6 update: Major Overhaul to all subsystems 2026-03-07 11:36:46 +02:00
810e81b323 fix: Various fixes. Mail, UI, Flash etc 2026-02-27 14:32:24 +02:00
7585e43b52 style: Updated the overall UI of the provisining pages 2026-02-27 12:23:17 +02:00
47570257bd fix: Verification in provisioning fixed 2026-02-27 11:15:39 +02:00
7f51c60062 fix: Trying to fix Auto Restart. And Fixed MQTT admin auth 2026-02-27 10:17:38 +02:00
12784462f9 fix: Different approach on the COM Port and MQTT Fix 2026-02-27 09:57:49 +02:00
1a5e448e4e fix: Release COM port after flashing and then Reconnect to get Serial Logs 2026-02-27 09:44:26 +02:00
5c6c871bb6 fix: Add a wait after the flash to the Provisioning tab 2026-02-27 09:39:06 +02:00
4ea8e56485 fix: configure gitea webhook auto-deploy, fix NVS CRC, and improve flash UI
- Add deploy-host.sh for webhook-triggered docker redeploy
- Update docker-compose.yml and nginx.conf for auto-pull setup
- Fix vite.config.js and admin router for deployment environment
- Fix NVS CRC seed to use 0xFFFFFFFF to match esp_rom_crc32_le
- Add dual-panel flash UI: esptool log + live 115200 serial monitor
- Auto-reset device via RTS after flash (no manual power cycle needed)
- Clean up Header.jsx debug title text

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 09:19:07 +02:00
57259c2c2f feat: Phase 6, Device provisioning and deployment of updates on git-pull 2026-02-27 04:42:41 +02:00
32a2634739 feat: Phase 3 manufacturing + firmware management 2026-02-27 02:47:08 +02:00
2f610633c4 Add .dockerignore to prevent service account being baked into image 2026-02-25 22:16:43 +02:00
8cb639c1bd First Production Push 2026-02-25 21:29:56 +02:00
e62cffc10c CODEX - Changed the Measures to 1-16 2026-02-23 21:08:23 +02:00
b3e6f89bd2 CODEX - Composer refinment 2026-02-23 21:03:54 +02:00