diff --git a/Versions.md b/Versions.md index 89c682c..080fbc9 100644 --- a/Versions.md +++ b/Versions.md @@ -6,13 +6,53 @@ L'extension a connu **3 systèmes de versionning successifs** : |---|---|---| | Avril 2026 (jeudi 16) | Versions de base | `1.0.0`, `2.0.0`, `3.0.0` | | Avril 2026 | SemVer classique | `4.1.3`, `4.2.8`, `5.0.12` | -| Avril 2026 → maintenant | **`ANNÉE.MAJEURE.PATCH`** | `2026.5.16` → `2026.5.40` | +| Avril 2026 → maintenant | **`ANNÉE.MAJEURE.PATCH`** | `2026.5.16` → `2026.5.41` | --- ## Versions notables -### `v2026.5.40` (latest) — Sélection groupe EV + édition domaines + tri équipe + réorga repo +### `v2026.5.41` (latest) — Suppression des hardcodes runtime + UX admin + thème unifié + +**Plus aucun hardcode runtime** +- Le groupe EV, les domaines, la liste de techniciens et les absences récurrentes ne sont **plus codés en dur** dans `background.js` / `viewer.js`. Tout est lu depuis `admin_config` (chrome.storage.local), alimenté par les onglets **Équipe** et **EasyVista** du panel admin. +- `chrome.storage.local` survit aux mises à jour d'extension → la configuration de l'utilisateur (groupe, équipe, absences récurrentes, domaines) est conservée d'une version à l'autre. +- **Au 1er install** : aucun tech sélectionné, aucune absence récurrente. Le viewer affiche *"Aucun technicien sélectionné. Ouvrez ⚙ Paramètres → Équipe…"* tant que rien n'est configuré. +- Suppression de `isPillonelAbsentFriday()` (hardcode du nom + du jour) → remplacée par `isRecurringAbsence(tech, isoDate)` générique. Label "Absent le X" calculé depuis le jour de la semaine. + +**UX admin** +- **Auto-refresh à l'enregistrement** (équipe / domaines / heures) → plus besoin de recharger l'extension manuellement. +- **Bouton ✓ Appliquer** pour les heures de la journée + toast de confirmation. +- **Toasts au-dessus du flou** du panel admin (z-index 11000 > 10000). +- **Onglet Statuts retiré** (placeholder lecture-seule). +- **Tri équipe** : inclus d'abord, puis exclus, alphabétique dans chaque sous-groupe (ne saute plus quand on coche/décoche). + +**Thème unifié** +- Le toggle 🌙 de la topbar et le sélecteur Apparence du panel admin écrivent dans la même clé `cfg.theme`. +- Mode "Automatique" résolu en JS via `prefers-color-scheme` (avant : le CSS retombait sur le clair même quand l'OS était en sombre, faute de bloc `@media`). +- Listener `matchMedia` pour bascule live en mode auto. + +**Conflits absence/réservation × intervention** +- Si une intervention est planifiée pendant qu'un tech a une **absence** (toute la journée ou demi-journée) ou une **réservation** au même créneau, sa carte (row classique + mini-card en vue horizontale) est peinte en **rouge plein** avec texte blanc. Logique : full-day → toutes les interv en rouge ; partiel → seules celles en chevauchement. + +**Synchronisation des heures EV** +- Les paramètres `day_start_hour` / `day_end_hour` envoyés à `planning_xhr.php` et `begin_hour` / `end_hour` envoyés à `plan_set_holidays_popup.php` (création absence) et `plan_set_tech_planif_popup.php` (douchette) lisent désormais `cfg.dayStart` / `cfg.dayEnd`. Avant : `8` / `18` / `19` figés en dur. + +**Permissions runtime pour domaines** +- `manifest.json` : ajout de `optional_host_permissions: ["https://*/*"]`. +- `chrome.permissions.request()` au save d'un domaine custom dans Paramètres → EasyVista. Refus → toast d'avertissement. + +**Vue horizontale** +- Popups au survol/clic limités aux candidats `dessous`/`dessus` (la sidebar à gauche et la timeline pleine largeur rendent gauche/droite peu praticables). + +**Coulisses (`background.js`)** +- Nouveaux helpers : `getAdminConfig()`, `getEvOrigins()`, `getGroupId()`, `getSupportIds()`, `getDayBounds()`. +- `fetchPlanningXml()` lève `Error("no_team_configured")` quand la liste de techs est vide. + +**Ménage** +- Suppression de `CACHE_DAYS` (inutilisée), `LS_THEME` (clé localStorage obsolète), commentaire historique sur `initAdminMenu()`. Aucun symbole orphelin restant. + +### `v2026.5.40` — Sélection groupe EV + édition domaines + tri équipe + réorga repo **Onglet Équipe** - Nouveau **sélecteur de groupe EasyVista** (SI-CSS, SI-EXT, …) en tête de section, détecté automatiquement à l'ouverture du panel via le `