2.6.0.beta2へのアップデート後、コンポーザーでテキストボックスが表示されない

こんにちは皆さん、

2.6.0.beta2 にアップデートし、すべてが意図通り動作していることを確認した直後、テーマの CSS/HTML を編集できないことに気づきました。これはこのケースと似た挙動です。主な違いは、CSS/HTML のカスタムコードのテキストは表示されるものの、編集できず、単なる平文として表示されてしまう点です。

再現手順:

  1. 管理パネルに移動
  2. 「カスタマイズ」タブ/ボタンを選択
  3. テーマを選択
  4. 「CSS/HTML を編集」ボタンを押す
  5. CSS にカスタムコードがある場合、すぐに平文として表示されます。ない場合は、カスタムコードがあるタブ/タイプを選択してください。

観察される挙動:

  • 「未使用フィールドを非表示」をチェックしても、テキストがあるフィールドは表示されたままです。
  • 「保存」ボタンはグレーアウトしており、クリックできません。
  • プレビューボタンは意図通り動作します。
  • ?safe_mode=only_official という応急処置を試しましたが、挙動は変わりません。
  • Chrome と Firefox の最新バージョン(ナイトビルド版以外)で発生します。

個人的なメモ:

  • 2.6.0.beta2 のリリースノートはすべて読みましたが、これがトリガーや機能(Light/Dark の自動切り替え以外)を意味するものは見当たりませんでした。ただし、何か見落としている可能性は否定しません。

これはおそらく、CSS/HTML エディタの最近の更新に関連していると思われます。エディタの旧バージョンがブラウザにキャッシュされたままになっており、問題を引き起こしています。それが原因であることを確認するには、エディタにアクセスし、ブラウザのコンソールを開くと、loadWorkerFromBlob というエラーが表示されます。

効果があるかもしれない方法は、yourcommunity.example.com/javascripts/ace/ace.js に直接アクセスし、ページをハードリフレッシュすることです。

@awesomerobot さん、こんにちは!

ご返信いただき、本当にありがとうございます。

はい、確かにコンソールにそれらのエラーが表示されています!

その間、システム全体で色々と試してみましたが、投稿もできないことがわかりました。これまで何かを書く必要がなかったのでテストしていませんでしたが、好奇心から試してみたところ、返信や新規投稿を試みるとコンポーザーがポップアップするものの、テキスト入力欄が表示されません。タイトル入力欄は表示され入力も可能ですが、カテゴリ選択などの他のドロップダウンは読み込まれても使用できず、その下に何も表示されません。

また、テーマエディターでも投稿を試しても、同じエラーが表示されます:property 'authorized_extensions' of undefined

再現手順:

  1. 「トピック作成ボタン」を押す。

確認された挙動:

  • 返信でも新規トピック作成でも、ポップアップエディターが表示されますが、テキスト入力欄がありません。
  • タイトル入力欄(新規トピックの場合)は表示され、入力可能です。
  • ドロップダウン(カテゴリなど)は表示されますが、機能していないようです。
  • モバイルとデスクボスの両方で発生します。
  • シークレットウィンドウやハードリフレッシュでも発生します。

そして最も奇妙な点は、どうやらこれは管理者/モデレーターアカウントにのみ発生するようで、一般ユーザーは通常通り書けることです。これは何か意味がありますか?それとも私の電子機器をすべて捨てたほうがいいのでしょうか?:stuck_out_tongue:


小さな更新情報

他のデバイスでも試しましたが、今は本当に混乱しています。一部のデバイスでは Firefox では入力欄が機能するものの Chrome では機能せず、その逆もまた同様です。また、あるデバイスではモデレーターには機能するが管理者には機能せず、その逆も同様です。

キャッシュやクッキーを削除し、シークレットモードを試しましたが、挙動は変わりませんでした。

すべてを排除するために、すべてのブラウザをアンインストールして最初からやり直すという「極端な」方法を試してみます。この挙動からすると、Discourse 自体の問題ではなく、デバイスやアカウントによって発生したりしなかったりする「何か」があるように思えます。

