feat(iris-browser): Tab-Liste gelangt mit dem geteilten Chat auf den anderen Rechner #347
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#347
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
Sind im Browser-Panel (rechtes Seitenpanel) Tabs geöffnet, erscheinen sie nach dem Teilen des Chats nicht auf dem anderen Rechner. Die Tabs liegen nur im
state.jsondes Pluginsiris-browserauf dem Rechner des Servers, geschlüsselt mit der lokalen Chat-ID (bei importierten Chats eine andere als auf dem Ursprungsrechner). Ein geteilter Chat überträgt nur Manifest, Verlauf und Workspace.Entscheidung (mit Alf)
Synchronisiert wird die Tab-Liste (URLs, Titel, aktiver Tab); auf dem anderen Rechner stehen die Tabs geparkt und laden beim Fortsetzen neu. Seiteninhalt, Logins, Formulare wandern nie mit. Der neuere Stand gewinnt. Export bei jeder Änderung, entprellt.
Umsetzung
Das Plugin legt die Tab-Liste als
.iris-browser-tabs.jsonim Workspace des Chats ab (panel_api.py, läuft auf dem Server-Host; der Browser-Dienst im eigenen Container auf dem Linux-Server hat keinen Zugriff auf/workspaces). Der bestehende Workspace-Sync (iris/Iris#326) trägt die Datei. Auf dem anderen Rechner übernimmt das Panel sie beim nächsten Aufruf über den neuen Dienstbefehl--adopt-tabs. Meldet eine Panel-Antwortworkspace_changed: true, stößt der Server den Export an.Anteil dieses Repos:
panel_api.py(Tab-Datei lesen/schreiben,workspace_changed), Dienstbefehl--adopt-tabs, Tests, neue Plugin-Version.PR #348 gemergt: feat(iris-browser): Tab-Liste gelangt mit dem geteilten Chat auf den anderen Rechner, 0.5.3 (iris/iris-plugins#347)
http://docker:3000/iris/iris-plugins/pulls/348
Commits:
Stand
Befund: Tabs im Browser-Panel eines geteilten Chats erschienen auf dem anderen Rechner nicht (Zustand nur im
state.jsondes Plugins, geschlüsselt mit der lokalen Chat-ID).Geändert (iris-browser 0.5.3):
panel_api.pyschreibt die Tab-Liste als.iris-browser-tabs.jsonin den Workspace des Chats und übernimmt vor jedem Befehl eine neuere Datei der Gegenseite über den neuen Dienstbefehl--adopt-tabs(eigene Seiten schließen, Tabs geparkt setzen; nur http(s)-Adressen, ungültige Dateien werden ignoriert). Neuerer Stand gewinnt (Zeitstempel und Prüfsumme je Chat inplugin-data/iris-browser/tabs-sync.json). Hat das Panel die Datei geschrieben, meldet die Antwortworkspace_changed: true; die Server stoßen darauf den Export an (iris/Iris#328, iris/iris-linux-server#143). Anleitung, Changelog, PLAN.md, README (Panel-Backend) nachgezogen.Geprüft:
tests/test_panel_api.py22 Tests grün (neu: Tab-Datei schreiben, nicht doppelt, nur http, Übernahme, eigener neuerer Stand bleibt, kaputte Datei ignoriert, Hinweisworkspace_changed);tests/smoke.shgegen echten Chromium bestanden (neu:--adopt-tabs, geparkt,file://wird nicht übernommen, Fortsetzen lädt die Seite).Nicht geprüft: Nicht zwischen zwei echten Rechnern (Mac Studio ↔ Mac-VM) und nicht über den Linux-Server mit Browser-Container;
REMOTE=1 bash tests/smoke.shnicht gelaufen.Grenzen / offen: Tabs, die der Agent ohne offenes Panel ändert, gehen erst beim nächsten Panel-Aufruf in die Datei. Beim ersten Abgleich einer Seite mit schon offenen Tabs gewinnt eine vorhandene Datei der Gegenseite. Seiteninhalt, Logins und Formulare wandern nie mit.
Veröffentlicht: iris-browser 0.5.3
Registry-Commit
4f177dd(plugins: iris-browser 0.5.3), Paketpackages/iris-browser/iris-browser-0.5.3.irisplugin, geprüft im Registry-Repo nach dem Pull.Was Nutzer bekommen: Die Tab-Liste des Browser-Panels (Adressen, Titel, aktiver Tab) wandert mit einem geteilten Chat auf den anderen Rechner; dort stehen die Tabs geparkt und laden beim Fortsetzen neu. Der neuere Stand gewinnt.
Voraussetzung für den sofortigen Abgleich: Mac-Server und Linux-Server mit iris/Iris#328 bzw. iris/iris-linux-server#143 (gemergt, noch nicht als App-Version ausgeliefert, Linux nicht deployt). Ohne sie schreibt das Plugin die Datei trotzdem; sie geht dann beim nächsten Jobende oder Workspace-Export mit.
Offen: Nicht zwischen zwei echten Rechnern ausprobiert;
status/zu-testenbleibt. Der Stand-Kommentar zum PR (Geprüft/Nicht geprüft) steht darüber.