iris-browser: Update übernimmt den laufenden Chromium mit alten Startoptionen #355

Open
opened 2026-11-05 21:07:11 +00:00 by alf · 2 comments
Owner

Befund (2026-11-05, Mac-VM, bei #353): Nach dem Update auf 0.5.4 war das Panel weiter leer. Der Dienst wurde neu gestartet, übernahm aber den schon laufenden Chromium (PID aus browser.json) und damit dessen alte Startoptionen. Erst nach dem Beenden des Chromium (SIGTERM) startete der Dienst ihn mit --disable-field-trial-config neu, danach kam das Bild an.

Folge: Jede Änderung an den Startoptionen in lib/chromium.mjs greift nach einem Plugin-Update erst, wenn der Chromium von Hand beendet wird. Das merkt der Nutzer nicht, das Update wirkt wirkungslos.

Ziel: Nach einem Update (oder wenn der Dienst eine andere Plugin-Version als der laufende Chromium hat) wird der Chromium beendet und neu gestartet; die Tabs kommen aus state.json zurück (geparkt, laden beim Fortsetzen). Denkbar: Startoptionen-Kennung oder Plugin-Version in browser.json ablegen und beim Verbinden vergleichen (stopBrowser existiert).

Offen: Hook post_update gibt es im Manifest nicht (nur post_install, pre_uninstall); prüfen, ob ein Update post_install erneut ausführt. Gilt auch für den Linux-Server (Browser-Dienst im Container).

**Befund (2026-11-05, Mac-VM, bei #353):** Nach dem Update auf 0.5.4 war das Panel weiter leer. Der Dienst wurde neu gestartet, übernahm aber den schon laufenden Chromium (PID aus `browser.json`) und damit dessen alte Startoptionen. Erst nach dem Beenden des Chromium (SIGTERM) startete der Dienst ihn mit `--disable-field-trial-config` neu, danach kam das Bild an. **Folge:** Jede Änderung an den Startoptionen in `lib/chromium.mjs` greift nach einem Plugin-Update erst, wenn der Chromium von Hand beendet wird. Das merkt der Nutzer nicht, das Update wirkt wirkungslos. **Ziel:** Nach einem Update (oder wenn der Dienst eine andere Plugin-Version als der laufende Chromium hat) wird der Chromium beendet und neu gestartet; die Tabs kommen aus `state.json` zurück (geparkt, laden beim Fortsetzen). Denkbar: Startoptionen-Kennung oder Plugin-Version in `browser.json` ablegen und beim Verbinden vergleichen (`stopBrowser` existiert). **Offen:** Hook `post_update` gibt es im Manifest nicht (nur `post_install`, `pre_uninstall`); prüfen, ob ein Update `post_install` erneut ausführt. Gilt auch für den Linux-Server (Browser-Dienst im Container).
Author
Owner

PR #356 gemergt: fix(iris-browser): Update startet Chromium mit alten Startoptionen neu — 0.5.5 (iris/iris-plugins#355)
http://docker:3000/iris/iris-plugins/pulls/356

Commits:

  • fix(iris-browser): Update startet Chromium mit alten Startoptionen neu — 0.5.5 (iris/iris-plugins#355)

Stand 0.5.5

Befund: browser.json überlebt Updates; der neu gestartete Dienst übernahm den laufenden Chromium samt alten Startoptionen (bei #353 blieb das Panel leer, bis er von Hand beendet wurde).

Geändert: Startoptionen als LAUNCH_OPTIONS mit Prüfsumme (launchSignature) in browser.json; ensureBrowser beendet einen Chromium mit abweichender oder fehlender Kennung und startet ihn neu, Tabs kommen aus state.json. Version 0.5.5, Changelog, PLAN.md.

Geprüft: tests/smoke.sh lokal (neuer Fall: Kennung verfälscht, Dienst neu gestartet, Chromium-PID wechselt, Tabs da) und mit REMOTE=1; 22 Python-Tests; --dry-run.

Nicht geprüft: Update auf einer echten Installation (Mac-VM, Linux-Server). Der Neustart-Test läuft nur lokal; im Remote-Betrieb startet der Dienst nicht von selbst neu.

Grenzen: Eine bestehende Dienst-Verbindung prüft die Kennung nicht (ein Update startet den Dienst neu). Ein Chromium aus Version ≤ 0.5.4 hat keine Kennung und wird einmal neu gestartet.

PR #356 gemergt: fix(iris-browser): Update startet Chromium mit alten Startoptionen neu — 0.5.5 (iris/iris-plugins#355) http://docker:3000/iris/iris-plugins/pulls/356 Commits: - fix(iris-browser): Update startet Chromium mit alten Startoptionen neu — 0.5.5 (iris/iris-plugins#355) --- **Stand 0.5.5** **Befund:** `browser.json` überlebt Updates; der neu gestartete Dienst übernahm den laufenden Chromium samt alten Startoptionen (bei #353 blieb das Panel leer, bis er von Hand beendet wurde). **Geändert:** Startoptionen als `LAUNCH_OPTIONS` mit Prüfsumme (`launchSignature`) in `browser.json`; `ensureBrowser` beendet einen Chromium mit abweichender oder fehlender Kennung und startet ihn neu, Tabs kommen aus `state.json`. Version 0.5.5, Changelog, PLAN.md. **Geprüft:** `tests/smoke.sh` lokal (neuer Fall: Kennung verfälscht, Dienst neu gestartet, Chromium-PID wechselt, Tabs da) und mit `REMOTE=1`; 22 Python-Tests; `--dry-run`. **Nicht geprüft:** Update auf einer echten Installation (Mac-VM, Linux-Server). Der Neustart-Test läuft nur lokal; im Remote-Betrieb startet der Dienst nicht von selbst neu. **Grenzen:** Eine bestehende Dienst-Verbindung prüft die Kennung nicht (ein Update startet den Dienst neu). Ein Chromium aus Version ≤ 0.5.4 hat keine Kennung und wird einmal neu gestartet.
Author
Owner

Veröffentlicht: iris-browser 0.5.5 steht in der Registry. Nutzer bekommen: Nach einem Update startet der Dienst einen Chromium mit alten Startoptionen neu, Änderungen an den Startoptionen wirken ohne Handgriff.

Offen: Update auf einer echten Installation (Mac-VM, Linux-Server) nicht geprüft; Issue bleibt offen (status/zu-testen und Schließen bei Alf).

**Veröffentlicht:** iris-browser 0.5.5 steht in der Registry. Nutzer bekommen: Nach einem Update startet der Dienst einen Chromium mit alten Startoptionen neu, Änderungen an den Startoptionen wirken ohne Handgriff. **Offen:** Update auf einer echten Installation (Mac-VM, Linux-Server) nicht geprüft; Issue bleibt offen (`status/zu-testen` und Schließen bei Alf).
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-plugins#355
No description provided.