付け加えるのを忘れていた点ですが、あなたのアドバイスに従って以下のことを試しました:

これはそのアドレスにアクセスし、すべてをクリアした後に CTRL+F5 または単に F5 を押すという意味だと理解しましたが、挙動は変わりませんでした。


別の更新情報

いいえ、インストールのやり直しを試みましたが、何も変わりませんでした。Edge(新旧両方)でも同様です。

ユーザーにはこの問題がないようです(もしあれば気づかないかもしれませんが :stuck_out_tongue: )、アクティビティは期待通りに流れています。しかし、管理者とモデレーターにはこの問題が発生しています。問題の特定ができず、コンソールで得られるフィードバックは以下の通りです:

Chrome: Uncaught TypeError: Cannot read property 'authorized_extensions' of undefined
FireFox: Uncaught TypeError: t is undefined


再度の更新

単に報告しますが、今、私のコンピュータやサーバーで 何も変更していない のに、突然テーマを編集できるようになり、入力欄が表示されるようになりました。

ただし、自分のサイトにはまだ書けません。前述のように入力欄が表示されないためです。この状況には本当に驚いています。タイトルを更新します。今や問題はテキスト入力欄のみです(テーマ編集ボックスが突然機能しなくなる限りは)。

新しい投稿です。このバグが発生しているモデレーターユーザーから「モデレーター権限」を解除し、ページをリフレッシュすると、問題なく投稿できるようになり、入力ボックスが表示されることを確認しました。これにより、この問題はモデレーターと管理者にのみ発生することが確認できました。

しかし、プラグインを一つずつ確認したり、?safe_mode=only_official モードを試してみましたが変化はなく、やはりモデレーター/管理者にのみ発生していました。

さて、ここからが面白い部分です。上記を書いている最中に、「Admin/Mod だけが異なる点だが、Meta 側ではこの問題が発生していない。つまり、私の設定に特有の何かだ」と気づきました。そして、「セーフモード」はプラグインを無効化しても、テーマコンポーネントは無効化しないのではないか、と推測しました。

試しに確認したところ、問題の原因は Restrict Uploads Theme Component であることが判明しました(皮肉なことに、モデレーター/管理者はアップロードできるため、彼らのバーには影響しませんが、何らかの理由で読み込まれていません)。

まとめますと:

  • 元のバグについて:@awesomerobot が説明した挙動に関連しているようです。時間が経つことで「自然に解決」しました(ただし、コマンドを実行した直後ではなく、その点は注記しておきます)。

  • テキストボックスに関する別の問題については、@tshenry による Restrict Uploads Theme Component が原因でした。

テーマコンポーネントのトピックに投稿する前に、誰か確認していただけますでしょうか?

再現手順:

  1. 2.6.0.beta2 にアップデート
  2. Restrict Uploads Theme Component をインストール
  3. モデレーターまたは管理者としてログイン
  4. 投稿を試みる(新規トピック、返信、PM など)。

確認すべき挙動:

  • 返信でも新規トピック作成でも、ポップアップエディタは表示されますが、テキストボックスがありません。
  • タイトル入力ボックス(新規トピックの場合)は表示され、入力可能です。
  • ドロップダウン(カテゴリなど)は表示されますが、動作していないように見えます。
  • モバイルとデスクトップの両方で発生します。
  • シークレットウィンドウやハードリフレッシュでも発生します。
  • Chrome と Firefox の最新バージョン(ナイトビルド版以外)で発生します。
  • 返信でも新規トピック作成でも、ポップアップエディタは表示されますが、テキストボックスがありません。

コンソールエラー

Chrome: Uncaught TypeError: Cannot read property 'authorized_extensions' of undefined
FireFox: Uncaught TypeError: t is undefined

これがすべてのテーマコンポーネントを無効にするかどうかはわかりませんが、「テーマを無効にする」を選択してセーフモードを使用すると、他のテーマコンポーネントが表示されないため、セーフモードでもこれを行うことができると思います。