fix(store): Vorlagen-CSS für Aktionen wird bedingungslos geschrieben, blockiert 21 Plugins beim Veröffentlichen #258
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#258
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
publish-plugins.shlehnt 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.pyschreibt das Aktionen-Markup nur, wenn das Manifest Aktionen deklariert(
store_page.py:123-125,actionsausplugin.json— iris/Iris#149). Die Vorlage enthält dendazugehörigen CSS aber bedingungslos (
store_page_template.html:42-43,.actionsund.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 --allstellt 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.
PR #260 gemergt: fix(store): Aktionen-CSS nur in Seiten mit Aktionen — 21 Plugins waren beim Veröffentlichen blockiert (#258)
#260
Commits:
Befund
publish-plugins.sh --alllehnte 21 der 26 freigegebenen Plugins ab: „Store-Seite nicht auf dem Standvon 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.pysetzt das Aktionen-Markup nur, wenn das Manifest
actionsdeklariert (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_CSSals Konstante; ersetzt wird{{ACTION_CSS}}\nnur, wennactionsvorhanden sind. Damit ist die Seite wieder das, was ihr Inhalt hergibt — kein CSS, den sie nicht nutzt.
test_store_page.py: neuer Testtest_the_action_css_stands_only_where_there_are_actions— ohneAktionen kein
.actions-CSS, mit Aktionen beide Regeln.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).
registry-tools/test_store_page.pygrün (1 neuer).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.