===============================================================
  SECCIÓN /testing-app EN 0asis.net
===============================================================

OBJETIVO
--------
Tener una URL pública (ej: 0asis.net/testing-app) donde
automáticamente se publican las APK beta generadas por la
automatización. Los usuarios beta-testers pueden descargar y
probar antes de que se libere oficialmente.


ESTRUCTURA RECOMENDADA
----------------------
  https://0asis.net/                    -- web principal pública
  https://0asis.net/testing-app/        -- index de beta APKs
  https://0asis.net/testing-app/latest  -- siempre la última
  https://0asis.net/testing-app/archive -- histórico


IMPLEMENTACIÓN
--------------

  OPCIÓN A: Carpeta estática servida por Nginx/Caddy
  --------------------------------------------------
  Más simple. Cuando el builder termina de generar la APK:

    cp /tmp/oasis-aligned.apk /var/www/0asis.net/testing-app/
        oasis-v0.7.6-20260509-pruebas.apk

    ln -sf oasis-v0.7.6-20260509-pruebas.apk
        /var/www/0asis.net/testing-app/latest.apk

  Caddyfile:
    0asis.net {
      handle /testing-app/* {
        root * /var/www/0asis.net
        file_server browse
        @latest path /testing-app/latest.apk
        header @latest Content-Disposition "attachment; filename=oasis-latest-pruebas.apk"
      }
      handle {
        # web principal
      }
    }


  OPCIÓN B: Index dinámico con metadatos
  --------------------------------------
  El index muestra una tabla con cada APK, fecha, changelog,
  link de descarga. Más útil para usuarios.

  Generar /var/www/0asis.net/testing-app/index.html
  automáticamente al final de builder.sh:

    <h1>Oasis Mobile - Testing builds</h1>
    <table>
      <tr><th>Versión</th><th>Fecha</th><th>Cambios</th><th>Download</th></tr>
      <tr>
        <td>v0.7.6</td>
        <td>2026-05-09</td>
        <td>Graphos, encriptación E2E, peers...</td>
        <td><a href="oasis-v0.7.6-20260509-pruebas.apk">APK</a></td>
      </tr>
      ...
    </table>


  OPCIÓN C: Página dinámica con Caddy + tag de release
  ----------------------------------------------------
  Más profesional: una página que lee el último JSON generado
  por builder y renderiza UI bonita con changelog.


CHANGELOG AUTOMÁTICO
--------------------
El scout puede generar un changelog.md amigable. Por ejemplo:

  ## v0.7.6 — 2026-05-09 (beta)

  ### Nuevas funcionalidades
  - Graphos: visualización interactiva de la red
  - AINav (deshabilitado en móvil, requiere LLM)
  - Encriptación E2E para chats / calendarios / mapas
  - Cascada al borrar tribes

  ### Bugfixes
  - Resolución de carreras en updates concurrentes

  ### Cambios visuales
  - Tabla de peers mejorada
  - Dashboard de estadísticas

  [Descargar APK](oasis-v0.7.6-20260509-pruebas.apk)

Este markdown puede renderizarse a HTML con `pandoc` o
incluirse tal cual en una página estática.


SEGURIDAD DE LA SECCIÓN /testing-app
------------------------------------
- Considera proteger /testing-app con HTTP basic auth
  para que solo beta-testers tengan acceso:
    Caddyfile:
    basicauth /testing-app/* {
      tester $2a$14$<bcrypt-hash>
    }
- O usar tokens en URL: /testing-app/{token}/latest.apk
- La APK lleva tu firma — cualquiera con ella puede
  instalar. Si te preocupa el leak, mantén privado.


INTEGRACIÓN CON TELEGRAM
------------------------
Al final del builder, además de subir la APK al servidor:

  bash oasis-notify-telegram.sh \
    "Nueva APK lista para test: \
     https://0asis.net/testing-app/oasis-v0.7.6-20260509-pruebas.apk \
     [Cambios](https://0asis.net/testing-app/v0.7.6-changelog.html)"

Los beta-testers en el canal de Telegram reciben el aviso al
instante y pueden instalar sin abrir email ni nada.


MIGRACIÓN A "RELEASE OFICIAL"
-----------------------------
Cuando una versión beta pasa el período de prueba (ej: 1 semana
sin reportes), tú manualmente la copias a /release/:

  cp /var/www/0asis.net/testing-app/oasis-v0.7.6-20260509-pruebas.apk
     /var/www/0asis.net/release/oasis-v0.7.6.apk

  ln -sf oasis-v0.7.6.apk /var/www/0asis.net/release/latest.apk

Y publicas en redes / Telegram canal release.


ARCHIVO DE BUILDS HISTÓRICAS
-----------------------------
Configura una limpieza para no llenar el disco:

  /etc/cron.daily/oasis-cleanup:
    find /var/www/0asis.net/testing-app -name "oasis-*.apk" \
      -mtime +60 -delete

Mantiene los últimos 60 días de builds beta.
