Gladys Assistant v4.12.1: Mise à jour de socket-io, VOC avec couleurs & typo HomeKit!

Salut à tous !

Petite version aujourd’hui en terme de fonctionnalité, mais pas des moindres en terme de travail :smiley:

Mise à jour de socket-io

Il y a 2 semaines, un correctif de sécurité important a été publié sur la librairie que j’utilise pour la connexion en Websocket à Gladys Plus (socket-io).

Le souci, c’est que le correctif de sécurité n’était disponible que sur la dernière version de la librairie, la version 4.xx.

Hors nous étions en version 2.xx.

Cela faisait un bout de temps que je suivais l’évolution de cette librairie, sauf que passer 2 versions majeures d’une librairie qui est le pilier de Gladys Plus, ce n’est pas simple, car il faut mettre à jour le serveur et le client, et arriver à synchroniser les 2 pour que ça fonctionne correctement !

L’objectif étant d’éviter absolument toute interruption de service pour les utilisateurs Gladys Plus.

Suite à cette alerte de sécurité, plus le choix il fallait faire la migration.

Mon travail d’ici là a été de mettre à jour le serveur au plus vite (pour corriger le souci de sécurité), tout en m’assurant que les anciens clients soient toujours rétro-compatible. Après quelques modifications apportés dans Gladys v4.12, c’était le cas, un client v2 arrivait à parler avec un serveur v4.

Après avoir publié le serveur v4, j’ai ensuite préparé la migration de tous les clients vers ce protocole v4 afin que tout le monde parle le même protocole. C’est cette release Gladys Assistant v4.12.1 qui intègre ces changements.

Maintenant, l’étape 3 de ce déploiement c’est d’attendre que tous les clients (autant navigateur / que les instances Gladys) passent à cette nouvelle version, pour pouvoir publier une version du serveur qui bloque les clients v2.

C’est peut-être du charabia pour certain, mais c’était pas mal de boulot de mon côté de tester tous ces comportements (navigateur v2 qui parlent à serveur v4 qui parle à instance Gladys v2), et je voulais montrer que parfois certains release demandent beaucoup de travail pour juste… 0 changements côté utilisateurs :sweat_smile:

La stabilité et la sécurité demande parfois autant de travail qu’un nouveau développement :smiley:

Après, cette v4 de socket-io apporte quand même son lot de nouveautés pour le développeur : une API plus simple à utiliser en tant que développeur, et la lib a été re-écrite entièrement en TypeScript, ce qui est plutôt positif pour une librairie, c’est gage de qualité et de stabilité. Des améliorations de performances ont même peut-être été glissé :slight_smile:

VOC avec couleurs

C’est @VonOx qui a fait le travail, les capteurs VOC affichent désormais une couleur en fonction du niveau de VOC dans l’air, selon la dangerosité des valeurs:



Typo HomeKit

Tout petit fix, une faute d’orthographe a été corrigé dans l’intégration HomeKit par @bertrandda !

Le CHANGELOG complet est disponible ici .

Comment mettre à jour ?

Si vous avez installé Gladys avec l’image Raspberry Pi OS officielle, vos instances se mettront à jour automatiquement dans les heures à venir. Cela peut prendre jusqu’à 24h, pas de panique.

Si vous avez installé Gladys avec Docker, vérifiez que vous utilisez bien Watchtower (Voir la documentation )

9 Likes