Integraciones externas en Gladys Assistant

Ok, he actualizado la PR de Gladys con 3 cambios:

1. Banner « ¿Su dispositivo no está en la lista? » — ahora destaca Matter y las integraciones externas de la comunidad: « cualquiera puede crear una e publicarla en la tienda, y luego aparece en esta lista »,

2. Deprecación anunciada de Tuya, MELCloud, Telegram y Netatmo — lo hice de las dos maneras para que no haya ambigüedad:

  • una insignia roja « Próximamente obsoleta » en su tarjeta del catálogo (bandera deprecated en los JSON de integraciones, renderizada en IntegrationTags);
  • una alerta en la parte superior de la página de cada una de las cuatro integraciones (componente compartido DeprecationWarning): « pronto será obsoleta en favor de una integración externa equivalente… ambas versiones coexistirán en el catálogo durante la transición — puede seguir usando esta por ahora ».

3. Errores de autenticación al reiniciar (código de cierre 4000) — diagnóstico confirmado, y era aún peor: sin la variable de entorno JWT_SECRET, el secreto se regenera en cada arranque de Gladys, y como start() reiniciaba el contenedor existente con el token JWT congelado en su entorno (firmado con el secreto antiguo), la integración entraba en bucle de rechazo sin nunca repararse. Dos correcciones:

  • el supervisor ahora firma los JWT de integración con su propio secreto, generado una vez y persistido como variable (EXTERNAL_INTEGRATION_JWT_SECRET) — sobrevive a los reinicios y a las restauraciones de copia de seguridad, en coherencia con los contenedores que valida;
  • auto-reparación en start(): antes de reiniciar un contenedor existente, verifyContainerToken inspecciona el token de su entorno (firma con el secreto actual + buen servicio + buena token_version); si está caducado, el contenedor se recrea con un token fresco en lugar de reiniciarse en vano. Esto también repara, en el próximo arranque, los contenedores creados antes de este parche.