From 93588975ad56a73713215c27012d3e65eb6c4a0d Mon Sep 17 00:00:00 2001 From: louispaulb Date: Tue, 21 Jul 2026 14:36:33 -0400 Subject: [PATCH] feat(ops): sync fiber ONU from F on swap (reconcile-on-load + daily) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fiber twin of the wireless-MAC issue: when an ONT is replaced, F's `fibre` table holds the current serial + OLT coords, but OPS keeps the old serial → dostuff queries a serial no longer on the OLT → shows "offline" for an online customer (C-LPB4: OPS had TPLGC4160688/ontid 0; F fibre id 13890 = TPLG55684520/ontid 2). - hub: fibreById() reads F `fibre` by the SE's legacy_fibre_id (hub reaches gestionclient); reconcileFibreOnu() aligns serial_number/gpon_serial/olt_ip/ slot/port/ontid; fibreLive({equipment}) reconciles THEN dostuffs with the current serial. GET /collab/fibre-live, POST /collab/fibre-sync, and syncFibreOnus() (park-wide, batched) folded into the daily 03h tick alongside wireless. - ops: the fiber hero + "Do Stuff en direct" now call /collab/fibre-live (auto reconcile on load), reflect the corrected serial locally, and show "ONU synchronisée depuis F (remplacement)". Verified: fibreLive(EQP-0000011366) auto-corrected TPLGC4160688 → TPLG55684520 (logged), and dostuff on the current serial = online (Rx -14.39 / Tx -13.78, bon, uptime 1h17). Build clean, leak 0; deployed index.d652a898. Co-Authored-By: Claude Opus 4.8 --- .../detail-sections/EquipmentDetail.vue | 12 +- services/targo-hub/lib/ticket-collab.js | 163 ++++++++++++++++-- 2 files changed, 153 insertions(+), 22 deletions(-) diff --git a/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue b/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue index 479dd03..f0a7cdf 100644 --- a/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue +++ b/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue @@ -99,6 +99,9 @@
{{ liveF.error || 'OLT injoignable' }}
Lecture des données OLT en direct…
+
+ ONU synchronisée depuis F (remplacement) : {{ liveF.serial }} (était {{ liveF.onuWas }}) +