新規インストールは本番環境でEmber CLIビルドをデフォルトにします

本日付で、Discourse の新規セルフホストインストールでは、本番環境で Ember CLI ビルドをデフォルトで使用するようになりました。

当社はすでに長期間、これらのビルドを本番環境で運用しており、安定しており、主要なプラグインすべてと互換性があるはずです。問題が発生して無効にする必要がある場合は、app.yml を編集し、EMBER_CLI_PROD_ASSETS: 1 を削除してください。

それ以外の場合は、バグを見つけたら当社までご報告ください。迅速に対応いたします。

近い将来、Discourse のすべてのインストールで Ember CLI ビルドが使用されるようになります。

「いいね!」 18

現在セルフホストされているサイトの場合、切り替えには再構築または管理者によるアップグレードが必要ですか?

「いいね!」 3

既存のインストール環境では、以下のいずれかの方法で Ember CLI の使用に切り替えることができます:

  1. app.yml を編集して EMBER_CLI_PROD_ASSETS: 1 の行を追加し、その後ビルドし直す、または
  2. 「近い将来」それが標準となるまで待ってからビルドし直す
「いいね!」 5

はい、@Simon_Manning のご指摘の通りです。ご希望であれば手動で有効化することもできますし、デフォルト設定になるのを待つこともできます。私たちは、事前にすべてのバグを特定できるよう、段階的に展開を進めています。

「いいね!」 7

はい、インストール済みです。何か注意しておくべき点はありますか?

「いいね!」 1
Browserslist: caniuse-lite が古くなっています。以下のコマンドを実行してください:
npx browserslist@latest --update-db

定期的に実行すべき理由:
https://github.com/browserslist/browserslist#browsers-data-updating
「いいね!」 1

何か不具合があれば、お知らせください。

「いいね!」 4

Emberエコシステムに詳しくない方にも、それが何を意味し、なぜ重要なのかを説明していただけませんか。

「いいね!」 9

こんにちは、目安となる時期はありますか?ありがとうございます。

「いいね!」 1

すでに実装可能です。

必要なことは、app.yml に1行追加して再ビルドするだけです。

「いいね!」 2

現在から約1ヶ月後に、古いサイトでもこれを有効にする予定です。

「いいね!」 8

この変更にはとても興奮しています。Discourse の未来にとって素晴らしいことです。

単に次のことをお勧めします:サードパーティ製のテーマコンポーネントやプラグインを実行している場合は、同じセットで別々のテストインスタンスを起動し、メインサイトを ember cli に移行する前に、そこですべてを確認してください。

私は最近、私のテーマコンポーネントの 1 つに重要な変更を加えてリリースしました。これを行っていなかった場合、ホストサイトが破損していたでしょう。

「いいね!」 14

詳細はこちらにあります:

要点をまとめると:これはEmberアプリケーションを開発するための公式にサポートされている方法であり、将来的にコミュニティからの貢献を容易にし、またEmberのアップグレードをよりスムーズに行うことができるようになります。

「いいね!」 9

はい、EMBER_CLI_PROD_ASSETS: 1 を設定しましたが、Dracula テーマが正常に動作しません。そのため、この機能を削除しました :frowning:

「いいね!」 3

Dracula a Dark Theme for Discourse に投稿して、修正してもらいましょう。

「いいね!」 5

この変更により破損する可能性が高いテーマコンポーネントは、Wyeth の JavaScript が含まれているものだけでしょうか?

JavaScript を含むテーマコンポーネントを検索する簡単な方法はありませんか?Data Explorer や Rails クエリを使って検索できるでしょうか?この変更の影響を受けそうなサイトを特定し、本番環境をアップグレードする前にテストを行うためにステージングサイトを無料で提供して、私の新製品(テストユーザーを獲得したいので無料です)の導入を検討してもらえるようにしたいと考えています。

「いいね!」 1

その通りです。この Ember CLI の変更は、テーマやコンポーネントの HTML や CSS 部分には影響しません。

一般的に、問題のあるテーマコンポーネントは、従来の非 Ember CLI 環境のブラウザ JS コンソールに表示される黄色い非推奨警告を確認することで特定できます。(Ember CLI への移行が、これらの非推奨警告を導入している理由です)

Meta は数週間前から Ember CLI を運用しており、すべての公式テーマとプラグインが新しい環境で正常に動作するように取り組んでいます。

「いいね!」 6

はい。では、/admin/customize/themes.json(または実際のパス)を取得すると、そこに警告が含まれます。これは、警告が出ていなくてもアップグレード時に失敗する可能性(偽陰性)があると思われますか?

また、もし失敗した場合は、環境変数を無効に戻すだけで済みます。

プラグインについては、JavaScript コンソールに非推奨の警告が表示されている場合、ついにその意味を調べる必要があります。私のコードではなく、使用しているコンポーネントから出ているように思えますが、Ember や JavaScript はまだ私にはかなり謎めいています(少なくとも大部分は私が書いたコードを持っているにもかかわらず)。

「いいね!」 2

いいえ、非推奨の警告はブラウザのコンソールで実行時に表示されます。テーマの REST API には表示されません。

現時点ではその方法で対応できます。しかし、まもなくこれをオプションではなくデフォルトにすることを予定しています。そのため、最も良い解決策は根本原因を修正することです。

はい、残念ながらその通りです。もし警告がコアコンポーネント由来だとお考えの場合、あるいは原因を特定するのに苦労している場合は、詳細を記載して Dev トピックを開いてください。

「いいね!」 5

まあ、ラッキーな場合だけです。ラッキーでなければ、完全なエラーが発生し、JavaScript の実行が完全に停止してしまいます。その結果、ページが空白になったり破損したりすることがあります。

これまで私はさまざまな問題を見つけましたが、主に Discourse オブジェクトの一部の属性が失われる問題です。そのため、サイトやユーザーの属性にアクセスするには別の方法を見つける必要があります。(ヒント:これらはコンポーネント内でアクセス可能です。私が最近行った TLP TC に関する作業をご覧ください。)

「いいね!」 2