fix(store): Vorlagen-CSS für Aktionen wird bedingungslos geschrieben, blockiert 21 Plugins beim Veröffentlichen #258

Closed
opened 2026-10-25 12:52:41 +00:00 by alf · 1 comment
Owner

Befund

publish-plugins.sh lehnt 21 der 26 freigegebenen Plugins ab mit
„Store-Seite nicht auf dem Stand von store-page.json" — ohne dass jemand ihren Inhalt geändert hat.

Grund: store_page.py schreibt das Aktionen-Markup nur, wenn das Manifest Aktionen deklariert
(store_page.py:123-125, actions aus plugin.json — iris/Iris#149). Die Vorlage enthält den
dazugehörigen CSS aber bedingungslos (store_page_template.html:42-43, .actions und .action).
Seit der CSS dazukam, ist jede erzeugte Seite ohne deklarierte Aktionen nicht mehr identisch mit der
kommitierten — also „veraltet".

Betroffen: comfyui-bridge, comfyui-dirigent, email, file-picker, filmcraft, heartmula, iris-browser,
iris-claude-sessions, iris-dosgame, iris-editable-table, iris-gui, iris-nextcloud-cookbook,
iris-pandoc, iris-server-hosts, iris-web-automation, marker, qwen-tts-linux, qwen-tts-mac,
strata-modelle, translate, whisper. Aktuell sind nur comfyui-workflows und iris-starter-test — die
einzigen mit deklarierten Aktionen.

Warum nicht einfach neu erzeugen

store_page.py --all stellt den Stand wieder her, aber als identische 2-Zeilen-Änderung in 21 Dateien.
Das wären 21 Store-Aktualisierungen, die alle Nutzer erreichen, für CSS, den keine dieser Seiten
benutzt. Falscher Ort.

Fix

Die beiden Zeilen in der Vorlage bedingt machen — nur ausgeben, wenn es eine Aktionen-Sektion gibt.
Damit sind alle 21 Seiten wieder aktuell, ohne eine einzige Store-Änderung zu veröffentlichen.

## Befund `publish-plugins.sh` lehnt 21 der 26 freigegebenen Plugins ab mit „Store-Seite nicht auf dem Stand von store-page.json" — ohne dass jemand ihren Inhalt geändert hat. Grund: `store_page.py` schreibt das Aktionen-Markup nur, wenn das Manifest Aktionen deklariert (`store_page.py:123-125`, `actions` aus `plugin.json` — iris/Iris#149). Die **Vorlage** enthält den dazugehörigen CSS aber **bedingungslos** (`store_page_template.html:42-43`, `.actions` und `.action`). Seit der CSS dazukam, ist jede erzeugte Seite ohne deklarierte Aktionen nicht mehr identisch mit der kommitierten — also „veraltet". Betroffen: comfyui-bridge, comfyui-dirigent, email, file-picker, filmcraft, heartmula, iris-browser, iris-claude-sessions, iris-dosgame, iris-editable-table, iris-gui, iris-nextcloud-cookbook, iris-pandoc, iris-server-hosts, iris-web-automation, marker, qwen-tts-linux, qwen-tts-mac, strata-modelle, translate, whisper. Aktuell sind nur comfyui-workflows und iris-starter-test — die einzigen mit deklarierten Aktionen. ## Warum nicht einfach neu erzeugen `store_page.py --all` stellt den Stand wieder her, aber als identische 2-Zeilen-Änderung in 21 Dateien. Das wären 21 Store-Aktualisierungen, die alle Nutzer erreichen, für CSS, den keine dieser Seiten benutzt. Falscher Ort. ## Fix Die beiden Zeilen in der Vorlage bedingt machen — nur ausgeben, wenn es eine Aktionen-Sektion gibt. Damit sind alle 21 Seiten wieder aktuell, **ohne** eine einzige Store-Änderung zu veröffentlichen.
Author
Owner

PR #260 gemergt: fix(store): Aktionen-CSS nur in Seiten mit Aktionen — 21 Plugins waren beim Veröffentlichen blockiert (#258)
#260

Commits:

  • fix(store): Aktionen-CSS nur in Seiten mit Aktionen — 21 Plugins waren beim Veröffentlichen blockiert (#258)

Befund

publish-plugins.sh --all lehnte 21 der 26 freigegebenen Plugins ab: „Store-Seite nicht auf dem Stand
von store-page.json", ohne dass jemand ihren Inhalt geändert hatte.

Ursache (nachgeprüft, die erste Vermutung „toter CSS in der Vorlage" war falsch): store_page.py
setzt das Aktionen-Markup nur, wenn das Manifest actions deklariert (store_page.py:123-125,
iris/Iris#149). Die Vorlage schrieb den zugehörigen CSS bedingungslos. Seit der CSS in die Vorlage
kam, ist jede Seite ohne deklarierte Aktionen nicht mehr byte-identisch mit der kommitierten — also
veraltet. Nur comfyui-workflows und iris-starter-test haben Aktionen.

Geändert

  • store_page_template.html: die beiden CSS-Zeilen durch {{ACTION_CSS}} ersetzt.
  • store_page.py: ACTION_CSS als Konstante; ersetzt wird {{ACTION_CSS}}\n nur, wenn actions
    vorhanden sind. Damit ist die Seite wieder das, was ihr Inhalt hergibt — kein CSS, den sie nicht nutzt.
  • test_store_page.py: neuer Test test_the_action_css_stands_only_where_there_are_actions — ohne
    Aktionen kein .actions-CSS, mit Aktionen beide Regeln.
  • Die drei Seiten, die den ungenutzten CSS schon trugen, neu erzeugt: iris-gamebox, iris-plugin-dev,
    iris-solidcraft (je −2 Zeilen toter CSS, kein sichtbarer Unterschied).

Geprüft

  • store_page.py --check --all: vorher 21 Fehlschläge, jetzt 0.
  • publish-plugins.sh --all --dry-run: vorher „21 fehlgeschlagen", jetzt 0 fehlgeschlagen,
    23 unverändert, 3 würden veröffentlicht
    (nur Store-Material der drei Seiten oben, keine neue Version).
  • 17 Unit-Tests registry-tools/test_store_page.py grün (1 neuer).
  • Diff der drei Seiten ist exakt die CSS-Zeile, sonst nichts.

Nicht geprüft

Die drei Store-Seiten sind im Marktplatz nicht von Hand angesehen (der geänderte CSS war ungenutzt,
deshalb ohne Auswirkung). Die Store-Aktualisierung der drei Seiten ist nicht veröffentlicht —
sie braucht ein ausdrückliches Wort; der Dry-Run ist der Beleg, dass sie nichts weiter ändert.

Offen

Nichts am Vertrag. Die 21 anderen Seiten bleiben, wie sie sind — der Fix holt sie auf den Stand,
ohne eine einzige Veröffentlichung zu erzwingen.

PR #260 gemergt: fix(store): Aktionen-CSS nur in Seiten mit Aktionen — 21 Plugins waren beim Veröffentlichen blockiert (#258) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/260 Commits: - fix(store): Aktionen-CSS nur in Seiten mit Aktionen — 21 Plugins waren beim Veröffentlichen blockiert (#258) --- ## Befund `publish-plugins.sh --all` lehnte 21 der 26 freigegebenen Plugins ab: „Store-Seite nicht auf dem Stand von store-page.json", ohne dass jemand ihren Inhalt geändert hatte. Ursache (nachgeprüft, die erste Vermutung „toter CSS in der Vorlage" war falsch): `store_page.py` setzt das Aktionen-Markup nur, wenn das Manifest `actions` deklariert (`store_page.py:123-125`, iris/Iris#149). Die Vorlage schrieb den zugehörigen CSS **bedingungslos**. Seit der CSS in die Vorlage kam, ist jede Seite ohne deklarierte Aktionen nicht mehr byte-identisch mit der kommitierten — also veraltet. Nur comfyui-workflows und iris-starter-test haben Aktionen. ## Geändert - `store_page_template.html`: die beiden CSS-Zeilen durch `{{ACTION_CSS}}` ersetzt. - `store_page.py`: `ACTION_CSS` als Konstante; ersetzt wird `{{ACTION_CSS}}\n` nur, wenn `actions` vorhanden sind. Damit ist die Seite wieder das, was ihr Inhalt hergibt — kein CSS, den sie nicht nutzt. - `test_store_page.py`: neuer Test `test_the_action_css_stands_only_where_there_are_actions` — ohne Aktionen kein `.actions`-CSS, mit Aktionen beide Regeln. - Die drei Seiten, die den ungenutzten CSS schon trugen, neu erzeugt: `iris-gamebox`, `iris-plugin-dev`, `iris-solidcraft` (je −2 Zeilen toter CSS, kein sichtbarer Unterschied). ## Geprüft - `store_page.py --check --all`: vorher 21 Fehlschläge, jetzt **0**. - `publish-plugins.sh --all --dry-run`: vorher „21 fehlgeschlagen", jetzt **0 fehlgeschlagen, 23 unverändert, 3 würden veröffentlicht** (nur Store-Material der drei Seiten oben, keine neue Version). - 17 Unit-Tests `registry-tools/test_store_page.py` grün (1 neuer). - Diff der drei Seiten ist exakt die CSS-Zeile, sonst nichts. ## Nicht geprüft Die drei Store-Seiten sind im Marktplatz nicht von Hand angesehen (der geänderte CSS war ungenutzt, deshalb ohne Auswirkung). Die Store-Aktualisierung der drei Seiten ist **nicht veröffentlicht** — sie braucht ein ausdrückliches Wort; der Dry-Run ist der Beleg, dass sie nichts weiter ändert. ## Offen Nichts am Vertrag. Die 21 anderen Seiten bleiben, wie sie sind — der Fix holt sie auf den Stand, ohne eine einzige Veröffentlichung zu erzwingen.
alf closed this issue 2026-10-26 11:10:39 +00:00
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#258
No description provided.