wiki: al mismo nivel que la de movil, con capturas propias
Tenia cinco paginas de texto y una sola captura. Ahora cada apartado tiene la suya, tomadas de esta rama corriendo en un navegador real. - Karvan: el recorrido entero, del menu lateral a la sala con mensajes. - Chats (nueva): la respuesta citada, y como esta hecha sin JavaScript. - Temas (nueva): el modulo con los cuatro temas, y por que Clear-SNH necesita su propio bloque. - Diferencias (nueva): que cambia respecto a la version de movil y por que. - Instalar: multicuenta con OASIS_ACCOUNT, y el aviso de las fuentes que faltan cuando los iconos salen como cuadros. - Estado: lo probado y lo no probado, separado. - Barra lateral de navegacion.
64
Chats.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
# Chats
|
||||
|
||||
> ⚠ Rama experimental, no oficial. El Oasis oficial es
|
||||
> https://github.com/epsylon/oasis · [Volver a la portada](Home)
|
||||
|
||||
Los chats de Oasis son **salas cifradas que sí se guardan**: cada mensaje se publica
|
||||
firmado en tu registro SSB y se replica a quien te siga. Son lo contrario de
|
||||
[Karvan](Karvan), que no guarda nada.
|
||||
|
||||
Esta rama no cambia cómo funcionan. Le añade una cosa: **responder citando** un
|
||||
mensaje anterior.
|
||||
|
||||
---
|
||||
|
||||
## La pantalla
|
||||
|
||||

|
||||
|
||||
En escritorio el chat se abre en dos columnas: a la izquierda la ficha de la sala
|
||||
—imagen, estado **OPEN**, etiqueta **E2E**, participantes, etiquetas—, y a la derecha
|
||||
el hilo de mensajes con el formulario debajo.
|
||||
|
||||
Arriba, los filtros de siempre: ALL, MINE, RECENT, FAVORITES, OPEN, CLOSED y
|
||||
**Create Chat**.
|
||||
|
||||
---
|
||||
|
||||
## Responder citando
|
||||
|
||||

