feat: merge Oasis 0.7.6 upstream — Graphos, E2E, peers/stats, AUTOMATIZACION
Cambios aplicados desde epsylon/oasis 3d46340 (0.7.6):
NUEVO MÓDULO Graphos (mapa interactivo de la red):
- src/views/graphos_view.js (nuevo)
LÓGICA:
- src/backend/nameCache.js (nuevo) — NameAuthor resolver
- src/models/chats_model.js — encriptación E2E
- src/models/calendars_model.js — E2E + calendar invites con códigos
- src/models/maps_model.js — E2E + CLOSED enforcement
- src/models/tribes_model.js — sub-tribe access control (PRESERVA nuestro inviteLog)
- src/models/tribe_crypto.js — soporte E2E
- src/models/main_models.js — refactor (PRESERVA nuestro pub-invite SSB msg)
- src/models/{activity,banking,pads,search,stats,tags,tribes_content}_model.js
- src/backend/backend.js — searchModel constructor + new helpers (errorView, safeRefererRedirect)
- src/backend/blobHandler.js, renderTextWithStyles.js
- src/views/main_views.js — añadido userLink/userLinkLabel + nameCache import (mantiene nuestro hamburger menu)
VISUAL:
- 31 views actualizadas con refactor a userLink helper
- src/views/peers_view.js — tabla con keys clicables
- src/views/stats_view.js — dashboard avanzado
- src/client/assets/styles/style.css — merge (preserva nuestras adiciones QR/mobile)
- Temas desktop: Clear, Dark, Matrix, Purple
- Translations 11 idiomas (ar, de, en, es, eu, fr, hi, it, pt, ru, zh)
- src/configs/{config-manager,oasis-config}, server/SSB_server.js, oasis_client.js
SKIPS (intencionalmente):
- OasisMobile.css del upstream (mantenemos NUESTRO mobile.css y theme)
- main_views.js menu reorganization (mantenemos hamburger nav)
- @xenova/transformers (LLM, no viable mobile)
- node-llama-cpp (build nativo no soportado en arm64 mobile)
- pdfjs-dist (pendiente probar luego)
- AI/embedder.js + AI/routes_index.js (dependen de las libs LLM)
server/package.json: version 0.7.5 → 0.7.6
AUTOMATIZACIÓN:
- Nueva carpeta AUTOMATIZACION/ con 10 archivos:
- 4 opciones (cron simple, multi-agente, GitHub Actions, webhook)
- Setup Debian completo paso a paso
- Scripts bash listos: scout, merger, builder, notify-telegram
- Prompts listos para los agentes
- Sección /testing-app para 0asis.net
- Human-in-the-loop: archivos prohibidos para auto-merge
PENDIENTE: build APK (el bash tool tuvo timeouts; usar comandos
de CONTEXT/cambio_apk_repack.txt manualmente).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
13161b2158
commit
3a3563f2a0
84 changed files with 5842 additions and 1621 deletions
115
AUTOMATIZACION/04_OPCION_C_github_actions.txt
Normal file
115
AUTOMATIZACION/04_OPCION_C_github_actions.txt
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
===============================================================
|
||||
OPCIÓN C — GITHUB ACTIONS
|
||||
===============================================================
|
||||
|
||||
REQUISITO PREVIO
|
||||
----------------
|
||||
Mover el repo oasis_mobile a GitHub (público o privado).
|
||||
Actualmente está en Gitea code.03c8.net:3000.
|
||||
|
||||
Razón: GitHub Actions solo corre en repos de GitHub.
|
||||
|
||||
|
||||
ARCHIVO: .github/workflows/upstream-sync.yml
|
||||
--------------------------------------------
|
||||
|
||||
name: Upstream sync (weekly)
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * 1' # Lunes 03:00 UTC
|
||||
workflow_dispatch: {} # también manual
|
||||
|
||||
jobs:
|
||||
sync-and-build:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Add upstream remote
|
||||
run: |
|
||||
git remote add upstream https://github.com/epsylon/oasis.git
|
||||
git fetch upstream
|
||||
|
||||
- name: Check for upstream changes
|
||||
id: check
|
||||
run: |
|
||||
BEHIND=$(git rev-list HEAD..upstream/main --count)
|
||||
echo "behind=$BEHIND" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Setup Claude Code
|
||||
if: steps.check.outputs.behind != '0'
|
||||
uses: anthropics/claude-code-action@v1
|
||||
with:
|
||||
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
prompt-file: .github/prompts/upstream-merge.md
|
||||
|
||||
- name: Install Android SDK
|
||||
if: steps.check.outputs.behind != '0'
|
||||
uses: android-actions/setup-android@v3
|
||||
|
||||
- name: Build APK
|
||||
if: steps.check.outputs.behind != '0'
|
||||
run: bash .github/scripts/build-apk.sh
|
||||
env:
|
||||
KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }}
|
||||
|
||||
- name: Upload APK artifact
|
||||
if: steps.check.outputs.behind != '0'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: oasis-mobile-apk-${{ github.run_number }}
|
||||
path: /tmp/oasis-aligned.apk
|
||||
retention-days: 30
|
||||
|
||||
- name: Create release
|
||||
if: steps.check.outputs.behind != '0'
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
tag_name: auto-${{ github.run_number }}
|
||||
files: /tmp/oasis-aligned.apk
|
||||
prerelease: true
|
||||
|
||||
|
||||
SECRETS A CONFIGURAR EN GITHUB
|
||||
------------------------------
|
||||
ANTHROPIC_API_KEY <- API key de Anthropic
|
||||
KEYSTORE_PASS <- "oasis123"
|
||||
KEYSTORE_BASE64 <- base64 del oasis-release-key.jks
|
||||
TELEGRAM_BOT_TOKEN <- opcional para notificar
|
||||
|
||||
|
||||
PROS
|
||||
----
|
||||
- Gratis (2000 minutos/mes en repo privado, ilimitado público)
|
||||
- Histórico completo y auditable
|
||||
- Artifacts descargables 30 días
|
||||
- Crea release de pre-release automáticamente
|
||||
- Sin VPS, sin mantenimiento de infra
|
||||
|
||||
|
||||
CONTRAS
|
||||
-------
|
||||
- Hay que mover el repo a GitHub
|
||||
- Build APK consume ~10-15 min, costo eficiencia OK
|
||||
- Si la API key se filtra, alguien podría gastar tu cuenta
|
||||
- Si Anthropic baja prices o cambia API, hay que actualizar
|
||||
|
||||
|
||||
COSTE ESTIMADO
|
||||
--------------
|
||||
GitHub Actions: 0 €/mes (dentro del free tier)
|
||||
Anthropic API: ~0.50€ por sync semanal x 4 = 2€/mes
|
||||
Total: 2€/mes vs VPS 5-10€/mes para opción A/B/D
|
||||
|
||||
|
||||
CUÁNDO ES MEJOR ESTA OPCIÓN
|
||||
---------------------------
|
||||
- Si no tienes/quieres mantener un VPS
|
||||
- Si te da igual mover el repo a GitHub
|
||||
- Si quieres logs públicos auditables
|
||||
- Si quieres distribución automática de pre-releases
|
||||
Loading…
Add table
Add a link
Reference in a new issue