Commit Graph

  • fcfd63c2e9 ticket: contrôle Statut/Reporter partagé (v1 sur le panneau ticket) louispaulb 2026-07-07 13:55:29 -0400
  • 8a655f9933 planif: assistant renfort — nom robuste (jamais « undefined ») louispaulb 2026-07-07 13:36:43 -0400
  • 969d5af9f9 planif: horaires (lot) — recherche/skill/tout-aucun ; grille 2 sem. par défaut (sélecteur retiré) louispaulb 2026-07-07 12:56:17 -0400
  • 712f113e29 planif barre d'outils : sélecteur de vue à gauche, Publier unifié, picker single-job filtré louispaulb 2026-07-07 12:41:37 -0400
  • 9f2fb0eaf9 planif: liens Street View + Google Maps/satellite dans le volet détail job (géoloc) louispaulb 2026-07-07 12:21:15 -0400
  • 4ae2907172 solveur : le RANG (compétence principale) domine la polyvalence — répare la mauvaise répartition louispaulb 2026-07-07 12:10:37 -0400
  • 8ee4c834f8 planif: retirer les jobs faits/annulés datés dans le FUTUR (artefacts legacy) de l'occupation louispaulb 2026-07-07 12:04:15 -0400
  • 8b0241673d solveur VRP : efficacité par compétence + réserve des experts (polyvalence pénalisée) louispaulb 2026-07-07 11:51:18 -0400
  • 88a5e84f90 planif Suggérer : UNE seule méthode (VRP) + retrait des réglages de coûts louispaulb 2026-07-07 11:47:17 -0400
  • 61a2f1000f planif: efficacité GLOBALE en % intuitif (haut = plus rapide), cohérent avec le per-skill louispaulb 2026-07-07 11:19:29 -0400
  • 3a0b65942c planif Suggérer : ordre AM→PM des arrêts + picker « déplacer vers » filtré louispaulb 2026-07-07 11:14:07 -0400
  • 746a8de6df planif: fix figement carte des tournées suggérées (boucle de rendu) + tracés routiers réels louispaulb 2026-07-07 10:57:39 -0400
  • 9142d6dd26 tickets: clic sur le nom du client (panneau) → route vers sa fiche /clients/:id louispaulb 2026-07-07 09:58:48 -0400
  • 8586b9310a planif: Suggérer ne fige plus — timeout solveur + dialogue toujours fermable louispaulb 2026-07-07 09:56:12 -0400
  • 77dd426343 tickets (table): colonne « Département » (Type renommé) + pastille technicien assigné louispaulb 2026-07-07 09:39:42 -0400
  • 27263d7766 tickets: distinguer par département + technicien assigné ; réponse courriel = Received louispaulb 2026-07-07 08:50:01 -0400
  • 417ef08f58 ticket: aller-retour courriel (envoi + réponse revient au fil) louispaulb 2026-07-07 07:42:39 -0400
  • cb16167f72 ticket panel: décodage entités HTML + fil unifié + lien client cherchable louispaulb 2026-07-07 07:09:25 -0400
  • bd7a077f46 portal(vue): fix stray space in prices ($39 .95 -> $39.95) louispaulb 2026-07-07 06:48:18 -0400
  • 8a51925da8 devices: import du manquant + fix liens SS.device orphelins + catch-up quotidien louispaulb 2026-07-06 23:09:16 -0400
  • d8052bb17c portal(vue): footer uses RouterLink (was raw <a href>, dropped /next base) louispaulb 2026-07-06 22:10:08 -0400
  • fbb7de935f portal(vue): document required Supabase env via .env.example louispaulb 2026-07-06 22:01:15 -0400
  • 0b9933c485 targo-sync: retirer le mdp F du repo + cron quotidien tickets louispaulb 2026-07-06 21:55:35 -0400
  • 0c5f33460a scripts(targo-sync): incremental invoice/service sync + daily tickets louispaulb 2026-07-06 21:52:14 -0400
  • e950bd3ac6 hub: reverse geocoding infra-first (fibre field-pins -> RQA fallback); address resolution + geotagged field photos louispaulb 2026-07-06 21:52:14 -0400
  • 042c5545f7 ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client louispaulb 2026-07-06 21:52:14 -0400
  • 3c7f04870c portal: Vue 3 + Tailwind + shadcn-vue rewrite of www.gigafibre.ca (preview at /next) louispaulb 2026-07-06 21:52:14 -0400
  • 224db4527e migrate_tickets: env creds (secret hors repo) + mode PREVIEW + host défaut 10.100.80.100 louispaulb 2026-07-06 21:08:53 -0400
  • 5783ec30b9 sync-legacy: scoreboard abos = F brut status=1 (écart positif = fantômes retirés d'ERPNext) + note clarifiée louispaulb 2026-07-06 20:23:21 -0400
  • 29589597b1 sync-legacy: raffiner l'annulation des fantômes (pas de cascade aveugle) louispaulb 2026-07-06 20:20:24 -0400
  • 004c3f8dee sync-legacy: scoreboard de réconciliation + fix des abonnements fantômes à la source louispaulb 2026-07-06 20:03:36 -0400
  • 1b6abc43f2 fix(events): garde-fou audience — exclut les comptes F résiliés (abos fantômes) louispaulb 2026-07-06 15:09:52 -0400
  • 1ab899388c feat(events): total mensuel activé seulement si « abonnement actif » + liste des comptes sans courriel louispaulb 2026-07-06 14:38:19 -0400
  • 5d780187b0 feat(events): filtres audience précis — type (résidentiel/commercial) + total mensuel min louispaulb 2026-07-06 14:25:05 -0400
  • 1f74194419 feat(events): sélecteur d'audience (liste clients filtrée OU CSV) + aperçu + choix de modèle louispaulb 2026-07-06 13:39:22 -0400
  • 632b466310 feat(events): palette TARGO uniquement + téléphone visible + IP visiteur + CSV complet louispaulb 2026-07-06 12:41:42 -0400
  • c8cb6bfa5d feat(events): courriel d'invitation plus festif + titre « Targo fête ses 20 ans » louispaulb 2026-07-06 12:24:06 -0400
  • 50501aca5f feat(events): rattachement multi-signal + validation croisée aveugle + envoi test louispaulb 2026-07-06 11:34:51 -0400
  • e4a8990711 feat(events): inscription (RSVP) événement + page admin Ops — Fête Targo 20 ans louispaulb 2026-07-06 09:41:24 -0400
  • 7da4b1289c feat(ops+hub): notify techs of their tournée (SMS/email + token link + flags) louispaulb 2026-07-06 09:24:21 -0400
  • add3c08cee feat(ops): Suggérer — re-optimize existing (dispatched) jobs as a simulation louispaulb 2026-07-06 08:47:31 -0400
  • 92c320d08f fix(ops): job detail — show all fields (raw pool job), full title, assign tech louispaulb 2026-07-05 18:20:05 -0400
  • 98184d0a61 feat(ops): job detail — map collapsed, duration adjust; popup width caps louispaulb 2026-07-05 18:06:02 -0400
  • 3979f79283 feat(ops): auto-detect AM/PM from ticket title + AM/PM in RDV proposal louispaulb 2026-07-05 17:54:46 -0400
  • aa52a2c98c feat(ops): map unassigned jobs grouped by address + overlap fan louispaulb 2026-07-05 17:23:42 -0400
  • c05a6272b7 feat(ops): pickups = ~5min jobs + generic visit icon (handyman, not bolt) louispaulb 2026-07-05 17:09:22 -0400
  • cfc721e598 feat(ops): installation jobs use 'router' icon (fiber box) everywhere louispaulb 2026-07-05 17:01:01 -0400
  • 01ba6a70ef feat(ops): unassigned map jobs show job-type symbol (like assigned pills) louispaulb 2026-07-05 16:54:24 -0400
  • c0695f7ea9 feat(ops): saveable tech groups in Suggérer + solo tech route on chip click louispaulb 2026-07-05 12:17:03 -0400
  • 9b866ec3b9 Revert "feat(ops): unassigned map jobs reuse assigned-stop pill + overlap fan" louispaulb 2026-07-05 08:05:03 -0400
  • 1b095ae0e8 Revert "fix(ops): unify job icons — custom skillSym SVGs on map markers too" louispaulb 2026-07-05 08:05:03 -0400
  • e149b252b3 fix(ops): unify job icons — custom skillSym SVGs on map markers too louispaulb 2026-07-05 07:25:56 -0400
  • 4c8242eccb fix(ops): job overdue = due date, not created; day-list from carousel louispaulb 2026-07-05 07:13:38 -0400
  • bae7303d66 fix(ops): Suggérer never sweeps overdue jobs unless opted in louispaulb 2026-07-05 00:16:19 -0400
  • 8b3c97de9d fix(ops): Suggérer no overdue-sweep in Tournées + mobile review scroll louispaulb 2026-07-04 23:42:25 -0400
  • 80e09c87ba feat(ops): unassigned map jobs reuse assigned-stop pill + overlap fan louispaulb 2026-07-04 23:24:19 -0400
  • cef6507f5f feat(ops): filter chips scope Suggérer + skill-matched techs (Tournées) louispaulb 2026-07-04 23:11:02 -0400
  • b7b1647ece feat(ops): unassigned-jobs strip → horizontal carousel (Tournées) louispaulb 2026-07-04 23:03:51 -0400
  • eb4d098bf0 feat(ops): redesign client ticket list (TicketCard, mobile-first) louispaulb 2026-07-04 22:53:50 -0400
  • c193bcbf1f fix(ops): device detail modal responsive on mobile louispaulb 2026-07-04 22:41:15 -0400
  • d4a5644e37 refactor(ops): extract PaymentSection from ClientDetailPage louispaulb 2026-07-04 21:37:55 -0400
  • 925ffc9c3f refactor(ops): extract LocationCard from ClientDetailPage louispaulb 2026-07-04 21:31:33 -0400
  • dc28437d5f refactor(ops): extract DeviceStrip from ClientDetailPage louispaulb 2026-07-04 21:19:37 -0400
  • b9df6d720a fix(ops/mobile): bandes d'occupation ≤7 jours remplissent la largeur (fini le micro-défilement) louispaulb 2026-07-04 20:58:43 -0400
  • 5a35f64a9d fix(ops/mobile): Network GPON tient sur mobile (onglets défilants + arbre enroulé + boutons tactiles) louispaulb 2026-07-04 20:56:11 -0400
  • 68063a9f69 refactor(ui): T7 — extraire CustomerSatisfaction de ClientDetailPage (faible couplage) louispaulb 2026-07-04 20:22:52 -0400
  • 936152d452 feat(ui): T5 — DynamicFilter sur Factures fournisseurs + File courriels louispaulb 2026-07-04 20:02:11 -0400
  • f6f4303e2e feat(ui): T5 — DynamicFilter sur RDV (worklist : recherche + chips Type) louispaulb 2026-07-04 19:36:32 -0400
  • 7def94199c feat(ui): T5 — DynamicFilter sur Évaluations (mode client-side) louispaulb 2026-07-04 19:29:54 -0400
  • 4d940eefc4 feat(ui): T5 — DynamicFilter sur Tickets (recherche + chips statut/type/priorité + presets) louispaulb 2026-07-04 19:26:57 -0400
  • 3d52ae32c4 feat(ui): T5 audit — composant DynamicFilter réutilisable + intégré sur Clients louispaulb 2026-07-04 19:13:37 -0400
  • 8f11d41a42 feat(ui): T3 audit — anti-débordement mobile app-wide (bornes app.scss @<600px) louispaulb 2026-07-04 18:50:42 -0400
  • 7ab71ce6a8 refactor(ui): T1 (suite) — unifier les formatters variants vers les canoniques (formats cohérents) louispaulb 2026-07-04 18:42:17 -0400
  • 1017cab649 refactor(ui): T1 audit — dédup formatters → useFormatters (0 changement d'affichage) louispaulb 2026-07-04 18:31:18 -0400
  • 112ed0ea2b fix(ui): fiche client — en-tête ne déborde plus en mobile ; assistant = sélecteur recherchable louispaulb 2026-07-04 17:31:44 -0400
  • 80c8005f0c feat(planif): symbole de compétence du job sur les chips « à répartir » (Tournées) louispaulb 2026-07-04 10:16:12 -0400
  • c8afa97004 feat(planif): Tournées — chips secteur + jobs non assignés sur la carte (gouttes), filtre liste+carte louispaulb 2026-07-04 10:06:34 -0400
  • 21724e65f8 feat(planif): Tournées — filtre compétence sur la carte + jour ciblé + jobs non assignés en évidence louispaulb 2026-07-04 09:58:58 -0400
  • 012f924683 feat(planif): simplification barre du haut — Suggérer (jour sélectionné), fix recherche X, retrait Équipe louispaulb 2026-07-04 09:47:42 -0400
  • d385367095 feat(hub): lib/vacation-import — lecteur .xlsx (ZIP/zlib, sans dép) + parseur vacances + matcher techs louispaulb 2026-07-04 09:26:57 -0400
  • b7c24f58b2 feat(planif): sélecteur de jour « Tournées » = 2 semaines par défaut louispaulb 2026-07-04 08:55:29 -0400
  • 5491aa8abe feat(dashboard/planif): vue 2 semaines + deep-link jour + slot-finder « Planifier des quarts » louispaulb 2026-07-04 08:34:43 -0400
  • 9a507d35db feat(dashboard): bande d'occupation + KPI cliquables/tendance + garde-fou PPA ; barres de charge en-tête Planif louispaulb 2026-07-04 08:00:46 -0400
  • cf9feb67f4 refactor(ops): retirer la page Dispatch dépréciée — tout sur Planification (−2179 lignes, −240 KB) louispaulb 2026-07-03 21:03:57 -0400
  • e5bd63b2d6 chore(ops): remove unused ResponsiveDialog.vue (0 imports) louispaulb 2026-07-03 20:43:44 -0400
  • 0e5c890b74 perf(hub): cache liste techs (30s) + garde anti-chevauchement sync + jeton ingest mémoïsé louispaulb 2026-07-03 20:42:18 -0400
  • 4a641ac802 perf(ops): lazy-load heavy libs & shell components — chunks route/shell bien plus légers louispaulb 2026-07-03 20:35:30 -0400
  • 1af8c62142 feat(planif): géofencing des jobs — timeline En route/Arrivé/Reparti (suivi façon colis) louispaulb 2026-07-03 18:34:55 -0400
  • d966e1b749 feat(planif): positions GPS live des techs (Traccar) sur la carte des tournées louispaulb 2026-07-03 18:06:16 -0400
  • c74462f97b feat(planif): dispatch auto = SEULEMENT les jobs du jour sélectionné (retards exclus par défaut) louispaulb 2026-07-03 17:56:56 -0400
  • 3a836cfb21 fix(ops): HUB_URL = /ops/hub en prod (fin du menu vide — la VRAIE cause) louispaulb 2026-07-03 17:43:44 -0400
  • 7b54e87a59 fix(ops): overlay accès — message exact « n'a pas pu charger » + détail erreur + piste extension louispaulb 2026-07-03 17:31:41 -0400
  • 01bcd6476d fix(ops): la déconnexion ramène sur OPS après login (plus la page Authentik) louispaulb 2026-07-03 17:25:41 -0400
  • f5d8d38b1e fix(ops): retry permission load (superuser plus jamais bloqué par un échec transitoire au boot) louispaulb 2026-07-03 17:18:53 -0400
  • e6ac8b11ef fix(ops): fail-loud when OPS perms don't load + username fallback (supersede 96da97b session overlay) louispaulb 2026-07-03 16:49:26 -0400
  • 96da97bfad fix(ops): session expirée → overlay clair + ré-auth, plus de menu blanc silencieux louispaulb 2026-07-03 12:28:09 -0400
  • 8d80b44a79 feat(planif): « Suggérer » respecte aussi le filtre de TYPE du pool louispaulb 2026-07-03 12:09:18 -0400
  • 6c5ed0060f feat(planif): « Suggérer » ne répartit que les jobs des jours cochés louispaulb 2026-07-03 11:58:38 -0400
  • c209098a44 fix(security): stop baking dev-user email into the prod bundle louispaulb 2026-07-03 11:36:04 -0400
  • 69f00840c8 feat(planif): hybrid recurring shift model — weekly_schedule pattern + materialization louispaulb 2026-07-03 11:35:57 -0400