Improve soundbox ops dashboard and registry editing

This commit is contained in:
Wira Basalamah
2026-06-08 15:56:12 +07:00
parent 836eb7db85
commit 67dc286c1a
18 changed files with 768 additions and 120 deletions

View File

@ -1,9 +1,46 @@
# Codex Handoff - QRIS Soundbox Platform
Tanggal update: 2026-06-07, Asia/Jakarta.
Tanggal update: 2026-06-08, Asia/Jakarta.
Dokumen ini adalah snapshot kerja terakhir untuk melanjutkan project tanpa perlu membaca ulang seluruh chat.
## Update Terbaru - 2026-06-08
- `soundbox-backend-mqtt-spec.md` sekarang mendokumentasikan device command QF100 category `5` untuk `reboot` dan `poweroff`.
- Backend sudah sinkron dengan spec command tersebut:
- `POST /admin/devices/{id}/commands` menerima `device.poweroff`;
- publisher MQTT membuat payload QF100 category `5` dengan `data.command = "poweroff"`;
- downlink tercatat sebagai `poweroff_command` di `mqtt_messages`.
- `scripts/smoke-qf100-adapter.mjs` sudah menambahkan assertion untuk command `device.poweroff`.
- Dashboard `/ui/soundbox-ops` dirapikan untuk operator:
- KPI warning sekarang menunjukkan breakdown stale vs degraded;
- KPI card bisa dipakai sebagai quick filter;
- tabel Fleet Status menampilkan health bar, reason, signal, dan battery;
- Device ID menjadi link langsung ke technical detail;
- Remote Actions menambahkan tombol `Power Off Device`;
- layout mobile header/filter dibuat full-width agar tidak overflow.
- Registry `/ui/device-registry-monitoring` sekarang mendukung koreksi device metadata:
- menu row punya `Edit Device`;
- modal edit bisa koreksi `serial_number/dev-sn`, vendor, model, communication mode, status, dan firmware version;
- perubahan model ikut memperbarui `capability_profile_json` dari katalog model aktif;
- backend menolak duplicate `serial_number` supaya config pull/MQTT lookup tidak ambigu.
- Search UI yang sebelumnya dekoratif sudah mulai difungsikan:
- Admin Dashboard global search route ke Device Registry, Merchant List, atau Transaction History dengan `?q=`;
- Transaction History dan Merchant List membaca `?q=` sebagai initial search;
- Admin Reconciliation top search route ke Transaction History;
- Settlement Batch search live-filter batch table;
- Merchant Settlement History search live-filter disbursement table dan membaca `?q=`;
- Merchant Dashboard search route ke Merchant Settlement History;
- Fee Pricing search route ke Audit Logs, dan Audit Logs membaca `?q=`;
- Merchant Detail search route ke Merchant List;
- Device QR Payment Display search live-filter transaction rows.
- Verifikasi lokal update ini:
- `npm run typecheck`: pass;
- `node --check scripts/smoke-qf100-adapter.mjs`: pass.
- `node scripts/ui-qa-check.mjs`: pass;
- direct script parse `ui/device-registry-monitoring/index.html`: pass;
- headless Chrome screenshot desktop/mobile `/ui/soundbox-ops/?preview=1`: pass visual sanity.
## Update Terbaru - 2026-06-07
- Production saat ini fokus ke portal Soundbox Ops di `sms.bizone.id`, dengan MQTT broker `broker.bizone.id`.