-
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