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? ![]()