Commit Graph

  • c267f9a3dd feat(planif): functional dispatch — single-day suggest, one overdue chip, sick-tech redistribute, bulk shift gen louispaulb 2026-07-03 10:59:39 -0400
  • b1ff46e8c1 feat(planif): weekly shift generator per tech (templates + N weeks) — reworked from Dispatch louispaulb 2026-07-03 10:37:46 -0400
  • 8b9d5376a7 feat(booking): slot search respects skill + real shifts + weekend-for-repairs louispaulb 2026-07-03 10:21:01 -0400
  • 374e0da229 feat(ui): simpler créneau dialog — skill chips + defaulted duration + progressive disclosure; fix address autosuggest everywhere louispaulb 2026-07-03 09:58:35 -0400
  • df23f232b3 feat(planif): native OPS job creation (#17) — Dispatch deprecated, create from Planification louispaulb 2026-07-03 09:05:32 -0400
  • a7a6baf8b5 feat(geoloc): OSM geocoder + postal-code centroid fallback (never wrong-city) louispaulb 2026-07-03 08:28:10 -0400
  • e9d1990235 fix(geoloc): trust infrastructure (fibre) for exact address; fix new-street mislocation louispaulb 2026-07-03 07:57:22 -0400
  • 28dff24227 feat(dispatch): P1-A SLA on Planification jobs — reuse existing SLA system louispaulb 2026-07-03 07:39:33 -0400
  • 3599ec995f feat(dispatch): P1-C "Trouver un créneau" — wire suggest-slots to a booking dialog louispaulb 2026-07-03 07:30:08 -0400
  • 7b7980a12b feat(routemap): pill markers — job-type icon + sequence number (best practice) louispaulb 2026-07-02 21:02:27 -0400
  • 2177212a67 fix(dispatch): GPS device row was misleading — clear linked-device chip + easy relink louispaulb 2026-07-02 20:56:27 -0400
  • fc1f61eecf fix(dispatch): OSRM for ALL routing + fix waypoint overshoot + detail dialog polish louispaulb 2026-07-02 20:41:00 -0400
  • e92c220396 feat(routemap): full ticket detail on pin click + routes return to origin louispaulb 2026-07-02 20:19:57 -0400
  • d5c6240c6e fix(routemap): HTML markers (number inside disc) + fan-out overlapping pins on hover louispaulb 2026-07-02 20:05:40 -0400
  • f33cfbc7ca fix(routemap): readable overlapping pins + hover brings a tech's route to front louispaulb 2026-07-02 19:31:45 -0400
  • c3f1c77164 feat(dispatch): tech chips on map, distinct colors, remote (no-travel) jobs, group-as-project louispaulb 2026-07-02 19:25:39 -0400
  • cd12dbe601 feat(dispatch): P4 hub-side optimize orchestration + same-address rules louispaulb 2026-07-02 19:14:38 -0400
  • ebba1025ac feat(dispatch): TARGO office as default departure + per-tech origin button louispaulb 2026-07-02 19:03:52 -0400
  • ff43b54a76 feat(dispatch): P2 RouteMap.vue shared component + P3 permanent "Tournées" tab louispaulb 2026-07-02 18:54:46 -0400
  • 462fcef9d5 feat(dispatch): P1 OSRM everywhere + review ticket detail, editable time, per-leg travel louispaulb 2026-07-02 18:41:44 -0400
  • 2e6eb6dd01 feat(dispatch): review shows tech's existing jobs + sector, and ordered skills inline louispaulb 2026-07-02 18:22:57 -0400
  • 28f544a777 ui(dispatch): lighter solver settings — a cost per criterion, no slider louispaulb 2026-07-02 17:50:23 -0400
  • d9215a20fa fix(dispatch): optimize by default; per-day occupation (not 16h); balance >100% capped 120%; medium=amber louispaulb 2026-07-02 17:39:45 -0400
  • 7fa8c6dc74 refactor(priority): unify on 3 levels (ERPNext standard), high = red, jobs + conversations louispaulb 2026-07-02 16:01:25 -0400
  • 4e5ad011ee fix(dispatch): reuse the Communications priority flag (grey outline → list), not a red emoji louispaulb 2026-07-02 15:50:45 -0400
  • 86bd8080d2 fix(dispatch): optimizer respects existing load; drop pseudo-tech placeholders; edit skills from review louispaulb 2026-07-02 15:35:25 -0400
  • 7d1a5b067f feat(dispatch): persistent URGENT flag per job (SLA/commercial) louispaulb 2026-07-02 15:16:13 -0400
  • 8b2d7b54e9 feat(dispatch): pre-wired sites — install time ÷4 (Lac des pins/Camping/Domaine Dauphinais) louispaulb 2026-07-02 15:08:33 -0400
  • 2566976191 feat(dispatch): review job-move menu ranks techs by proximity + occupancy louispaulb 2026-07-02 15:05:05 -0400
  • f5a7547c1f feat(dispatch): urgency → early-in-day + AM/PM windows per job louispaulb 2026-07-02 14:42:36 -0400
  • 3513f7e15f feat(dispatch): solver settings (distance↔specialty, speed, time) + urgent priority louispaulb 2026-07-02 14:03:11 -0400
  • bc157588d1 tune(dispatch): VRP prioritizes distance over specialty (rank_weight 6→2) louispaulb 2026-07-02 13:53:46 -0400
  • 96929bed6f feat(dispatch): OSRM road-time matrix for the VRP optimizer (Phase 2) louispaulb 2026-07-02 13:48:43 -0400
  • 5803fb3d0e feat(dispatch): optimizer assumes 8h shift for every selected tech louispaulb 2026-07-02 13:34:37 -0400
  • a6508845a7 feat(dispatch): VRP route optimizer (OR-Tools) — "Optimiser" mode louispaulb 2026-07-02 11:24:08 -0400
  • 4591ef6169 feat(dispatch): skill PRIORITY ordering per tech (specialists first) louispaulb 2026-07-02 10:50:51 -0400
  • f6e5128859 feat(dispatch): skill-driven auto-dispatch — route grouping, placeholder queues, shift check louispaulb 2026-07-02 10:37:40 -0400
  • 72e84d6b8d refactor(dispatch): la JOB impose sa compétence — retrait du niveau global par compétence louispaulb 2026-07-02 09:38:54 -0400
  • aa6cc3e732 feat(dispatch): niveau requis persistant + lasso freeform + routes réelles Mapbox louispaulb 2026-07-02 09:18:33 -0400
  • 83338ca57b feat(acte): barème sous-traitant — transport/jour + FTTH 250m+ (base + $/m) louispaulb 2026-07-02 09:04:11 -0400
  • 453bef006c fix(ops): sécurité + robustesse dispatch/comms louispaulb 2026-07-02 08:56:35 -0400
  • 512c4a5f1b feat(ops): dispatch auto complet + perf Boîte/rapports + fix session louispaulb 2026-07-02 08:49:35 -0400
  • 6628eaaa5b feat(ops+hub): sender picker, per-user notifs, editable rating emails, planif & tickets UX louispaulb 2026-06-16 22:41:51 -0400
  • 1b7bad1686 security: harden payments/hub auth + remove leaked ERPNext token from source louispaulb 2026-06-16 06:17:17 -0400
  • 54f0d271dd feat(inbox): global thread scroll + close (X) on another agent's draft mirror louispaulb 2026-06-15 08:09:07 -0400
  • f519bb3dd6 feat(inbox): email height fits content + per-message reply button louispaulb 2026-06-15 07:29:34 -0400
  • 08069ec0dc feat(inbox): show the agent's real name as sender + cleaner Gmail-style thread louispaulb 2026-06-15 07:15:23 -0400
  • 9466645e17 fix(inbox): never resolve our own domains to a customer (wrong sender names) louispaulb 2026-06-15 06:51:04 -0400
  • e604cbf237 fix(inbox/mobile): reply composer no longer hides the "Envoyer" button louispaulb 2026-06-15 06:24:30 -0400
  • 0f65c02d83 feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports louispaulb 2026-06-15 06:12:12 -0400
  • 19d31025a6 feat(inbox+historique): sender-identity fix, single-source taxonomy, dispatch history & leaderboards louispaulb 2026-06-15 06:11:47 -0400
  • aa108ab13f feat(field-tech): app Capacitor native (geofence Transistorsoft + scan MLKit) + CI louispaulb 2026-06-08 19:47:27 -0400
  • 98458861c3 feat(dispatch): capacité AM/PM, durées additives, capture terrain (/field), sync techs louispaulb 2026-06-08 19:47:21 -0400
  • ebad7066d6 feat(dispatch/assign): vue date DUE, confirm Quasar, carte→liste louispaulb 2026-06-07 22:46:33 -0400
  • 3d65b994e5 feat(dispatch): fermer ticket (unitaire + lot), tri ASC/DESC, batch PHP louispaulb 2026-06-07 22:40:26 -0400
  • 4abce6fd66 feat(dispatch): pont d'écriture legacy + adresses/coords/carte/UX Planification louispaulb 2026-06-07 22:32:00 -0400
  • 4a3dc01938 Planification grille : retrait de l'axe de temps + la bande n'intercepte plus le clic/drag de la cellule main louispaulb 2026-06-07 18:02:39 -0400
  • 29054c49c2 Planification éditeur journée : déplacements en pointillés + clic pin = détails + clic ligne = recentre carte louispaulb 2026-06-07 17:50:52 -0400
  • 34b10e0a1e Planification : carte de journée INTERACTIVE (Mapbox GL) — itinéraire routier réel + zoom/déplacement louispaulb 2026-06-07 17:44:22 -0400
  • 1673f7cd9a Pont : import basé sur l'ADRESSE DE SERVICE (delivery), pas la facturation (compte) louispaulb 2026-06-07 17:36:17 -0400
  • de496f8405 Pont : géoloc camping (fixe) sur les Dispatch Jobs — l'adresse de service ≠ résidence du client louispaulb 2026-06-07 17:30:11 -0400
  • ab5eceb961 Conformité : repli « centre du code postal / ville » pour les unmatched restants (statut 'area') louispaulb 2026-06-07 17:14:41 -0400
  • ed651d3ce9 Campings : gestion du registre + réapplication self-service depuis Ops louispaulb 2026-06-07 17:07:15 -0400
  • e278d0d7b3 Campings : registre + géoloc de remplacement FIXE sur tous les lots (1405 corrigés) louispaulb 2026-06-07 17:04:03 -0400
  • 5d4f66108d Planification : minimap du territoire (pins+tracé) dans l'éditeur de journée + retrait du sélecteur priorité louispaulb 2026-06-07 16:54:53 -0400
  • fbf584f02f Phase 1 (hygiène) : utils partagés + logique pure testable + observabilité erp + 1ers tests louispaulb 2026-06-07 10:36:41 -0400
  • fc95a6cd4f Optimisation (consolidation helpers address) + doc Vision/modularisation louispaulb 2026-06-07 01:28:54 -0400
  • 72d23665b2 Page Ops « Conformité des adresses » — source de vérité unique pour résoudre le backlog louispaulb 2026-06-07 01:06:55 -0400
  • d17da8c40c SL normalisation passe 2 : récupération GPS par numéro+ville (sans contrainte postale) louispaulb 2026-06-06 16:19:37 -0400
  • ef6a993e6b Normalisation AQ des 17k Service Locations (lien RQA + statut, adresse originale préservée) louispaulb 2026-06-06 15:59:21 -0400
  • ccad864165 Recherche d'adresses : base LOCALE (Postgres ERPNext) au lieu du Supabase cloud externe louispaulb 2026-06-06 15:46:47 -0400
  • 60dc095f56 Pont legacy : géocodage RQA via la recherche TRIGRAM (RPC search_addresses) + garde-fou anti-faux-positif louispaulb 2026-06-06 15:05:14 -0400
  • e14026ae23 Pont legacy : coords GPS fiables (delivery→SL→RQA→Mapbox) + routage routier réel (Mapbox Matrix) louispaulb 2026-06-06 14:43:34 -0400
  • 22fbb81d3e feat(planif): éditeur journée = planificateur de tournée (heures recalculées, pas d'overlap, RDV verrouillables, détails) louispaulb 2026-06-06 13:56:26 -0400
  • faea3b0c1a feat(planif): éditeur journée — réordonnancement fiable (flèches+drop) + durée éditable (min) + temps de transport louispaulb 2026-06-06 13:41:28 -0400
  • d96e7be672 feat(planif): éditeur de JOURNÉE contextuel au clic sur le progressbar (drag-drop réordonner + retirer) louispaulb 2026-06-06 13:29:55 -0400
  • 482cc948b3 refactor(planif): clic progressbar → timeline éditable Dispatch (tech+jour) au lieu du popup maison louispaulb 2026-06-06 13:19:59 -0400
  • be222d005e feat(dispatch): date d'ouverture + MàJ en tête du détail ticket (mouseover) pour juger la fermeture louispaulb 2026-06-06 13:07:15 -0400
  • 8707cd7c2e fix(dispatch): pont lisait un réplica figé (avril) + auto-fermeture des DJ dont le ticket legacy est closed louispaulb 2026-06-06 13:03:10 -0400
  • 5eb1e587da feat(planif): tri du panneau flottant « Jobs à assigner » (groupe/compétence/date/ville/priorité) louispaulb 2026-06-06 12:48:44 -0400
  • 510f8c10e0 feat(planif): blocs cellule colorés par compétence + menu réordonner/re-prioriser au clic sur le progressbar louispaulb 2026-06-06 12:44:22 -0400
  • 2631ed9199 feat(dispatch): couleur ticket = couleur skill + fil complet du ticket + tri pool (date/ville/priorité) louispaulb 2026-06-06 12:37:45 -0400
  • b492e30971 feat(dispatch): réconciliation + heartbeat + détails ticket dans Ops + couleurs panneau roster louispaulb 2026-06-06 11:50:21 -0400
  • 971366fbb8 docs: cadre best-practices « ne rien échapper » + automatisation closed-loop (tailored stack TARGO) louispaulb 2026-06-06 11:34:10 -0400
  • 7f22647ce4 feat(dispatch): bouton « Activer STB (Ministra) » — lien d'activation TV extrait du ticket legacy (Phase 1) louispaulb 2026-06-06 11:20:09 -0400
  • dab1281953 feat(dispatch): bouton « Répondre dans legacy » (lien reply_ticket.php du tech) louispaulb 2026-06-06 10:30:32 -0400
  • 5e32f5933a feat(dispatch): pastille couleur par type + badge « en retard » dans le pool & le détail louispaulb 2026-06-06 10:19:03 -0400
  • 3c17805770 feat(dispatch): coloriage cartes par type legacy + n° ticket dans le détail louispaulb 2026-06-06 10:05:45 -0400
  • 30d8b0b29c feat(dispatch): pont legacy(osTicket)→Dispatch Job pour les tickets « Tech Targo » louispaulb 2026-06-06 09:33:53 -0400
  • 90f7237312 roster(planif): chip compteur « N hors quart » dans la barre (signal hebdo des jobs assignés sans quart publié) louispaulb 2026-06-06 09:15:16 -0400
  • f7343f6e0e roster(planif/dispatch): On-Hold bloqué, alerte hors-quart, deep-link Dispatch, aviser client (#58) louispaulb 2026-06-06 09:13:17 -0400
  • e33dd8e83a roster(planif): assignation drag-drop + timeline ressource + occupation + nettoyage roster/planif-assign-timeline louispaulb 2026-06-05 15:50:17 -0400
  • d128adf152 Garde: 2 horaires par règle — semaine (soir 17h-minuit) vs fin de semaine (8h-minuit) louispaulb 2026-06-04 22:33:07 -0400
  • 42eac0101b Garde: fix « 0 assignations » — rétrocompat des règles sans steps/anchor louispaulb 2026-06-04 22:29:57 -0400
  • 9e47e28e2b Garde: moteur fiable — séquence d'étapes {tech, weeks} + semaine d'ancrage (parcours déterministe) louispaulb 2026-06-04 22:15:50 -0400
  • 9ec829fc6f Planification: marquer une absence d'1 jour depuis la grille (touche A + menu) louispaulb 2026-06-04 22:02:39 -0400
  • a60a9bee91 Garde: génération sur un HORIZON multi-semaines (évènement récurrent) au lieu d'une seule semaine louispaulb 2026-06-04 21:58:15 -0400
  • 8bd3047d96 Garde: presets Soirs de semaine/Fin de semaine (combinables) + rotation par semaine (défaut) + aperçu louispaulb 2026-06-04 21:47:04 -0400
  • 2e5ef6d001 Roster publish: diff au lieu de wipe+recreate → publication quasi instantanée louispaulb 2026-06-04 21:20:03 -0400
  • ca82cfed9f Garde: la rotation avance par jour de garde (la séquence continue sur les jours affichés) louispaulb 2026-06-04 21:17:25 -0400