Marktplatz: ältere Versionen eines Plugins ansehen und installieren #137
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#137
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?
Wunsch
In der Beschreibung (Detailansicht) jedes Plugins im Marktplatz soll ein Knopf stehen, der alle Versionen zeigt, die in der Registry (Forgejo) vorhanden sind. Aus der Liste lässt sich auch eine ältere Version installieren (Zurückrollen). Dazu behält die Registry fünf statt drei Versionen je Plugin (iris/iris-plugins#178).
Befund (gelesen, nicht vermutet)
index.json) trägt je Pluginhistorymitversion,file,sha256,size,published; die Pakete liegen unterpackages/<id>/. Heute bleiben je Plugin die letzten drei.previewundinstallnehmenversionund prüfen sie gegenhistory(MarketplaceCore.sourceForVersion, Linuxmarketplace.py); eine Version unterhalb der installierten ist beiupdatemit expliziter Version nicht gesperrt.GET /marketplace/api/catalogträgt keineversionsje Plugin (nuravailable_version).MarketplaceWindowController, iOSMarketplaceView): Der Dialog zeigt immer die aktuelle. Die Seite schicktversion: p.available_version.macos-iris/Iris/Resources/MarketplacePage.html,linux-server/iris-server/app/marketplace_web/index.html, je 423 Zeilen); eine Änderung muss in beide.Plan (Vorschlag)
--keepStandard 5 (iris/iris-plugins#178).versions: [{version, published, size, installed, current}], neueste zuerst, aushistory.versionvon der Seite an, aber nur als Wunsch: Die App schickt sie anpreview, der Server prüft sie gegenhistory; der Dialog zeigt genau diese Version (undexpectedbeim Installieren bindet sie); kein freier Wert.Entscheidungen (Vorschlag, zu bestätigen)
history(also höchstens fünf); ältere im Git-Verlauf der Registry sind nicht installierbar.Nicht Teil
Version festhalten (Pinning), automatisches Zurückrollen bei Fehlern, Versionen aus dem Git-Verlauf.
Betroffene Repos
iris/Iris (Mac-Server, macOS-Client, Seite), iris/iris-linux-server (Server, Seite), iris/2ndbrain-ios (Brücke, Dialog), iris/iris-plugins (Registry), Wurzel (Wire-Doku).
Stand: Schritt 1 erledigt
Die Registry behält künftig fünf Versionen (iris/iris-plugins#178, PR #179;
DEFAULT_KEEP = 5, wirkt ab der nächsten Veröffentlichung). Offen sind die Schritte 2 bis 6 aus dem Plan (Katalog, Seite in beiden Kopien, Brücken, Dialog, Tests und Doku). Die drei Entscheidungen oben sind noch zu bestätigen, bevor ich den Katalog und die Seite baue.PR #138 gemergt: feat(marketplace): Versionsliste im Plugin und ältere Versionen installieren (Katalog mit versions, Brücke target_version, Warnung im Dialog) (#137)
#138
Commits:
PR #80 gemergt: feat(marketplace): Versionsliste im Katalog und im Plugin (Knopf Versionen, ältere Version installieren), Seite wie in iris/Iris#137 (#79)
iris/iris-linux-server#80
Commits:
PR #139 gemergt: refactor(marketplace): Regel für saubere Versionsangaben in der gemeinsamen Bestätigungsdatei (macOS und iOS) (#137)
#139
Commits:
PR #34 gemergt: feat(marketplace): ältere Version aus der Versionsliste installieren, Rücksetzen-Dialog (iris/Iris#137, #33)
iris/2ndbrain-ios#34
Commits:
PR #99 gemergt: docs(wire): Marktplatz-Katalog trägt versions, Brücke nimmt target_version (iris/Iris#137)
alf/2ndbrain#99
Commits:
Stand: Mac, Linux und iOS gemergt (Mac #138/#139, Linux #80, iOS #34, Wire-Doku #99).
versions(neueste zuerst; installierte und aktuelle immer dabei), Knopf „Versionen (N)“ je Plugin, Brückenfeldtarget_version(nur install/update, sauber geprüft), Dialog „Zurücksetzen“ mit Warnhinweis. Der Server prüft die Version gegenhistory.