gigafibre-fsm/apps/ops
louispaulb d10bb521f7 feat(ops): wireless (airOS/Cambium) Do Stuff parity — n8n bridge + panel
Last F Do Stuff gap was wireless CPEs (signal, signal-AP, CCQ, TX/RX rate,
airMAX capacity). Empirically confirmed the hub cannot reach the CPE mgmt
network (all probes timed out) — so, exactly like the fiber TP-Link path,
this goes through n8n.

- hub: ticket-collab.airosSignal({serial|ip}) + GET /collab/airos-signal.
  Resolves mgmt IP/login from Service Equipment, calls n8n webhook
  get_signal_airos (mirror of F device_ajax/airos_ac_ajax.php: airOS auth +
  status.cgi parse), normalizes signal/signalAp/ccq/tx-rx rate/airMAX
  capacity/model/version/uptime. Degrades gracefully: 404 -> registered:false.
- ops: EquipmentDetail shows a "Do Stuff en direct (sans-fil)" panel for
  wireless equipment (isWireless heuristic), rendering the same tiles + feeding
  "Copier pour le ticket". Shows an "en attente" note until the webhook exists.

Verified: hub live returns {ok:false,registered:false} for a real CPE (SN-772);
SPA build clean, leak-check 0 secrets, deployed (index.c4ccc86f.js). The one
remaining hop is creating the n8n get_signal_airos workflow (spec in docs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 14:22:37 -04:00
..
.quasar feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
infra Events: creation, capacity cap, language-tagged attachments, additive audience list 2026-07-09 10:10:43 -04:00
public/icons feat: add ops app + CONTEXT.md, simplify URL to /ops/ 2026-03-30 22:41:58 -04:00
src feat(ops): wireless (airOS/Cambium) Do Stuff parity — n8n bridge + panel 2026-07-20 14:22:37 -04:00
src-pwa feat: nested tasks, project wizard, n8n webhooks, inline task editing 2026-04-01 13:01:20 -04:00
.env.example feat(hub+ops): user invite flow sends temp password via Mailjet + dev .env.example 2026-05-05 19:50:06 -04:00
.env.production security: harden payments/hub auth + remove leaked ERPNext token from source 2026-06-16 06:17:17 -04:00
.gitignore ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
deploy.sh infra: deploy.sh renders ops nginx.conf from versioned template w/ server-side token injection 2026-07-08 15:59:48 -04:00
index.html feat: add ops app + CONTEXT.md, simplify URL to /ops/ 2026-03-30 22:41:58 -04:00
knip.json feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
package-lock.json ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
package.json ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
quasar.config.js ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00