|
||||
|
||||
Cada burbuja tiene una **flecha ↩**. Al pulsarla, el formulario de abajo se prepara
|
||||
para responder a ese mensaje: aparece una cita con el autor y el principio del texto,
|
||||
y una **✕** para cancelar.
|
||||
|
||||
Al enviar, la respuesta sale con la cita dentro —la barra amarilla de la última
|
||||
burbuja de la captura—, así que se ve a qué contesta sin tener que buscarlo.
|
||||
|
||||
### Cómo está hecho
|
||||
|
||||
Sin JavaScript en el cliente, como el resto de Oasis:
|
||||
|
||||
1. El botón ↩ es un enlace a `?replyTo=<id>#chat-compose`.
|
||||
2. El backend lee ese parámetro y se lo pasa a la vista.
|
||||
3. La vista pinta la cita sobre el formulario y añade un campo oculto `replyTo`.
|
||||
4. Al enviar, el identificador viaja con el mensaje y **se guarda dentro de él**.
|
||||
5. Al pintar el hilo, la vista arma un índice de mensajes por identificador y resuelve
|
||||
cada cita contra él.
|
||||
|
||||
Si el mensaje citado ya no está —se borró, o es más viejo que lo que se carga—, la
|
||||
burbuja sale sin cita en lugar de romperse.
|
||||
|
||||
---
|
||||
|
||||
## Cuándo usar cada cosa
|
||||
|
||||
| | Chats | [Karvan](Karvan) |
|
||||
|---|---|---|
|
||||
| Dónde viven los mensajes | En tu registro SSB, en disco | Solo en memoria |
|
||||
| Cuánto duran | Para siempre | Hasta que vence la sala |
|
||||
| Se replican a la red | Sí | No |
|
||||
| Quién puede entrar | Miembros del chat | Quien tenga el enlace |
|
||||
| Llamadas | No | Sí |
|
||||
| Sirve para | Lo que quieres conservar | Lo que no |
|
||||
65
Diferencias.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# Diferencias con la versión de móvil
|
||||
|
||||
> ⚠ Rama experimental, no oficial. El Oasis oficial es
|
||||
> https://github.com/epsylon/oasis · [Volver a la portada](Home)
|
||||
|
||||
Hay dos repositorios hermanos:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **OASIS_LINUX** (este) | Oasis de escritorio + Karvan + respuesta citada |
|
||||
| **[OASIS_MOBILE](https://gitea.laenre.net/hacklab/OASIS_MOBILE)** | Lo mismo, más una interfaz propia para Android y su envoltorio |
|
||||
|
||||
Las funciones son las mismas. Lo que cambia es cómo se llega a ellas.
|
||||
|
||||
---
|
||||
|
||||
## La navegación
|
||||
|
||||
| | Escritorio | Móvil |
|
||||
|---|---|---|
|
||||
| Menú | Dos columnas laterales, agrupadas por temas | Panal de hexágonos en el inicio |
|
||||
| Acceso rápido | No hay | Barra inferior con cuatro módulos a elegir |
|
||||
| Filtros | No hay | Personal / Community, reducen el panal a la mitad |
|
||||
| Nombres de las categorías | Los de epsylon: Community, Library, Multiverse | Los de la rama: Network, Media, Fediverse |
|
||||
|
||||
Esa última fila es una decisión, no un descuido. La versión de móvil viene de antes y
|
||||
sus nombres estaban ya en uso; la de escritorio se mantiene pegada a upstream para que
|
||||
cada versión nueva de epsylon se integre sin conflictos.
|
||||
|
||||
## Las llamadas
|
||||
|
||||
En el escritorio **los permisos los pide el navegador**, que es como funciona la web
|
||||
desde siempre: pulsas Call y Firefox o Chromium preguntan por la cámara.
|
||||
|
||||
En Android hace falta que la aplicación declare los permisos al compilar **y** que su
|
||||
envoltorio implemente `WebChromeClient.onPermissionRequest`. La APK oficial no hace
|
||||
ninguna de las dos cosas, y por eso la rama de móvil trae su propio proyecto Gradle.
|
||||
Está contado en
|
||||
[su wiki](https://gitea.laenre.net/hacklab/OASIS_MOBILE/wiki/Llamadas).
|
||||
|
||||
En resumen: **en escritorio las llamadas no necesitaban desbloquear nada**.
|
||||
|
||||
## El código
|
||||
|
||||
El módulo Karvan es **el mismo fichero por fichero** en los dos repositorios: modelo,
|
||||
vista, rutas, cliente WebRTC y estilos. Se decidió duplicar y adaptar en vez de
|
||||
extraer un paquete común, porque un paquete compartido obligaría a versionar y
|
||||
publicar por separado algo que todavía cambia cada semana.
|
||||
|
||||
Lo que sí difiere:
|
||||
|
||||
- `src/views/fork/hive_nav.js` —el panal, la topbar y la barra inferior— existe en los
|
||||
dos, pero sus funciones empiezan con `if (process.env.OASIS_MOBILE !== '1') return "";`,
|
||||
así que en escritorio no dibujan nada. Está en ambos para que `main_views.js` sea
|
||||
idéntico y las actualizaciones de upstream se apliquen una sola vez.
|
||||
- El fichero de traducciones de la rama, `i18n_fork.js`, tiene en móvil las claves de
|
||||
la interfaz propia; en escritorio solo las del módulo Karvan.
|
||||
- `android/` solo existe en el repositorio de móvil.
|
||||
|
||||
## Qué se comparte de verdad
|
||||
|
||||
Una sala de Karvan creada en el móvil **se puede abrir en el ordenador** si los dos
|
||||
nodos se replican: la invitación viaja como mensaje privado de SSB y el nodo que la
|
||||
recibe adopta la sala. Ese es el puente entre los dos, y es también la parte que deja
|
||||
de ser efímera —el mensaje privado queda en el registro para siempre—.
|
||||
47
Home.md
|
|
@ -19,44 +19,51 @@ Versión base: **Oasis 0.9.5**. Rama: `PRUEBAS`.
|
|||
|
||||
## Qué añade respecto al oficial
|
||||
|
||||
Una sola cosa, pero grande: **Karvan**, un módulo de salas efímeras con llamadas.
|
||||
Dos cosas, y ninguna cambia la interfaz que ya conoces:
|
||||
|
||||

|
||||
- **[Karvan](Karvan)**, un módulo de salas efímeras con llamadas de audio y vídeo.
|
||||
- **Responder citando** en los [chats](Chats) de Oasis.
|
||||
|
||||
El resto es Oasis 0.9.5 tal cual. La interfaz es la del proyecto original: el menú
|
||||
lateral por grupos, no la rejilla de hexágonos, que es de la versión para móvil.
|
||||
El resto es Oasis 0.9.5 tal cual: el menú lateral por grupos del proyecto original, no
|
||||
la rejilla de hexágonos, que es de la versión para móvil.
|
||||
|
||||
| | |
|
||||

|
||||
|
||||
| Página | De qué va |
|
||||
|---|---|
|
||||
| **[Karvan](Karvan)** | Salas que viven solo en memoria y se autodestruyen |
|
||||
| **[Llamadas](Llamadas)** | Audio y vídeo sobre WebRTC, sin servidores de terceros |
|
||||
| **[Instalar](Instalar)** | Igual que el oficial |
|
||||
| **[Instalar](Instalar)** | Puesta en marcha, TURN y avisos antes de tocar tu `~/.ssb` |
|
||||
| **[Karvan](Karvan)** | Salas efímeras: crearlas, entrar, invitar, qué protege y qué no |
|
||||
| **[Llamadas](Llamadas)** | WebRTC sin servidores de terceros, y cómo montar un TURN propio |
|
||||
| **[Chats](Chats)** | Los chats cifrados, con respuesta citada |
|
||||
| **[Temas](Temas)** | Cómo se ve el módulo con los cuatro temas |
|
||||
| **[Diferencias con la versión de móvil](Diferencias)** | Qué cambia y por qué |
|
||||
| **[Estado](Roadmap)** | Qué funciona y qué no |
|
||||
|
||||
Todas las capturas de esta wiki están tomadas de esta rama funcionando en un navegador
|
||||
real. Lo que se ve es lo que sale.
|
||||
|
||||
---
|
||||
|
||||
## Instalación
|
||||
## Karvan, de un vistazo
|
||||
|
||||
Exactamente igual que el Oasis oficial:
|
||||

|
||||
|
||||
```sh
|
||||
cd src/server && npm install
|
||||
cd ../.. && ./oasis.sh
|
||||
```
|
||||
|
||||
Karvan aparece en el menú lateral, en el grupo de comunicación, junto a los chats. Se
|
||||
puede apagar desde `/modules` como cualquier otro módulo.
|
||||
Una sala efímera: el tiempo que le queda arriba a la derecha, los botones de llamada,
|
||||
y los mensajes, que **solo viven en la memoria del proceso**. Al vencer el plazo
|
||||
desaparece todo. Explicado en detalle en **[Karvan](Karvan)**.
|
||||
|
||||
---
|
||||
|
||||
## Relación con la versión para móvil
|
||||
|
||||
Hay un repositorio hermano, **OASIS_MOBILE**, con la versión de Android: misma base y
|
||||
mismo módulo Karvan, pero con una interfaz distinta pensada para el pulgar.
|
||||
Hay un repositorio hermano,
|
||||
**[OASIS_MOBILE](https://gitea.laenre.net/hacklab/OASIS_MOBILE)**, con la versión de
|
||||
Android: misma base y mismo módulo Karvan, pero con una interfaz distinta pensada para
|
||||
el pulgar.
|
||||
|
||||
El código de Karvan es el mismo en ambos. Lo que cambia es el enganche: aquí un enlace
|
||||
en el menú lateral siguiendo el patrón del proyecto original, allí una rejilla de
|
||||
hexágonos.
|
||||
hexágonos. Está desarrollado en **[Diferencias](Diferencias)**.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
42
Instalar.md
|
|
@ -13,9 +13,49 @@ cd ../.. && ./oasis.sh
|
|||
|
||||
Abre `http://localhost:3000`.
|
||||
|
||||
Al arrancar verás en el terminal el resumen de siempre y, al final,
|
||||
`Modules loaded: [ 999 ]`. Eso significa que el backend está en pie.
|
||||
|
||||
## Activar Karvan
|
||||
|
||||
Viene activado. Si no lo ves en el menú lateral, míralo en `/modules`.
|
||||
Viene activado. Si no lo ves en el menú lateral, míralo en `/modules`: aparece entre
|
||||
Jobs y L.A.R.P.
|
||||
|
||||

|
||||
|
||||
## Varias identidades en el mismo equipo
|
||||
|
||||
Esta rama admite más de una cuenta. La variable `OASIS_ACCOUNT` decide **dónde vive
|
||||
todo**: el `secret`, la base de datos y los blobs.
|
||||
|
||||
```sh
|
||||
./oasis.sh # la de siempre, en ~/.ssb
|
||||
OASIS_ACCOUNT=pruebas ./oasis.sh # otra identidad, en ~/.pruebas
|
||||
```
|
||||
|
||||
El nombre se valida (letras, números, guion y guion bajo, hasta 32 caracteres) porque
|
||||
acaba formando rutas de fichero y hay operaciones destructivas —el modo pánico borra
|
||||
el directorio de la cuenta— que no deben poder apuntar fuera de sitio.
|
||||
|
||||
Sirve para probar esta rama **sin tocar tu identidad real**, que es lo recomendable:
|
||||
|
||||
```sh
|
||||
OASIS_ACCOUNT=pruebas ./oasis.sh gui --host=127.0.0.1 --port=3010
|
||||
```
|
||||
|
||||
> Todavía **no hay selector en la interfaz**: se elige al arrancar. Ver
|
||||
> [Estado](Roadmap).
|
||||
|
||||
## Si los iconos se ven como cuadros
|
||||
|
||||
Oasis usa caracteres Unicode poco comunes para los iconos del menú. Si te salen como
|
||||
□, tu sistema no tiene una fuente que los cubra:
|
||||
|
||||
```sh
|
||||
sudo apt install fonts-noto-core # Debian, Ubuntu y derivadas
|
||||
```
|
||||
|
||||
No es un fallo de Oasis y no afecta a nada más que a cómo se ve.
|
||||
|
||||
## Configurar un TURN
|
||||
|
||||
|
|
|
|||
72
Karvan.md
|
|
@ -6,16 +6,74 @@
|
|||
Salas de chat que **viven solo en memoria** y se destruyen solas. Nada se escribe en
|
||||
disco ni en el registro de SSB.
|
||||
|
||||
---
|
||||
|
||||
## Cómo funciona
|
||||
## Recorrido completo, paso a paso
|
||||
|
||||
Al crear una sala eliges cuánto vive. A partir de ahí:
|
||||
### 1. Encontrar Karvan
|
||||
|
||||
- **Se autodestruye por inactividad** (30 minutos por defecto) y **por tiempo
|
||||
absoluto** (2 horas), lo que ocurra antes. El plazo absoluto no se renueva con la
|
||||
actividad: la sala muere igual.
|
||||
- Al vencer, **se borra todo**: mensajes, señales y la lista de miembros.
|
||||
- Si reinicias Oasis, las salas desaparecen. Es lo correcto: solo existían en memoria.
|
||||

|
||||
|
||||
Karvan está en el menú lateral derecho, dentro de **Community**, al final de la lista,
|
||||
detrás de Chats. Es un enlace normal del menú, hecho con el mismo patrón que los
|
||||
demás.
|
||||
|
||||
> Si los iconos del menú se ven como cuadros vacíos (□), no es un fallo de Oasis: le
|
||||
> falta a tu sistema una fuente con cobertura Unicode amplia. En Debian y derivadas se
|
||||
> arregla con `apt install fonts-noto-core`.
|
||||
|
||||
### 2. Crear una sala
|
||||
|
||||

|
||||
|
||||
La pantalla tiene dos partes. Arriba el formulario: un **nombre opcional** y **cuánto
|
||||
vive** —30 minutos, 2 horas u 8 horas—, con el botón **Create ephemeral room**.
|
||||
|
||||
Debajo, **Active rooms**: las salas que existen ahora mismo en este nodo, con su
|
||||
número de mensajes y lo que les queda de vida.
|
||||
|
||||
Sin nombre, la sala se llama por su identificador. El nombre no es una credencial: no
|
||||
sirve para entrar, solo para reconocerla en la lista.
|
||||
|
||||
### 3. Dentro de la sala
|
||||
|
||||

|
||||
|
||||
De arriba abajo:
|
||||
|
||||
- **‹ Rooms** vuelve a la lista, el nombre de la sala en el centro, y a la derecha el
|
||||
tiempo que le queda. Ese contador baja siempre; no se renueva porque haya
|
||||
conversación.
|
||||
- **server relay** con un punto gris: por dónde van los mensajes ahora mismo. Gris es
|
||||
a través del servidor; se pone verde cuando hay canal directo entre navegadores.
|
||||
- Los **botones de llamada**: 📞 Call, micrófono, cámara y colgar. Ver
|
||||
**[Llamadas](Llamadas)**.
|
||||
- Los **mensajes**, y más abajo el campo para escribir y el de invitar por `@feed-id`.
|
||||
|
||||
### 4. Invitar a alguien
|
||||
|
||||
Dos formas:
|
||||
|
||||
**Pasar el enlace** — el identificador de la sala son 72 bits al azar y es la única
|
||||
credencial que existe.
|
||||
|
||||
**Invitar por identidad** — se pega el `@feed-id` de un contacto y Oasis le manda un
|
||||
**mensaje privado de SSB** con el enlace dentro, sin publicarlo en ningún sitio.
|
||||
|
||||
---
|
||||
|
||||
## Cuánto vive una sala
|
||||
|
||||
Dos relojes corren a la vez, y se destruye con el que llegue antes:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Por inactividad** | 30 minutos sin actividad. Este sí se reinicia con cada mensaje |
|
||||
| **Por tiempo absoluto** | El que elegiste al crearla. **No** se reinicia nunca |
|
||||
| **Tope duro** | 24 horas, aunque se pida más |
|
||||
|
||||
Al vencer, **se borra todo**: mensajes, señales y la lista de miembros. Si reinicias
|
||||
Oasis, las salas desaparecen: es lo correcto, solo existían en memoria.
|
||||
|
||||
## Quién puede entrar
|
||||
|
||||
|
|
|
|||
26
Llamadas.md
|
|
@ -7,13 +7,35 @@ Dentro de una sala de [Karvan](Karvan) hay un botón de llamada. El audio y el v
|
|||
van **directamente entre los participantes** por WebRTC, cifrados de extremo a extremo
|
||||
por el propio protocolo.
|
||||
|
||||
## Los botones
|
||||
|
||||

|
||||
|
||||
Están dentro de la sala, encima de los mensajes, y son cuatro:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **📞 Call** | Inicia la llamada. Es el que dispara la petición de permisos |
|
||||
| **🎤** | Silencia y devuelve el micrófono sin colgar |
|
||||
| **🎥** | Apaga y enciende la cámara sin colgar |
|
||||
| **⛔** | Cuelga y devuelve la sala a su estado inicial |
|
||||
|
||||
Mientras hay llamada, los tres primeros se ponen encendidos y debajo aparece el estado
|
||||
(`mic ON · cam ON`). El vídeo propio y el de los demás salen encima de la barra, en
|
||||
una rejilla que se adapta al número de participantes.
|
||||
|
||||
Los mensajes de la sala siguen funcionando durante la llamada: no hay que elegir entre
|
||||
hablar y escribir.
|
||||
|
||||
## Permisos de cámara y micrófono
|
||||
|
||||
En escritorio los pide el navegador directamente, la primera vez que inicias una
|
||||
llamada. No hay nada especial que configurar.
|
||||
|
||||
En la versión de Android hizo falta un envoltorio propio para poder concederlos; aquí
|
||||
no aplica.
|
||||
En la versión de Android hizo falta un envoltorio propio para poder concederlos,
|
||||
porque la APK oficial ni declara los permisos ni implementa el método que se los
|
||||
concede al contenido web. Aquí no aplica: eso lo resuelve el navegador. Ver
|
||||
[Diferencias](Diferencias).
|
||||
|
||||
## Sin servidores de terceros
|
||||
|
||||
|
|
|
|||
33
Roadmap.md
|
|
@ -3,22 +3,41 @@
|
|||
> ⚠ Rama experimental, no oficial. El Oasis oficial es
|
||||
> https://github.com/epsylon/oasis · [Volver a la portada](Home)
|
||||
|
||||
Sin fechas: esto se hace cuando se puede.
|
||||
|
||||
## Hecho
|
||||
|
||||
- Base **Oasis 0.9.5**, al día con el proyecto oficial.
|
||||
- **[Karvan](Karvan)** con su enlace en el menú lateral, siguiendo el mismo patrón que
|
||||
el resto de módulos.
|
||||
- Estilos del módulo en su propia hoja, para que se vea igual con cualquier tema.
|
||||
el resto de módulos, y su fila en `/modules` en orden alfabético.
|
||||
- Estilos del módulo en su propia hoja, cargada después del tema, **probada con los
|
||||
cuatro temas**. Ver [Temas](Temas).
|
||||
- **Responder citando** en los [chats](Chats), sin JavaScript en el cliente.
|
||||
- **Sin STUN de terceros**, con configuración para TURN propio.
|
||||
- **Multicuenta en el arranque**: `OASIS_ACCOUNT=<nombre>` levanta una identidad
|
||||
separada en `~/.<nombre>`, con su propio `secret`, su base de datos y sus blobs.
|
||||
|
||||
## En curso
|
||||
|
||||
- **Selector de identidad en la interfaz.** La base está —el arranque ya soporta
|
||||
varias cuentas— pero falta la pantalla para cambiar de una a otra, que además tiene
|
||||
que reiniciar el proceso.
|
||||
- Poner en marcha un TURN en un pub, para las llamadas fuera de la red local.
|
||||
|
||||
## Sin empezar
|
||||
|
||||
- Poner en marcha un TURN en un pub.
|
||||
- Varias identidades en el mismo equipo con cambio desde la interfaz.
|
||||
- Empaquetado `.deb` de esta rama.
|
||||
- Automatizar la construcción cuando el proyecto oficial publica una versión.
|
||||
|
||||
## Probado y no probado
|
||||
|
||||
**Probado**: arranque con cuenta aislada, crear salas, mensajes, respuesta citada,
|
||||
`/modules`, los cuatro temas, y el panel de llamada en su sitio.
|
||||
|
||||
**No probado**: una llamada real entre dos equipos distintos con TURN de por medio.
|
||||
Lo que está verificado es que el panel se dibuja bien y que el navegador pide los
|
||||
permisos; la negociación entre dos nodos separados por NAT está pendiente.
|
||||
|
||||
## Diferencias con la versión para móvil
|
||||
|
||||
La versión de Android lleva además una interfaz propia (hexágonos, barra de accesos
|
||||
rápidos) y algunos módulos recortados por peso. Aquí no: la interfaz es la del
|
||||
proyecto original y están todos los módulos.
|
||||
Están en su propia página: **[Diferencias](Diferencias)**.
|
||||
|
|
|
|||
55
Temas.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# Temas
|
||||
|
||||
> ⚠ Rama experimental, no oficial. El Oasis oficial es
|
||||
> https://github.com/epsylon/oasis · [Volver a la portada](Home)
|
||||
|
||||
Oasis trae cuatro temas y se cambian en **Settings**. Karvan funciona con los cuatro.
|
||||
|
||||

|
||||
|
||||
De izquierda a derecha y de arriba abajo: **Dark-SNH** (el de fábrica), **Clear-SNH**,
|
||||
**Matrix-SNH** y **Purple-SNH**. La misma sala, el mismo módulo.
|
||||
|
||||
---
|
||||
|
||||
## Por qué Karvan tiene su propia hoja de estilos
|
||||
|
||||
El módulo trae `karvan.css`, aparte de los temas. Es el mismo patrón que usa
|
||||
`highlight.css` en el proyecto original: una hoja que no pertenece a ningún tema
|
||||
concreto porque define **la forma** —las burbujas, los botones redondos de llamada, la
|
||||
rejilla de vídeo— y no los colores de la interfaz.
|
||||
|
||||
Se carga después del tema, así que la forma del módulo se mantiene con cualquiera de
|
||||
los cuatro.
|
||||
|
||||
## La excepción: el tema claro
|
||||
|
||||
**Clear-SNH** usa `!important` en casi todas sus reglas, así que gana siempre sobre
|
||||
cualquier hoja posterior. Es una decisión del tema, no un fallo, y no tiene sentido
|
||||
pelearse con ella a base de más `!important`.
|
||||
|
||||
La solución es la que ya usa Oasis: **que el tema pinte el módulo**. Clear-SNH lleva
|
||||
al final un bloque que traduce Karvan a su paleta clara —burbujas color crema, texto
|
||||
oscuro, títulos naranja—, igual que hace con el resto de la interfaz.
|
||||
|
||||
Sin ese bloque, las burbujas salían negras sobre fondo blanco y el texto secundario en
|
||||
amarillo pálido, ilegible. Se ve la diferencia comparando la captura de arriba a la
|
||||
derecha con cualquier versión anterior.
|
||||
|
||||
---
|
||||
|
||||
## Si añades un tema
|
||||
|
||||
Basta con copiar uno de los cuatro y cambiarle los colores: Karvan no necesita nada
|
||||
más, porque su forma viene de `karvan.css`.
|
||||
|
||||
Solo si tu tema usa `!important` —como Clear-SNH— tendrás que añadirle un bloque
|
||||
propio para el módulo. La lista de clases que conviene cubrir:
|
||||
|
||||
```
|
||||
.karvan-back .karvan-room-title .kr-title títulos y navegación
|
||||
.karvan-sub .karvan-expire .karvan-live .kr-meta textos secundarios
|
||||
.karvan-room-item cada sala de la lista
|
||||
.karvan-msg .karvan-msg-self las burbujas
|
||||
.km-from .km-text autor y texto del mensaje
|
||||
```
|
||||
22
_Sidebar.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
### Oasis Linux · rama `PRUEBAS`
|
||||
|
||||
**⚠ No es Oasis oficial**
|
||||
[El oficial es este](https://github.com/epsylon/oasis)
|
||||
|
||||
---
|
||||
|
||||
- [Portada](Home)
|
||||
- [Instalar](Instalar)
|
||||
- [Karvan · salas efímeras](Karvan)
|
||||
- [Llamadas](Llamadas)
|
||||
- [Chats](Chats)
|
||||
- [Temas](Temas)
|
||||
|
||||
---
|
||||
|
||||
- [Diferencias con móvil](Diferencias)
|
||||
- [Estado](Roadmap)
|
||||
|
||||
---
|
||||
|
||||
[Versión de Android](https://gitea.laenre.net/hacklab/OASIS_MOBILE)
|
||||
|
Before Width: | Height: | Size: 62 KiB |
BIN
img/01-karvan-lista.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
img/02-karvan-sala.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
img/03-menu-lateral.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
img/04-chat.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
img/05-chat-respuesta.png
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
img/06-temas.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
img/07-modules.png
Normal file
|
After Width: | Height: | Size: 127 KiB |
BIN
img/08-portada.png
Normal file
|
After Width: | Height: | Size: 113 KiB |