diff --git a/docs/ARQUITECTURA_APK.md b/docs/ARQUITECTURA_APK.md index 59128ff..fa79a03 100644 --- a/docs/ARQUITECTURA_APK.md +++ b/docs/ARQUITECTURA_APK.md @@ -86,6 +86,26 @@ app (el navegador). Hay rutas que intercepta para el Teléfono (`/phone/speaker` `/phone/accept-speaker`). +## El backend por dentro + +`rea analyze-javascript-application` sobre el `nodejs-project` oficial, sin +`node_modules` (463 ficheros JavaScript). Del grafo de imports, contando solo +ficheros del dev: + +- `backend/backend.js` lo cose todo: hace 896 de los imports. Rutas, middleware y + la llamada a cada modelo y cada vista pasan por él. +- Las capas van `backend → views` (568 imports), `backend ↔ models` (218 y 223) y + `models → configs` (180). Las vistas casi no importan nada del backend (3). +- Lo más importado, y por tanto lo que más rompe si cambia: `views/main_views.js` + (217), `models/typed_log.js` (194), `configs/config-manager.js` (152), + `views/clearnet_view.js` (116), `backend/dedupe.js` (112). + +Cuadra con la lista de lo que no se toca de la guía: un cambio nuestro en +`backend.js` o en `main_views.js` tropieza con casi todo lo demás en cada versión. +Por eso lo nuestro va en `fork_routes.js`, `mobile_ui.js` y las hojas propias, que +el dev no importa. + + ## Lo que hace nuestra APK encima `android/scripts/sobre_oficial.sh` coge esta APK tal cual y cambia: @@ -112,6 +132,9 @@ export REA_JADX_MCP_JAR=$PWD/jadx-headless-mcp-0.7.1-all.jar JAVA_HOME=/opt/andr rea inspect-android-package oasis-v1.3.3.apk rea inspect-android-class oasis-v1.3.3.apk com.solarnethub.oasis.OasisActivity rea inspect-android-method oasis-v1.3.3.apk com.solarnethub.oasis.OasisActivity copyNodeProjectIfNeeded +# el backend: sacar nodejs-project del zip y quitarle src/server/node_modules +# (con ellas, 16.500 ficheros, se corta por tiempo) +rea --json analyze-javascript-application /ruta/absoluta/nodejs-project-sin-node_modules ``` Con cada versión nueva del dev conviene mirar otra vez `copyNodeProjectIfNeeded`,