Skip to content

v0.7.0 · ligero

Choose a tag to compare

@BertMarti BertMarti released this 01 Oct 20:25
· 52 commits to main since this release
64b3df3

Cambiado

  • WebAssembly un 44 % más pequeño (#47): de 4.624.571 a 2.569.892 bytes (de 1.261.906 a 735.538 con gzip; unos 6,3 s a unos 3,7 s en Slow-4G). encoding/json (con reflect) pesaba 1,6 MB y fmt 0,45 MB, así que los campos de los eventos se leen a mano (internal/events/scan.go, comparado con encoding/json por un test diferencial) y render y generate usan strconv y concatenación. Las tarjetas siguen siendo idénticas byte a byte: las 96 huellas SHA-256 de v0.5.0 pasan y la galería entera y la CLI coinciden con las de v0.6.0. Event.Payload pasa de json.RawMessage a []byte. El CI compila con -trimpath, falla si el wasm pasa de 3 MB y un test impide que vuelvan encoding/json, fmt, reflect, regexp, net/http, os o las plantillas a lo que entra en el wasm.
  • Límite de la API de GitHub en el generador (#48): con las 60 peticiones por hora agotadas, el aviso dice a qué hora se restablece (cabecera X-RateLimit-Reset, en la hora local del navegador) y la web ofrece «Ver demo». Los eventos de un usuario se guardan 10 minutos en sessionStorage (por pestaña), de modo que redibujar, cambiar tamaño, especie o tema o recargar no gasta peticiones, y el nombre de usuario se valida en JavaScript antes de cargar el wasm o pedir nada (misma regla que events.ValidLogin, comprobada por un test).
  • El texto de error ante unos eventos que no son JSON válido cambia (por ejemplo, un fixture roto en --fixture): ahora dice «no se pudieron leer los eventos: JSON no válido en el byte N: …» en lugar del mensaje de encoding/json. Los códigos de salida son los mismos.
  • Los datos de cada usuario se guardan 10 minutos en la pestaña: un commit muy reciente puede tardar en verse (abre la web en otra pestaña para empezar de cero). La pista del formulario y docs/USO.md lo dicen.
  • Versión de la CLI: 0.7.0. action.yml no cambia.

Añadido

  • docs/specs/v0.7.md, con la medición por paquete del wasm, qué se aplicó y qué se descartó.
  • Test de comportamiento del generador en Node (internal/gallery/testdata/generator.test.js) con un DOM, fetch, sessionStorage y wasm simulados.

Corregido

  • Los tests de CSS (#49): el lector de reglas ignora los comentarios /* */, entiende @supports y no se traga la regla que sigue a un @charset o @import; favicon.svg entra en las huellas de compatibilidad (la de v0.5.0).