v3.8.1 — Las 232 clases embebidas en la app Android
·
40 commits
to main
since this release
🐛 Por qué existe esta versión
El APK publicado en v3.8.0 se instalaba con el catálogo vacío: mostraba "0/0 clases" y ninguna tarjeta. El archivo de datos que la app embebe (mobile/src/data/classes.js) era un stub export const CLASSES = [], y ningún test cubría el contenido embebido, así que todas las señales de calidad estaban en verde: CI pasaba, el checksum cuadraba y la versión era correcta.
Si descargaste el APK de v3.8.0, sustitúyelo por el de esta versión. Los binarios de Windows de v3.8.0 no tenían este problema.
✅ Corregido
- Las 232 clases van embebidas en la app Android.
classes.jsahora se genera desdeclasses/**/README.mdconscripts/generate_mobile_curriculum.py, la fuente de verdad del currículo. - La pantalla de clase crasheaba. Llamaba a
normalizeLevel, una función inexistente (ReferenceError). Estaba oculto porque con el catálogo vacío nunca se llegaba a esa pantalla. - Los 232 enlaces a Google Colab daban 404: apuntaban a la rama
mastercuando la única rama del remoto esmain. El mismo fallo estaba en los generadores de PDFs y notebooks. - El APK no era autónomo. Sin
debuggableVariants = [], Gradle omite el bundle JS y la app muere en "Unable to load script" salvo que tengas un servidor Metro delante.
✨ Añadido
- Navegación jerárquica: las 9 partes con su progreso → las clases de cada parte, con buscador que ignora acentos → el detalle de la clase (objetivo, resultados, temas, materiales, práctica y Colab). Una lista plana de 232 elementos era inusable.
- 20 tests sobre el catálogo embebido, incluido uno que regenera y compara para detectar deriva respecto del markdown. Este fallo ya no puede repetirse en silencio.
🔍 Verificación
- APK instalado en emulador Android (API 36): arranca sin servidor Metro, se recorre Home → Parte → Clase → Práctica sin crash y el progreso persiste.
- Instalador
.exeverificado instalando en aislado y el ZIP portable inspeccionado: 232 clases y 232 notebooks en ambos. - Suite completa en verde (78 tests).
Integridad de los artefactos en SHA256SUMS_v3.8.1.txt.