Neue Installationen werden standardmäßig auf Ember CLI Builds in Produktion umgestellt

Ab heute verwenden alle neuen selbst gehosteten Discourse-Installationen standardmäßig unsere Ember CLI-Builds im Produktivbetrieb.

Wir setzen diese Builds bereits seit geraumer Zeit selbst im Produktivbetrieb ein; sie sollten stabil sein und mit allen wichtigen Plugins funktionieren. Falls Sie auf Probleme stoßen und diese Funktion deaktivieren möchten, bearbeiten Sie Ihre app.yml-Datei und entfernen Sie EMBER_CLI_PROD_ASSETS: 1.

Ansonsten melden Sie uns bitte etwaige Fehler – wir werden diese umgehend beheben.

In naher Zukunft werden alle Discourse-Installationen die Ember CLI-Builds verwenden.

18 „Gefällt mir“

Bestehende selbst gehostete Sites: Ist ein kompletter Neuaufbau oder ein Admin-Upgrade erforderlich, um umzusteigen?

3 „Gefällt mir“

Meine Interpretation ist, dass du bei bestehenden Installationen zu Ember CLI wechseln kannst, indem du eine der folgenden beiden Optionen wählst:

  1. Bearbeite app.yml, um die Zeile EMBER_CLI_PROD_ASSETS: 1 hinzuzufügen, und führe dann einen Neuaufbau durch, oder
  2. Warte bis „in naher Zukunft", wenn es zum Standard wird, und führe dann einen Neuaufbau durch.
5 „Gefällt mir“

Ja, @Simon_Manning hat recht – du kannst es bei Bedarf manuell selbst aktivieren oder warten, bis es zum Standard wird. Wir führen es schrittweise ein, um alle Fehler im Voraus zu finden.

7 „Gefällt mir“

Ok, ich habe es installiert. Muss ich auf irgendetwas achten?

1 „Gefällt mir“
Browserslist: caniuse-lite ist veraltet. Bitte führen Sie Folgendes aus:
npx browserslist@latest --update-db

Warum Sie dies regelmäßig tun sollten:
https://github.com/browserslist/browserslist#browsers-data-updating
1 „Gefällt mir“

Lass uns bitte wissen, falls etwas nicht funktioniert.

4 „Gefällt mir“

Könntest du auch erklären, was das bedeutet und warum es wichtig ist – insbesondere für diejenigen, die mit dem Ember-Ökosystem nicht vertraut sind?

9 „Gefällt mir“

Hallo, gibt es einen Zeitplan? Vielen Dank.

1 „Gefällt mir“

Sie können es bereits umsetzen.

Alles, was Sie tun müssen, ist eine Zeile zu Ihrer app.yml hinzuzufügen und neu zu erstellen.

2 „Gefällt mir“

Wir planen, dies in etwa einem Monat auch für ältere Seiten zu aktivieren.

8 „Gefällt mir“

Ich bin super aufgeregt wegen dieser Änderung, und es ist eine großartige Sache für die Zukunft von Discourse.

Ich würde einfach Folgendes empfehlen: Wenn du Drittanbieter-Themenkomponenten oder Plugins betreibst, starte bitte eine separate Testinstanz mit demselben Set und teste alles dort, bevor du auf deinem Hauptsite auf Ember CLI umstellst.

Ich habe gerade erhebliche Änderungen an einer meiner Themenkomponenten veröffentlicht, ohne die die Host-Site kaputtgegangen wäre.

14 „Gefällt mir“

Hier gibt es weitere Informationen:

Die kurze Version lautet: Dies ist der offiziell unterstützte Weg, um Ember-Anwendungen zu entwickeln, und sollte es sowohl für Beitragsleistende als auch für uns erleichtern, Ember in Zukunft zu aktualisieren.

9 „Gefällt mir“

Ja, ich habe EMBER_CLI_PROD_ASSETS: 1 gesetzt, aber das Dracula Theme funktioniert nicht richtig. Also habe ich diese Funktion entfernt :frowning:

