Theme-Komponenten-Upgrade über Rake funktioniert nicht

Wir haben ein Theme-Komponente, die wir über den rake-Befehl installieren. Das Plugin und seine Installation über den rake-Befehl funktionieren einwandfrei. Das Upgrade funktioniert ebenfalls einwandfrei, wenn wir es über die Admin-Oberfläche durchführen, z. B. unter /admin/customize/themes/40. Das Problem tritt auf, wenn wir versuchen, es über die Kommandozeile mit dem rake-Befehl zu aktualisieren. Die Ausgabe entspricht genau dem, was ich erwarte. Allerdings spiegeln sich die Änderungen nicht wider. Sieht das nach einem Fehler aus?

$ rake themes:install -- '--{"discourse-login-modal": {"url": "https://github.com/example/discourse-login-modal.git", "add_to_all_themes": true}}'
discourse-login-modal: ist bereits installiert. Aktualisierung vom Remote.

Ergebnisse:
 Installiert: 0
 Aktualisiert:   1
 Fehler:    0

Ich liefere weitere Details zum Problem. Das Ausführen des Rake-Befehls für das Upgrade hat keine sichtbaren Änderungen an meiner Theme-Komponente bewirkt, aber danach geht das Admin-UI davon aus, dass das Upgrade angewendet wurde (Screenshot wurde versehentlich nicht gemacht).

Nach einer anschließenden Änderung an meiner Theme-Komponente zeigt das Admin-UI nun an, dass ein Upgrade verfügbar ist. Beim Anwenden erhalte ich jedoch diese Warnung, dass meine lokalen Änderungen überschrieben werden. Genau diese Änderungen wollte ich eigentlich über den Rake-Install-Befehl anwenden, der jedoch nicht funktioniert hat.


.

Hallo @markvanlan, danke für deine Arbeit am Rake-Befehl zur Installation eines Themes! Weißt du vielleicht, warum das Upgrade über rake install nicht funktioniert?

Ich werde mich später diese Woche damit befassen. Mir war nicht bewusst, dass der rake-Befehl nicht funktioniert.

Ich konnte nicht herausfinden, warum das Update nicht funktioniert, aber ich habe eine Workaround-Lösung überlegt – das Hinzufügen eines Deinstallationsbefehls. Das Deinstallieren des Themes vor der Ausführung des rake install-Befehls scheint zu funktionieren.

Ich habe eine kurze PR eingereicht, um zu prüfen, ob dieser Ansatz verfolgt werden kann: [WIP] FEATURE: Rake task to uninstall theme by chandandi · Pull Request #10138 · discourse/discourse · GitHub

Es tut mir leid, dass ich vergessen habe, mich dazu zurückzumelden!

Ich habe eine Idee, warum sich dies möglicherweise nicht aktualisiert. Wenn ich recht habe, sollte das eine sehr schnelle Lösung sein.

Etwas ist hier sehr seltsam. Wenn ThemesInstallTask ein Remote-Theme aktualisiert, werden die Remote-Informationen korrekt aktualisiert (die neueste SHA wird angezeigt, und commits_behind ist 0, wie Sie bemerkt haben).

Aber das SCSS wird in der Datenbank nicht aktualisiert. Ich ging davon aus, dass es sich um ein Problem mit dem Cache-Busting handelt, aber das ist nicht der Fall! Das SCSS in der Datenbank wird nicht aktualisiert.

Der Wert sollte in diesem Screenshot anders sein

Wenn ich mir anschaue, wie der Admin-Theme-Controller Updates im Vergleich dazu handhabt, wie die Aufgabe Remote-Themes aktualisiert, sehe ich keinen Unterschied.

:male_detective: :mag:

Ich werde diesem Rätsel auf den Grund gehen.

Ich habe das Problem auf den Grund gegangen und einen PR erstellt. Ich erkläre das Problem in der Beschreibung.

Zusammengeführt! Das Update ist behoben.