Commit graph

10 commits

Author SHA1 Message Date
SITO
e48f8becb5 identidades: enlace a exportar e importar
Sacar o meter una identidad ya existente lo hace el modulo legacy, que es quien
sabe cifrar el secret con una contraseña. Se enlaza desde la lista para que
este donde se busca.
2026-08-19 11:18:53 +02:00
SITO
7d0d7066bb identidades: selector en los ajustes
La base de multicuenta ya estaba en el arranque (OASIS_ACCOUNT), pero solo se
podia elegir por linea de comandos. Ahora hay una seccion en los ajustes que
lista las identidades del disco, marca cual esta en uso y permite crear una.

Como funciona:

- accounts.js encuentra las identidades buscando directorios ~/.<algo> con un
  secret dentro, y lee de el su @id.
- El selector anota la elegida en src/configs/active-account; ssb_config.js la
  usa al arrancar si no hay OASIS_ACCOUNT (que sigue mandando).
- Crear una identidad solo anota el nombre: el secret lo genera ssb-config al
  arrancar con esa cuenta, que es quien sabe hacerlo.

No se cambia en caliente a proposito: media aplicacion captura la referencia al
sbot al cargarse, asi que cambiarla con el proceso vivo dejaria modulos
hablando con la identidad anterior.

Dos carpetas pueden tener el mismo secret copiado, y publicar desde las dos
parte el registro sin arreglo posible. La lista lo detecta comparando los @id
y lo avisa en rojo en las dos filas.

El nombre se valida igual que en ssb_config.js: acaba en rutas de fichero y
hay operaciones destructivas (el modo panico borra el directorio de la cuenta)
que no deben poder apuntar fuera de sitio.
2026-08-19 11:08:35 +02:00
SITO
cba43ab884 backend: retirar media-favorites, que ya no lo usa nadie
Es de una version anterior de la rama; upstream resuelve lo mismo con
content_favorites.js y ningun fichero lo requiere.
2026-08-19 10:36:07 +02:00
SITO
2bf7ac3774 assets: recuperar las tres imagenes de UX que faltaban
La pantalla de ajustes y el asistente de bienvenida piden ux-blocks.png,
ux-chats.png y ux-ainav.png para el selector de modo de interfaz. No se
copiaron al integrar 0.9.5, asi que el selector salia con tres imagenes rotas.

De paso se retira media-favorites.js con su JSON: es de una version anterior
de la rama y ya no lo requiere nadie, upstream lo resuelve con
content_favorites.js.
2026-08-19 10:35:26 +02:00
SITO
e227275f76 modules: karvan en su sitio alfabetico
La lista de modulos va ordenada por nombre; karvan estaba detras de polls,
que es de donde se copio el patron. Pasa a estar entre jobs y larp.

De paso, .gitignore ignoraba node_modules solo como directorio: un enlace
simbolico con ese nombre aparecia sin seguimiento.
2026-08-19 10:31:36 +02:00
SITO
c0e1fdf156 karvan: el panel de llamada no tenia estilos
Un comentario sin cerrar en karvan.css se comia la llave de la regla que
neutraliza el div{background:#222;padding:20px} global, y con ella todo el
bloque de la videollamada. En escritorio el resultado eran dos cajas vacias
enormes y unos botones cuadrados en vez del panel.

Ademas:

- La hoja del modulo se cargaba antes que el tema, asi que el tema ganaba por
  cascada. Pasa a cargarse despues, que es lo que decia su propio comentario.
- Las opciones de duracion (30m / 2h / 8h) se partian letra a letra; les
  faltaba white-space: nowrap.
- Clear-SNH usa !important en casi todo, asi que ninguna hoja posterior puede
  ganarle. Se resuelve como lo resuelve Oasis: es el tema el que pinta el
  modulo. Sin ese bloque las burbujas salian negras sobre blanco y el texto
  secundario en amarillo palido, ilegible.

Comprobado con los cuatro temas.
2026-08-19 10:31:36 +02:00
SITO
fa044b14d0 chats: la respuesta citada se guardaba pero no se pintaba
buildMessage no copiaba replyTo del contenido del mensaje, asi que la vista
nunca encontraba a quien se respondia y la burbuja salia sin cita. El campo
estaba puesto por error en buildChat, donde no significa nada: un chat no
responde a ningun mensaje.

Se ve al responder a un mensaje y recargar el hilo.
2026-08-19 10:31:36 +02:00
SITO
b01784d213 fix: quitar las expresiones regulares con propiedades Unicode
Mismo cambio que en la version de movil. En escritorio no rompe —Node lleva ICU
completo— pero el codigo es compartido y conviene que no diverja.
2026-08-19 08:24:14 +02:00
SITO
f79573b317 ssb: base de multicuenta, igual que en la version de movil
Se traen los mismos cambios: la cuenta sale de OASIS_ACCOUNT con el nombre validado,
statePath se separa por cuenta, y los doce sitios que construian la ruta como
os.homedir() + '/.ssb' pasan a usar la de la cuenta activa.

El mas importante sigue siendo panicmode_model: con varias identidades habria borrado
la que no era.

Tambien entra el gate que faltaba en renderMobileTopbar, sin el cual la cabecera de
movil se dibujaba encima de la de upstream en escritorio.

La configuracion de escritorio no se toca: sigue con tema Dark-SNH y todos los
modulos.

Verificado arrancando sin OASIS_MOBILE: ocho rutas OK, incluidas /peers y /stats que
son las que leen gossip.json, y cero rastro de la interfaz movil.
2026-08-19 00:45:40 +02:00
SITO
ddd2787b73 Oasis 0.9.5 con Karvan para escritorio
Rama de desarrollo experimental sobre el Oasis de epsylon, sin afiliacion con el
proyecto original. Base: 0.9.5.

Trae el modulo Karvan —salas efimeras en memoria con autodestruccion por TTL, chat
que funciona sin JavaScript y llamadas de audio y video sobre WebRTC— con el enlace
en el menu lateral por el mismo patron que el resto de modulos: renderKarvanLink
calcado de renderPollsLink, entrada en modules_view y en la lista de /modules.

Los estilos del modulo van en su propia hoja, styles/karvan.css, siguiendo el patron
de highlight.css: asi se ve igual con cualquier tema, sin depender del tema movil.

Sin servidores ICE de terceros: no hay STUN de fabrica, porque un STUN aprende la IP
publica y el momento de cada llamada. Solo candidatos host salvo que se configure un
TURN propio en oasis-config.json, con credenciales efimeras por el mecanismo REST de
coturn.

El codigo propio vive separado —views/fork/, backend/fork_routes.js,
models/karvan_model.js y translations/fork/— de modo que sobre los ficheros de
upstream solo hay enganches de una linea y cada version nueva se integra sin
arrastrar nada.

Respecto al arbol de Android: fuera el wrapper y main.js, que es su arranque; el
tema vuelve a Dark-SNH y se restauran los modulos que en movil se recortan por peso.

Verificado arrancando sin OASIS_MOBILE: nueve rutas OK, menu lateral de upstream con
27 grupos y el enlace de Karvan, cero rastro de la interfaz movil (ni hexagonos, ni
topbar, ni barra inferior), y una sala creada y servida.
2026-08-19 00:35:08 +02:00