Skip to content

v2.2.2

Choose a tag to compare

@uniextra uniextra released this 05 Nov 08:05
· 33 commits to main since this release

🐛 Correcciones y Mejoras en v2.2.2

Esta versión resuelve un falso positivo en la descarga de archivos que impedía completar las copias de seguridad nativas en Home Assistant (#11).

🔍 ¿Qué se ha corregido?

  • Descarga transparente de archivos JSON / JS legítimos:
    • El motor de descarga descartaba incondicionalmente cualquier respuesta HTTP con Content-Type: application/json o text/javascript, asumiendo que se trataba de un error devuelto por la nube de Movistar.
    • Esto causaba que archivos de metadatos legítimos como <backup_id>.metadata.json (generados por el agente de copias de seguridad de Home Assistant / aiowebdav2) cortaran la conexión inmediatamente tras enviar las cabeceras HTTP, provocando el fallo ClientPayloadError: Response payload is not completed (received 0 of 1017 bytes).
    • Ahora se realiza una inspección no destructiva de los primeros bytes (bufio.Reader.Peek): solo se descartan las respuestas que contengan estructuras de error reales de la API SAPI de Movistar Cloud ({"error": {"code": ...}}, error_code, status: "error") o cuando el archivo solicitado sea un binario conocido (.tar, .zip, .iso, .png, etc.) que no deba devolver JSON.
    • Los archivos .json, .js, scripts y ficheros de configuración se descargan de extremo a extremo al 100% sin cortes ni pérdidas de datos.
  • Suite de Pruebas Automatizadas:
    • Cobertura exhaustiva en internal/sapi/download_json_test.go verificando casos reales de Home Assistant, descargas legítimas y discriminación de errores de SAPI.

🐳 Actualización en Docker

Para actualizar a esta versión en tu servidor o NAS:

docker pull uniextra/movistar-webdav-proxy:latest
docker compose up -d

O bien fijando la etiqueta de versión:

image: uniextra/movistar-webdav-proxy:v2.2.2