Theme-Komponenten-Update installiert immer alte Version (via Rake oder manuell)

Etwas sehr Ähnliches scheint zurückgekehrt zu sein:

Mit Discourse 3.5.2 installiert es bei jedem Versuch, eine bestimmte Komponente (aus der Quelle) zu installieren, immer eine alte Version davon. Ich kann dies bestätigen, indem ich sie exportiere: Sie enthält das alte JavaScript. Auch in den Entwicklertools des Browsers zeigt die Suche nach einer Datei immer die alte Version der Datei an. Außerdem wird der alte Name angezeigt, wenn ich nach einer Änderung in about.json neu baue.

Dies geschieht unabhängig davon, ob ich sie manuell von GitHub auf der Komponentenseite installiere oder über app.yml.

Gemäß Install a Theme programatically lautet das Ende meiner app.yml wie folgt:

## Beliebige benutzerdefinierte Befehle, die nach dem Build ausgeführt werden sollen
run:
  - exec: echo "Beginn der benutzerdefinierten Befehle"
  ## Wenn Sie die 'From'-E-Mail-Adresse für Ihre erste Registrierung festlegen möchten, kommentieren Sie die Zeile aus und ändern Sie sie:
  ## Nach Erhalt der ersten Registrierungs-E-Mail kommentieren Sie die Zeile erneut aus. Sie muss nur einmal ausgeführt werden.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"

  - file:
      path: /tmp/mythemes.yml
      contents: |
        discourse-new-topic-button:
          url: https://github.com/toad/discourse-new-topic-button-theme-component.git
          add_to_all_themes: true
  
  # Alte Repositories – anscheinend müssen wir für jeden Commit ein neues erstellen, wegen seltsamem Caching?

  #url: https://github.com/toad/discourse-new-topic-button.git
  #url: https://github.com/toad/discourse-new-topic-button-theme-component.git
  #url: https://github.com/toad/discourse-new-topic-button-mod.git

  - exec:
      cd: $home
      cmd: su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'

  - exec: echo "Ende der benutzerdefinierten Befehle"

Und die Ausgabe lautet:

I, [2025-11-12T01:43:24.323446 #1]  INFO -- : > echo "Beginn der benutzerdefinierten Befehle"
I, [2025-11-12T01:43:24.325106 #1]  INFO -- : Beginn der benutzerdefinierten Befehle

I, [2025-11-12T01:43:24.327203 #1]  INFO -- : Datei > /tmp/mythemes.yml  chmod:   chown: 
I, [2025-11-12T01:43:24.327361 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:install < /tmp/mythemes.yml'
I, [2025-11-12T01:43:32.778093 #1]  INFO -- : discourse-new-topic-button: installiert von https://github.com/toad/discourse-new-topic-button.git

Ergebnisse:
 Installiert: 1
 Aktualisiert:   0
 Fehler:    0
 Übersprungen:   0

I, [2025-11-12T01:43:32.778262 #1]  INFO -- : > echo "Ende der benutzerdefinierten Befehle"
I, [2025-11-12T01:43:32.779694 #1]  INFO -- : Ende der benutzerdefinierten Befehle

Wenn ich die Komponente vor dem Neubauen nicht lösche, wird „Aktualisiert“ statt „Installiert“ angezeigt. In beiden Fällen erhalten wir jedoch die alte Version der Komponente.

Das Verlassen der Seite, Shift+Reload usw. ändert nichts. Auch das Verschieben in ein anderes Repository macht keinen Unterschied, also ist es kein Caching nach URL (zwei dieser Repos sind identisch).

Ich habe auch versucht, sie direkt mit rake im Container zu bauen.

Haben Sie Ideen, wie ich dies debuggen könnte? Es wäre hilfreich, das Build-Protokoll einsehen zu können, aber rake mit --verbose liefert keine weiteren Informationen.

Meine Konfiguration ist etwas ungewöhnlich (dies verwendet rootloses Docker in der Produktion, obwohl dies der Staging-Server ist).

Hilfe?!

Es sieht so aus, als würde es immer etwas vor dem Commit 990dec4f3e8411215122c74b2684782244eeffa2 bauen, der den „New Topic Button“ auf Glimmer-Unterstützung umgestellt hat und für 3.6 erforderlich sein wird. Daher wird dies bei einem Upgrade auf 3.6 fehlschlagen; ich habe versucht, unsere Fork-Version der „New Topic Button“-Komponente zu reparieren, aber es scheint, als würde sogar die upstream-Version fehlschlagen.

Noch einmal: Was kann ich tun, um dies zu debuggen? :neutral_face:

1 „Gefällt mir“

Die Kompatibilitätsdatei installiert eine bestimmte Version für Discourse-Installationen unter 3.6

3 „Gefällt mir“

Ups! Danke. :grinning_face:

Interessant allerdings; das Glimmer-Zeug sollte mit 3.5 kompatibel sein. Die Upstream-Portierung nach Glimmer könnte also noch unreif sein. Ich denke, ich werde es ausprobieren und vielleicht auf 3.6 schauen. Danke.

Update: Falscher Alarm, weitere 3.6-spezifische Änderungen hinzugefügt, aber die 3.5-Version behebt die Warnungen bezüglich der Entfernung von Widgets. Also bin ich zufrieden.

PS: Die Verschiebung der Schaltflächen (meine Änderung) behebt einen Upstream-BUG (Kategorie wird nicht automatisch erkannt). Siehe hier: