Marktplatz: Update-Sheet behauptet "Keine Änderungen", obwohl Code-Dateien geändert sind #134
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#134
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
Das Update-Sheet im Plugin-Marktplatz ("Änderungen gegenüber der installierten Version") sagt bei
iris-plugin-dev0.1.2 → 0.1.3: "Keine Änderungen an Skripten, Python-Paketen, Skills, Systemprompt oder Abhängigkeiten." Tatsächlich unterscheiden sich die Pakete in 10 Dateien (panel_api.py,pd_forgejo.py,pd_geruest.py,pd_grill.py,pd_plan.py,pd_pruefen.py,SKILL.md,docs/Skills-und-Hooks.md,web/settings.html,plugin.jsonmit der Versionsnummer); 13 sind unverändert. Der Systemprompt ist gleich geblieben, das stimmt.Das Sheet ist die Stelle, an der der Nutzer vor dem Installieren sieht, was kommt. Ein Update, das nur Code ändert (der Normalfall), wird so als "keine Änderungen" beschriftet.
Ursache
MarketplaceCore.diffSummariesvergleicht nur: Hook-Skripte (Inhalt und Pfad), Python-Paketzeilen, Skill-Namen, Systemprompt-Text, Job-Vorlagen, Einrichtungsfragen undrequires. Nicht verglichen werden die Inhalte der Skill-Dateien, Python-Skripte im Skill, Doku und Oberfläche. "Skripten" im Text meint nur die Hook-Ebene, gelesen wird es als "Code". Derselbe Satz steht inMarketplaceConfirmationView.swiftundMarketplaceBulkUpdateView.swift.Plan
plugins/<id>/) und neues Paket per SHA-256 vergleichen; das Sheet zeigt "N Dateien geändert, M neu, K entfernt" mit den Namen (aufklappbar), auch für.pyund.md.MarketplaceCore(scripts/test-marketplace-core.sh): Code-only-Update, neue Datei, entfernte Datei, unverändert.Nicht Teil
Ein inhaltlicher Diff (Zeilen) der Dateien; nur die Liste der betroffenen Dateien.
Bezug: iris/iris-plugins#171 (Fundstelle beim Veröffentlichen von iris-plugin-dev 0.1.3).
PR #135 gemergt: fix(marketplace): Update-Dialog vergleicht die Dateien des Pakets (Prüfsumme je Datei) statt Code-Updates als keine Änderungen zu melden (#134)
#135
Commits:
PR #136 gemergt: chore(i18n): String-Katalog nach dem Update-Dialog (#134)
#136
Commits:
PR #78 gemergt: feat(marketplace): Update-Vergleich nennt geänderte, neue und entfernte Dateien (Prüfsumme je Datei), Gegenstück zu iris/Iris#134 (#77)
iris/iris-linux-server#78
Commits:
PR #98 gemergt: docs(wire): diff der Update-Vorschau trägt files_changed, files_added, files_removed, files_truncated; files mit crc (iris/Iris#134)
alf/2ndbrain#98
Commits:
Umgesetzt (PR #135, #136; Wire-Doku PR #98 im Wurzel-Repo)
Befund (Nachtrag):
diffSummariesund sein Gegenstückdiff_summariesim Linux-Server verglichen nur Hook-Skripte, Python-Paketzeilen, Skill-Namen, Systemprompt, Job-Vorlagen, Einrichtungsfragen undrequires. Ein Update, das nur Code, Skill-Texte oder Doku ändert, ergab einen leeren Vergleich und im Dialog „Keine Änderungen an Skripten …“. Fundstelle:iris-plugin-dev0.1.2 → 0.1.3, zehn Dateien anders, 13 gleich.Geändert (Mac-Server und macOS-Client)
crc(CRC-32, ausunzip -lv;MarketplaceCore.parseArchiveChecksums, ServicelistChecksumsInArchive).diffSummariesliefert zusätzlichfiles_changed(andere Prüfsumme; ohne Prüfsumme andere Größe),files_added,files_removedundfiles_truncated. Die Dateischlüssel fehlen, wenn eine Summary keine Dateiliste hat.MarketplaceConfirmation.describeChangesnennt die Dateien („Dateien geändert (10): …“, höchstens acht Namen, der Rest wird gezählt) und liefert nie eine leere Liste: Bei verglichenen Dateien heißt „nichts“ „Alle Dateien des Pakets sind gleich“, sonst „Keine Änderungen an Hooks, Python-Paketen, Skill-Namen, Systemprompt oder Abhängigkeiten. Die Dateiinhalte vergleicht dieser Server nicht.“ (älterer Server). Die Leer-Texte inMarketplaceConfirmationViewundMarketplaceBulkUpdateViewsagen nur noch „Keine Änderungen gemeldet.“chore(i18n)).Gemessen:
scripts/test-marketplace-core.sh: 223 Prüfungen, 0 Fehler (204 vorher, 19 neu: Prüfsummen-Parser mit echterunzip -lv-Ausgabe, Datei-Liste mitcrc, geändert trotz gleicher Größe, neu, entfernt, ohne Prüfsumme, gemischt, abgeschnitten, ohne Dateiliste, Sätze, älterer Server, der Betriebsfall). Dabei fand ein Test einen echten Fehler im Parser (zwei Leerzeichen zwischen Prüfsumme und Name ließen jeden Namen mit führendem Leerzeichen zurück). Außerdem gegen die echten Paketeiris-plugin-dev0.1.2 und 0.1.3 mit dem echtenunzip: genau die zehn Dateien, „und 2 weitere“ nach acht Namen; gleiche Pakete: „Alle Dateien des Pakets sind gleich“. Xcode-Build vonIris.xcodeprojerfolgreich.Grenzen
plugin.jsonsteht bei jedem Update in der Liste (Versionsnummer); das ist richtig, aber im Dialog etwas Rauschen.Gegenstücke: iris/iris-linux-server#77 (PR #78), iris/2ndbrain-ios#31 (PR #32). Das Issue bleibt offen bis zum Test in der neu gebauten App.
Abgeschlossen
Der Update-Dialog nennt geänderte, neue und entfernte Dateien (PR #135, #136; Linux-Server iris-linux-server#77, iOS 2ndbrain-ios#31; Wire-Doku PR #98). Von Alf in der App gesehen. Die Gegenstücke bleiben bis zur Prüfung gegen den Linux-Server und auf dem Gerät offen.
Geschlossen auf Alfs ausdrückliches Wort (2026-10-21).