OAR als App installieren
Die OAR-Weboberfläche ist eine Progressive Web App (PWA). Installiert bekommt sie ein eigenes Icon und ein eigenes Fenster und startet ohne Adressleiste und Tabs des Browsers. Es ist dieselbe Weboberfläche, die der Browser zeigt, geliefert von deinem Relay: Auf dem Gerät ist sonst nichts zu installieren, und das Relay behält alle Sessions.
Was es braucht #
Die Installation und Push-Benachrichtigungen brauchen einen sicheren Kontext: Das Relay muss
über HTTPS oder über localhost erreicht werden. Ein Relay in deinem Netzwerk unter einer einfachen
http-Adresse reicht nicht. Das ist der übliche Grund, für ein Handy einen
Tunnel einzurichten: siehe Cloudflare Tunnel,
SSH-Tunnel oder
Reverse Proxy. Ob und wie der Browser die
Installation dann anbietet, bestimmt der Browser.
Installieren #
Öffne das Relay im Browser des Geräts und melde dich zuerst an (siehe Erster Start). Dann:
| Gerät und Browser | So geht es |
|---|---|
| Android, Chrome | Öffne das Browsermenü (⋮) und wähl Install app (App installieren) oder Add to Home screen (Zum Startbildschirm hinzufügen). Meldet Chrome, dass die App schon installiert ist, öffne sie über den Launcher oder deinstalliere zuerst die alte Kopie. |
| iPhone und iPad, Safari | Öffne das Relay in Safari, tippe auf Share (Teilen) und wähl dann Add to Home Screen. |
| Desktop-Browser | Öffne das Browsermenü und wähl Install app (oder Add to Home screen, wo der Browser es so nennt). |
OAR hat außerdem einen eigenen ⬇-Button, rechts im Header der Konversationsliste, neben + New Chat (Neuer Chat) und Status (auf einem schmalen Bildschirm öffnest du die Liste mit ☰):
- Hat der Browser seine Installationsabfrage angeboten, lautet der Tooltip des Buttons Install app to home screen. Ein Druck darauf öffnet diese Abfrage. Nachdem du zugestimmt hast, zeigt OAR Install accepted. The app will appear on your home screen. und App installed., sobald der Browser das meldet.
- Hat der Browser keine angeboten, lautet der Tooltip Show install instructions, und ein Druck auf den Button zeigt eine Meldung mit den Schritten für deine Plattform (iPhone und iPad, Android oder ein anderes Gerät), dieselben wie in der Tabelle oben.
In der installierten App ist der Button ausgeblendet, ebenso in einer geteilten Konversation, wo keine Installation angeboten wird.
Name und Icon #
Den Namen der installierten App bestimmt Settings → General → Relay name
(Einstellungen → Allgemein → Relay-Name) (siehe
Settings). Er fasst bis zu 60 Zeichen;
solange er leer ist, heißt die App OAR. Die Beschriftung unter dem Icon ist
das erste Wort des Namens oder dessen erste 12 Zeichen, wenn das Wort länger
ist. Unter demselben Namen kennen gekoppelte Relays
dieses Relay.
Der Name ist auf dem Relay gespeichert und wird im Manifest der App an jeden
Browser und jede Adresse ausgeliefert, sodass LAN-Adresse und Tunnel-Adresse
übereinstimmen. Die App gehört zu der Adresse, von der aus sie installiert
wurde: Ein Relay hinter einem Reverse Proxy unter einem Pfadpräfix
(remote, siehe config.json) ist eine eigene
App. Eine neue Installation übernimmt den Namen zum Zeitpunkt der Installation.
Eine auf Android schon installierte App bekommt einen neuen Namen über das
normale Manifest-Update von Chrome: Eine Bestätigungsabfrage zeigt den neuen
Namen, dann ändert sich die Beschriftung im Launcher. Was andere Systeme mit
einem geänderten Namen machen, liegt bei ihnen.
Das Icon folgt dem Theme: Day mode (Tagmodus) nutzt das helle Icon und einen weißen Starthintergrund, Night mode (Nachtmodus) das dunkle Icon und einen dunklen. Nachdem du das Theme geändert hast, aktualisiert sich der eigene Startbildschirm der installierten App, wenn das System die App auffrischt; auf Android kann das einen Tag dauern.
Um mehrere Relays auf einem Gerät auseinanderzuhalten, installiere jedes von seiner eigenen Adresse und gib jedem einen anderen Relay name: Jede Adresse ist eine eigene App mit eigenem Icon und eigener Beschriftung.
Anmelden in der App #
Das Relay hält einen Browser mit einem Cookie angemeldet (siehe
Erster Start). Hat die installierte
App keine gültige Anmeldung, zeigt sie das Anmeldefeld, Enter your access
token to connect (Gib dein Zugriffstoken ein, um dich zu verbinden). Füge das Token in das Feld Access token (Zugriffstoken) ein und drück Connect (Verbinden). oar url gibt das aktuelle
Token aus, falls du es noch einmal brauchst. Nach oar setup --new- muss sich jedes Gerät
neu anmelden, installierte Apps eingeschlossen.
Wie sich die App verhält #
Zurück-Taste und Zurück-Geste #
Die Zurück-Taste oder -Geste des Systems schließt die installierte App nie sofort. Zurück schließt den offenen Datei-Viewer (Neu in 0.9.9) oder Subagent-Viewer und sonst nichts. Gibt es nichts dieser Art zu schließen, zeigt die App Press back again to close the app; ein zweiter Druck, ohne die App dazwischen zu berühren, schließt sie. Zurück schließt keine Dialoge, Menüs und nicht die Konversationsliste. Der Datei-Viewer ist unter Zurück auf dem Handy und in der installierten App beschrieben, der Subagent-Viewer unter Der Subagent-Viewer.
Vor deiner ersten Berührung lässt der Browser die App mit Zurück verlassen, und eine Seite kann das nicht ändern. In einem Browser-Tab bleibt die Zurück-Taste die des Browsers.
Vollbild #
Die App öffnet sich in einem eigenen, eigenständigen Fenster. Auf einem schmalen Bildschirm fordert sie bei deiner ersten Berührung außerdem Vollbild beim System an, wo das System es erlaubt. OARs eigener ⬇-Installationsbutton und sein Vollbild-Button sind in der App ausgeblendet. Die Seite nutzt den ganzen Bildschirm, Notch eingeschlossen, und hält ihren Header unterhalb des oberen sicheren Bereichs.
Rückkehr aus dem Hintergrund #
Ein kurzer App-Wechsel ändert nichts: Die App hält ihre Verbindung zum Relay noch 45 Sekunden, nachdem sie in den Hintergrund gegangen ist. Danach schließt sie die Verbindung. Wenn du zurückkommst, verbindet sie sich sofort neu und liest die Konversationsliste und die aktuelle Konversation, die Modellliste, den Zustand der Session-Worker sowie offene Rückfragen und Plan-Boards neu ein, sodass erscheint, was in deiner Abwesenheit passiert ist, ohne dass du etwas tun musst. Dasselbe passiert, wenn das Gerät wieder online ist oder aus dem Ruhezustand aufwacht. Solange das Relay nicht erreichbar ist, ist der Statuspunkt links im Header der Konversationsliste grau, und sein Tooltip lautet Web relay unreachable; die App versucht es weiter.
Solange die App im Vordergrund ist, teilt sie das dem Relay mit, und das Relay sendet Push-Benachrichtigungen nur, wenn kein Gerät die App vorne hat.
Updates #
Die Weboberfläche liefert das Relay aus, also ändert ein Update von OAR auf dem Relay-Host auch die Oberfläche. Die installierte App behält eine Kopie ihrer Shell, lädt die Seite und ihre Skripte aber zuerst vom Relay, wann immer sie es erreicht. Findet sie beim Start eine neuere Version, wechselt sie ohne Nachfrage dorthin; schlägt das einmal fehl, entfernt sie ihre gespeicherte Shell und lädt neu. Du installierst nicht neu.
Grenzen #
- Offline kann die App ihre gespeicherte Shell öffnen, aber alles, was das Relay braucht, funktioniert nicht: Konversationen, der Dateibrowser, das Senden einer Nachricht. Die Aufrufe der App an das Relay werden nie gespeichert.
- Die Installation braucht den sicheren Kontext, der unter Was es braucht beschrieben ist.