fix(forgejo): Spiegel überschreibt forgejo-admin.json der Mac-App auf einem Mac, auf dem beide laufen #154

Open
opened 2026-11-12 18:33:57 +00:00 by alf · 0 comments
Owner

Befund

_write_app_support_credentials (iris-server/app/forgejo_service.py) spiegelt die Zugangsdaten des Server-Forgejos nach $IRIS_APP_SUPPORT/forgejo-admin.json (Standard ~/Library/Application Support/Iris). Läuft der Linux-Server auf einem Mac, auf dem auch die Iris-App mit eigenem Forgejo (127.0.0.1:3300) läuft, überschreibt er die Datei der App mit seinen Zugangsdaten und url: http://forgejo:3300 (Docker-Name).

Folge (Mac Studio, 2026-11-11 15:08): Die App-Datei passt nicht mehr zum Mac-Forgejo. Dessen Log zeigt wiederholte Failed authentication attempt for iris-admin … password is invalid; Plugins, die die Datei lesen (iris-rustapp-crafter, vermutlich iris-plugin-dev), melden den eigenen Forgejo als nicht erreichbar bzw. bekommen 401. Die Adresse forgejo:3300 ist auf dem Host nicht auflösbar.

Behelf (einmalig, von Hand): forgejo admin user change-password --username iris-admin … auf den Wert der Datei setzen, so wie es ForgejoCore.ensureSetup der App tut. Hält nur, bis der Spiegel die Datei erneut schreibt.

Erwartet

Die zwei Dateien kollidieren nicht: Der Spiegel schreibt nur dort, wo die Datei nicht von der Mac-App stammt (z. B. nur im Container mit IRIS_APP_SUPPORT auf den Bind-Mount, nie in das Standardverzeichnis eines Macs, auf dem die App einen eigenen Forgejo betreibt), oder er nutzt einen eigenen Dateinamen. Ein Test deckt den Fall ab, dass im Zielverzeichnis bereits eine Datei mit anderem Benutzer/URL liegt.

Offen

  • Welche Lösung (Vorbedingung prüfen, eigener Dateiname oder nur Container-Pfad) – Wire-/Plugin-Verträge prüfen: Plugins lesen den Namen forgejo-admin.json im Container.
  • Ob iris-plugin-dev dieselbe Adress- und Anmeldeschwäche hat (separat prüfen).

Bezug: iris/iris-plugins#388 (0.1.3 erkennt und meldet den Zustand, kann die Zugangsdaten aber nicht reparieren).

## Befund `_write_app_support_credentials` (`iris-server/app/forgejo_service.py`) spiegelt die Zugangsdaten des Server-Forgejos nach `$IRIS_APP_SUPPORT/forgejo-admin.json` (Standard `~/Library/Application Support/Iris`). Läuft der Linux-Server auf einem Mac, auf dem auch die Iris-App mit eigenem Forgejo (127.0.0.1:3300) läuft, überschreibt er die Datei der App mit **seinen** Zugangsdaten und `url: http://forgejo:3300` (Docker-Name). Folge (Mac Studio, 2026-11-11 15:08): Die App-Datei passt nicht mehr zum Mac-Forgejo. Dessen Log zeigt wiederholte `Failed authentication attempt for iris-admin … password is invalid`; Plugins, die die Datei lesen (`iris-rustapp-crafter`, vermutlich `iris-plugin-dev`), melden den eigenen Forgejo als nicht erreichbar bzw. bekommen 401. Die Adresse `forgejo:3300` ist auf dem Host nicht auflösbar. Behelf (einmalig, von Hand): `forgejo admin user change-password --username iris-admin …` auf den Wert der Datei setzen, so wie es `ForgejoCore.ensureSetup` der App tut. Hält nur, bis der Spiegel die Datei erneut schreibt. ## Erwartet Die zwei Dateien kollidieren nicht: Der Spiegel schreibt nur dort, wo die Datei **nicht** von der Mac-App stammt (z. B. nur im Container mit `IRIS_APP_SUPPORT` auf den Bind-Mount, nie in das Standardverzeichnis eines Macs, auf dem die App einen eigenen Forgejo betreibt), oder er nutzt einen eigenen Dateinamen. Ein Test deckt den Fall ab, dass im Zielverzeichnis bereits eine Datei mit anderem Benutzer/URL liegt. ## Offen - Welche Lösung (Vorbedingung prüfen, eigener Dateiname oder nur Container-Pfad) – Wire-/Plugin-Verträge prüfen: Plugins lesen den Namen `forgejo-admin.json` im Container. - Ob `iris-plugin-dev` dieselbe Adress- und Anmeldeschwäche hat (separat prüfen). Bezug: iris/iris-plugins#388 (0.1.3 erkennt und meldet den Zustand, kann die Zugangsdaten aber nicht reparieren).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-linux-server#154
No description provided.