3 „Gefällt mir“

Du solltest auf Dracula a Dark Theme for Discourse posten, damit sie das Problem beheben können.

5 „Gefällt mir“

Stimmt es, dass die einzigen Theme-Komponenten, die durch diese Änderung wahrscheinlich beschädigt werden, diejenigen sind, die Wyeth-JavaScript enthalten?

Gibt es eine einfache Möglichkeit, eine Abfrage durchzuführen, um die Theme-Komponenten zu finden, die JavaScript enthalten? Entweder über den Data Explorer oder eine Rails-Abfrage? Ich möchte eine Möglichkeit haben, festzustellen, welche Seiten wahrscheinlich betroffen sein werden, und ihnen anbieten, mein neues Produkt (kostenlos, damit ich endlich einige Tester habe) zu nutzen, um eine Staging-Umgebung einzurichten und einen Test durchzuführen, bevor sie ihre Produktionsumgebung aktualisieren.

1 „Gefällt mir“

Das ist richtig – diese Ember-CLI-Änderung hat keine Auswirkungen auf die HTML- oder CSS-Teile von Themes/Komponenten.

Im Allgemeinen können Sie problematische Theme-Komponenten identifizieren, indem Sie nach gelben Deprecation-Hinweisen in der Browser-JS-Konsole unter der alten, nicht-Ember-CLI-Umgebung suchen. (Der Wechsel zu Ember CLI ist der Grund, warum wir diese Deprecations eingeführt haben.)

Meta betreibt Ember CLI bereits seit einigen Wochen, und wir arbeiten daran, sicherzustellen, dass alle unsere offiziellen Themes und Plugins in der neuen Umgebung funktionieren.

6 „Gefällt mir“

Ok. Wenn ich also /admin/customize/themes.json (oder welchen Pfad auch immer es tatsächlich ist) abrufe, enthält es Warnungen. Glaubt ihr, dass es wahrscheinlich zu falschen Negativfällen kommt (also keine Warnungen, aber der Upgrade-Vorgang schlägt trotzdem fehl)?

Ach ja, falls es doch fehlschlägt, müsst ihr die Umgebungsvariable einfach wieder deaktivieren.

Bei Plugins: Wenn ich im JavaScript-Console Deprecation-Warnungen sehe, muss ich mich endlich darum kümmern, was sie bedeuten? Es scheint, als kämen sie von Komponenten, die ich verwende, und nicht von meinem eigenen Code, aber Ember und JavaScript sind mir immer noch ziemlich rätselhaft (trotz einer Menge Code, den ich zumindest größtenteils selbst geschrieben habe).

2 „Gefällt mir“

Nein, die Deprecation-Warnungen erscheinen zur Laufzeit in der Browserkonsole. Sie werden nicht in der Theme-REST-API angezeigt.

Im Moment könntest du das tun. Wir beabsichtigen jedoch, dies sehr bald zum nicht optionalen Standard zu machen, daher ist die beste Lösung, die Ursache zu beheben.

Ja, fürchte ich schon. Wenn du denkst, dass sie von Kernkomponenten stammen, oder du Schwierigkeiten hast, den Grund zu finden, eröffne bitte ein #dev-Thema mit den Details.

5 „Gefällt mir“

Ha. Wenn Sie Glück haben. Wenn Sie nicht so viel Glück haben, erhalten Sie einen vollständigen Fehler und einen vollständigen Stopp der JavaScript-Ausführung. Dies kann zu leeren oder beschädigten Seiten führen.

Bisher habe ich verschiedene Probleme gefunden, aber meistens den Verlust einiger Attribute des Discourse-Objekts, und daher müssen Sie einen anderen Weg finden, um auf Website- und Benutzerattribute zuzugreifen. (Hinweis: Diese sind innerhalb der Komponenten zugänglich. Sie können die Arbeit sehen, die ich kürzlich am TLP TC geleistet habe)

2 „Gefällt mir“