Todas las páginas
En esta página

Instalar OAR como app

La interfaz web de OAR es una Progressive Web App (PWA). Instalada, tiene su propio icono y su propia ventana, y arranca sin la barra de direcciones ni las pestañas del navegador. Es la misma interfaz web que muestra el navegador, servida por tu relay: no hay nada más que instalar en el dispositivo, y el relay conserva todas las sesiones.

Lo que necesita #

La instalación, y las notificaciones push, necesitan un contexto seguro: al relay hay que llegar por HTTPS o a través de localhost. Un relay de tu red en una dirección http simple no sirve, y ese es el motivo habitual para configurar un túnel para un teléfono: consulta Cloudflare Tunnel, Túnel SSH o Proxy inverso. Si el navegador ofrece después la instalación, y cómo, depende de las reglas del navegador.

Instalarla #

Abre el relay en el navegador del dispositivo e inicia sesión primero (consulta Primer arranque). Después:

Dispositivo y navegador Cómo
Android, Chrome Abre el menú del navegador (⋮) y elige Install app (Instalar la app) o Add to Home screen (Añadir a la pantalla de inicio). Si Chrome dice que la app ya está instalada, ábrela desde el lanzador o desinstala primero la copia antigua.
iPhone y iPad, Safari Abre el relay en Safari, toca Share (Compartir) y elige Add to Home Screen.
Navegadores de escritorio Abre el menú del navegador y elige Install app (o Add to Home screen, donde el navegador lo llama así).

OAR también tiene su propio botón ⬇, a la derecha de la cabecera de la lista de conversaciones, junto a + New Chat (Nuevo chat) y Status (Estado) (en una pantalla estrecha, abre la lista con ☰):

  • Cuando el navegador ha ofrecido su aviso de instalación, la información sobre herramientas del botón dice Install app to home screen (Instalar la app en la pantalla de inicio). Al pulsarlo se abre ese aviso. Cuando aceptas, OAR muestra Install accepted. The app will appear on your home screen., y App installed. en cuanto el navegador lo comunica.
  • Cuando el navegador no ha ofrecido ninguno, la información sobre herramientas dice Show install instructions (Mostrar las instrucciones de instalación), y al pulsar el botón aparece un mensaje con los pasos para tu plataforma (iPhone y iPad, Android o cualquier otro dispositivo), los mismos que en la tabla de arriba.

El botón está oculto en la app instalada y en una conversación compartida, donde no se ofrece la instalación.

Nombre e icono #

La app instalada toma su nombre de Settings → General → Relay name (Ajustes → General → Nombre del relay) (consulta Ajustes). Admite hasta 60 caracteres; mientras está vacío, la app se llama OAR. La etiqueta bajo el icono es la primera palabra del nombre, o sus primeros 12 caracteres cuando esa palabra es más larga. Ese mismo nombre es el que usan los relays emparejados para este relay.

El nombre se guarda en el relay y se sirve en el manifiesto de la app a todos los navegadores y direcciones, así que la dirección LAN y la dirección de un túnel coinciden. La app pertenece a la dirección desde la que se instaló: un relay detrás de un proxy inverso con un prefijo de ruta (remotePath, consulta config.json) es una app propia. Una instalación nueva usa el nombre que hay en el momento de instalar. Una app ya instalada en Android recibe un nombre nuevo mediante la actualización normal del manifiesto de Chrome: un aviso de confirmación muestra el nombre nuevo y después cambia la etiqueta del lanzador. Lo que hagan otros sistemas con un nombre cambiado depende de ellos.

El icono sigue el Theme (Tema): el modo Día usa el icono claro y un fondo de arranque blanco, el modo Noche el icono oscuro y un fondo oscuro. Después de cambiar el tema, la pantalla de arranque de la app instalada se actualiza cuando el sistema refresca la app, lo que en Android puede tardar un día.

Para distinguir varios relays en un mismo dispositivo, instala cada uno desde su propia dirección y dale a cada uno un Relay name distinto: cada dirección es una app aparte con su propio icono y su propia etiqueta.

Iniciar sesión dentro de la app #

El relay mantiene la sesión de un navegador con una cookie (consulta Primer arranque). Cuando la app instalada no tiene un inicio de sesión válido, muestra el cuadro de inicio de sesión, Enter your access token to connect (Introduce tu token de acceso para conectarte). Pega el token en el campo Access token (Token de acceso) y pulsa Connect (Conectar). oar url muestra el token actual si lo vuelves a necesitar. Después de oar setup --new-token, todos los dispositivos, incluidas las apps instaladas, tienen que volver a iniciar sesión.

Cómo se comporta la app #

Botón y gesto de atrás #

El botón o el gesto de atrás del sistema nunca cierra la app instalada de golpe. Atrás cierra el visor de archivos abierto (Nuevo en 0.9.9) o el visor de subagents, y nada más. Cuando no hay nada de eso que cerrar, la app muestra Press back again to close the app; una segunda pulsación, sin tocar la app entretanto, la cierra. Atrás no cierra cuadros de diálogo, menús ni la lista de conversaciones. El visor de archivos se describe en Atrás en un teléfono y en la app instalada, el visor de subagents en El visor de subagents.

Antes de tu primer toque, el navegador deja que atrás salga de la app, y una página no puede cambiarlo. En una pestaña del navegador, el botón de atrás sigue siendo el del navegador.

Pantalla completa #

La app se abre en su propia ventana independiente. En una pantalla estrecha también pide al sistema la pantalla completa en tu primer toque, donde el sistema lo permite. El botón de instalación ⬇ propio de OAR y su botón de pantalla completa están ocultos en la app. La página usa toda la pantalla, incluida la muesca, y mantiene su cabecera por debajo de la zona segura superior.

Volver desde segundo plano #

Un cambio de app breve no cambia nada: la app mantiene su conexión con el relay durante 45 segundos después de pasar a segundo plano. Después cierra la conexión. Cuando vuelves, se reconecta al instante y vuelve a leer la lista de conversaciones y la conversación actual, la lista de modelos, el estado de los workers de sesión y las preguntas y los tableros del plan abiertos, así que lo que pasó mientras no estabas aparece sin que hagas nada. Lo mismo ocurre cuando el dispositivo vuelve a estar en línea o despierta de la suspensión. Mientras no se puede llegar al relay, el punto de estado a la izquierda de la cabecera de la lista de conversaciones está gris y su información sobre herramientas dice Web relay unreachable (Relay web inaccesible); la app sigue intentándolo.

Mientras la app está en primer plano se lo comunica al relay, y el relay envía notificaciones push solo cuando ningún dispositivo tiene la app delante.

Actualizaciones #

La interfaz web la sirve el relay, así que una actualización de OAR en el host del relay también cambia la interfaz. La app instalada guarda una copia de su estructura básica, pero carga primero la página y sus scripts desde el relay siempre que puede llegar a él. Cuando arranca y encuentra una versión más reciente, cambia a ella sin preguntarte; si eso falla una vez, borra la estructura guardada y recarga. No tienes que reinstalar.

Límites #

  • Sin conexión, la app puede abrir su estructura básica guardada, pero todo lo que necesita el relay no funciona: las conversaciones, el explorador de archivos, enviar un mensaje. Las llamadas de la app al relay nunca se guardan.
  • La instalación necesita el contexto seguro descrito en Lo que necesita.