• v1.6.15 c6d36ebf7f

    emitlinks released this 2026-10-22 09:26:21 +00:00 | 49 commits to main since this release

    AirWatch Sync 1.6.15

    Correction : résultat du test/dry run affiché deux fois + détection des appareils par numéro de série

    Doublon d'affichage du test de connexion / dry run

    Symptôme : lors d'un test de connexion ou d'un dry run, le résultat s'affichait deux fois.

    Cause : les boutons de l'onglet Synchronisation étaient enregistrés deux fois dans le JS — une fois par écouteur individuel (addEventListener sur chaque bouton) et une seconde fois par un bloc forEach legacy qui ré-enregistrait les trois mêmes boutons. Chaque clic envoyait donc deux requêtes et le résultat était imprimé deux fois.

    Correction : un seul écouteur par bouton + une garde anti double-clic (un clic pendant une requête en cours est ignoré).

    Appareils AirWatch non détectés par numéro de série

    Symptôme : les appareils existaient dans la console Workspace ONE UEM mais n'étaient jamais liés aux assets GLPI existants — ils étaient recréés en doublon (ou perdus si le mapping de champ ne correspondait pas).

    Cause : la recherche d'asset existant comparait uniquement le champ serial de la table du type mappé, avec SerialNumber (puis InternalDeviceIdentifier) seul. En pratique :

    • les assets GLPI portent souvent l'IMEI dans leur numéro de série (téléphones) ;
    • un appareil peut être stocké comme Computer dans GLPI alors que le mapping de plateforme AirWatch le déclare Phone (ou inversement), dans laquelle cas la table cherchée était la mauvaise.

    Correction (SyncEngine::processDevice) : tous les identifiants exposés par AirWatch pour l'appareil (SerialNumber, IMEI, MEID, InternalDeviceIdentifier) sont maintenant comparés, sans distinction de casse, contre les deux tables Computer et Phone (type mappé en premier). L'asset existant est lié — son type prime sur le type calculé — au lieu de créer un doublon. findDeviceBySerial (sens asset → console) utilise la même liste d'identifiants.

    Aucun changement d'interface : mêmes champs de configuration, mêmes endpoints.

    Downloads