カスタムヘッダーリンクが「上書き」されるのはなぜですか?

設定は機能しているようですが、設定にドットが表示されており、上書きされていることを示していますか?

これは何が起こっているのか、何か考えはありますか?

追伸「カスタムヘッダーリンク」で検索してみましたが、この問題に言及しているトピックが見つかりませんでした。

「いいね!」 1

その設定を変更したと思います。デフォルトを上書きしたことになりますが、この設定の目的を考えると、それは非常に可能性が高いです。デフォルトは、テーマコンポーネントを使用してカスタムリンクを追加するため、例のようなものです。リセットボタンを使用すると、設定をデフォルトに戻すことができます。

それは非常に奇妙でした。

最初にサイトを見たとき、新しいリンク(外部リンク、人気、プライバシー)がありましたが、私のリンクはフィールドに残っていました。

リセットを押したら、カスタムリンクの設定が失われました。

幸い、各テキストを保存しておき、新しいリンクを削除して元に戻しました。

まあ、ソフトウェアは奇妙なものです。

「いいね!」 1

また、これも不思議に思っていました。実際、設定の変数名が変更されました。DEV: Rename `Custom_header_links` settings to `custom_header_links` (… · discourse/discourse-custom-header-links@5006125 · GitHub を参照してください。

「いいね!」 2

@tgxworld テーマコンポーネントの最新アップデートにバグがあります。マイグレーションを使用して設定名を変更していますが、その時点で元の設定名は既に変更されています settings.yml で。そのため、マイグレーションは古い設定にアクセスできなくなるため機能しません。このようなマイグレーションは、2つの別々のステップで(そして、テーマコンポーネントのマイグレーションの仕組みを考えると、かなりの時間をおいて)行う必要があります。

そのため、このテーマコンポーネントをアップデートする人は全員、設定を失うことになります。

「いいね!」 2

参考までに、リセットするのではなく設定を再保存すると、すべてがうまくいくと思います。

AFAIK、それはGUIでテーマコンポーネントを個別に更新する場合にのみ機能し、TCがより大きな更新の一部(つまり、rakeタスク)として更新される場合には機能しません。

「いいね!」 2

サイト全体を更新してから custom header links のテーマ設定を再保存すると、リンクがデフォルトに戻り、機能するようになると思います。

ただし、そうせずにリセットを押してしまうのも簡単です。:cry:

これでうまくいきました。設定は正しく見えたので、何が起こっているのか理解するのにかなりの時間がかかりました。テーマコンポーネントをデフォルトテーマから削除し(サイトを悪化させていたため)、別のテーマで機能することを確認することで修正しました。

修正がとても簡単で偶然見つけられたのは良かったですが、Discourseをアップデートした後にリンクが変更されているのを見つけたのはショックでした。:frowning:

データベースからオーバーライドされたテーマ設定を取得して保存しています ので、settings.yml の内容はマイグレーションに全く影響しません。ここで疑っているのは、キャッシュをクリアしていないことではないでしょうか?

これは意図した設計ではありません。テーマの更新方法を制御できないため、2段階のマイグレーションは実行できません。

「いいね!」 1

これは最近のマイグレーションシステムでのリグレッションで、テーマのキャッシュがテーマのマイグレーション実行後に更新されないという問題です。これは以下のプルリクエストで修正されました。

これは実際には真実ではありません。設定は失われるのではなく、キャッシュがデータベース内のオーバーライドではなく、設定のデフォルト値を使用しているだけだからです。

「いいね!」 4

説明と迅速な対応、ありがとうございました。

「いいね!」 2

Easy Footer コンポーネントを更新した後、まったく同じ問題が発生しています。フロントエンドとバックエンドの UI のすべてのカスタム設定が失われています。

コミュニティ マネージャーにかなりの混乱が生じています。バックエンドで「リセット」を押すと、すべての設定をやり直すのにかなりの時間がかかります。ヘッダー リンクよりもさらに、フッター コンポーネントではなおさらです。

コアの問題が原因だと考えていましたが、上記のPR がマージされたことで修正されたようです。

テーマコンポーネントを更新した際に、Discourse のどのバージョン(コミット)を実行していたかご存知ですか?

はい、まさに投稿を編集しようとしていました。これは最新の安定版である 3.2 で両方発生しました。コンポーネント設定のすべての変更をより高いバージョンに固定する必要がない限り、これも安定版で修正されるべきだと思いますか?

「いいね!」 1

ああ、はい。@tgxworld ここで安定性のために最も理にかなったアプローチ、つまりコア修正のバックポートまたは設定移行を使用するコンポーネントに何らかの制約を課すことについて考えてみましょう。

「いいね!」 1

それは2日前にすでに完了しました FIX: Update themes javascript cache after running themes migrations (… · discourse/discourse@39dffcb · GitHub

@manuel あなたのインストール時のコミットハッシュは何ですか?

「いいね!」 1

ああ、すみません、このサーバーを更新していませんでした!みんなごめん、これはステージング環境だけなんだけど、クライアントからリセットされた理由について問い合わせがありました。

「いいね!」 3