feat(chat-share): Tabs des Browser-Panels gelangen mit dem geteilten Chat auf den anderen Rechner #143

Open
opened 2026-11-05 15:44:42 +00:00 by alf · 1 comment
Owner

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.json des Plugins iris-browser auf 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.json im 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-Antwort workspace_changed: true, stößt der Server den Export an.

Anteil dieses Repos: plugin_panel_api stößt nach workspace_changed den Export an. Mac: iris/Iris, Plugin: iris/iris-plugins.

## 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.json` des Plugins `iris-browser` auf 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.json` im 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-Antwort `workspace_changed: true`, stößt der Server den Export an. Anteil dieses Repos: `plugin_panel_api` stößt nach `workspace_changed` den Export an. Mac: iris/Iris, Plugin: iris/iris-plugins.
Author
Owner

PR #144 gemergt: feat(chat-share): Export nach workspace_changed der Panel-API, Tabs des Browser-Plugins (iris/iris-linux-server#143)
http://docker:3000/iris/iris-linux-server/pulls/144

Commits:


Stand

Anteil dieses Repos zu iris/Iris#328 (Plugin: iris/iris-plugins#347, Browser 0.5.3).

Geändert: plugin_panel_api stößt chat_share.workspace_may_have_changed() an, wenn die Antwort eines panel_api-Befehls workspace_changed: true meldet (das Browser-Plugin hat die Tab-Liste in den Workspace des Chats geschrieben). Die Antwort geht unverändert an den Client.

Geprüft: tests/test_chat_share.py 19 grün (neu: Route löst nur bei workspace_changed aus).

Nicht geprüft: Nicht auf dem laufenden Linux-Server mit Browser-Container; Deploy per rsync steht aus.

PR #144 gemergt: feat(chat-share): Export nach workspace_changed der Panel-API, Tabs des Browser-Plugins (iris/iris-linux-server#143) http://docker:3000/iris/iris-linux-server/pulls/144 Commits: - feat(chat-share): Export nach workspace_changed der Panel-API, Tabs des Browser-Plugins (iris/iris-linux-server#143) --- ## Stand Anteil dieses Repos zu iris/Iris#328 (Plugin: iris/iris-plugins#347, Browser 0.5.3). **Geändert:** `plugin_panel_api` stößt `chat_share.workspace_may_have_changed()` an, wenn die Antwort eines `panel_api`-Befehls `workspace_changed: true` meldet (das Browser-Plugin hat die Tab-Liste in den Workspace des Chats geschrieben). Die Antwort geht unverändert an den Client. **Geprüft:** `tests/test_chat_share.py` 19 grün (neu: Route löst nur bei `workspace_changed` aus). **Nicht geprüft:** Nicht auf dem laufenden Linux-Server mit Browser-Container; Deploy per rsync steht aus.
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#143
No description provided.