ウェルカムバナーを有効にする設定の理解が難しい

これを理解するのを手伝ってもらえませんか?設定が逆になると予想していたので、何か非常に明白なことを見落としているような気がします。

説明には次のように書かれています。

メンバーを歓迎し、サイトコンテンツを検索できるように、メインのトピックリストページにバナーを表示する

だから私は次のように期待していました:

チェックボックスがオン → ウェルカムバナー
チェックボックスがオフ → バナーなし

しかし、逆のことが起こっています:

「いいね!」 1

それは非常に奇妙ですね…私には再現しません。誤って古いコンポーネントがまだインストールされていませんか?

「いいね!」 1

そうは思いません

ちなみに、約5回に1回は設定の切り替えが期待どおりに機能しますが、通常は機能しません。

「いいね!」 2

@yuriy 何か原因の心当たりはありますか?

Discourseによってホストされているサイトです

Foundationで、コンポーネントなしで再現できました。

「いいね!」 1

アップデート時の設定が反映されているような印象を受けます。バナーを有効にしたのは20時間前で、16時間前にアップデートがありました。その後、バナーを消すのに苦労しました。しかし、ある時点から改善されました(8時間前に別のアップデートがありました)。今ではバナーが表示されることはほとんどありません。つまり、設定が有効になっていても、表示されないことが多いのです。

さらに、有効にしてすぐに無効にする(またはその逆)と問題が発生するようです。

開発者が問題を確認し、現在調査中です。しばらくお待ちください。

「いいね!」 1

アプリで更新してもこれが継続しているのは奇妙ですね :thinking:
これらの値をサーバーに保存する際に、クライアントにMessageBusメッセージを送信して、リアクティブUIを更新するはずです。

しかし、何らかの理由で設定がtrue/falseで反転しているように感じますか? サイトのRailsコンソールでこれを実行するとどうなりますか?

SiteSetting.theme_site_settings

以下のようなものが表示されるはずです。数字はテーマIDを表します。

{1=>:enable_welcome_banner=>false, :search_experience=>"search_icon"},
 -1=>:enable_welcome_banner=>false, :search_experience=>"search_icon"},
 -2=>:enable_welcome_banner=>false, :search_experience=>"search_field"}}

値を切り替えて、どのような値が表示されるか試してみてください(値を変更するたびにRailsコンソールを閉じて再オープンする必要があります)。

その後、これを試していただけますか?

SiteSetting.theme_site_settings_json(THEME_ID)

THEME_ID を問題のあるものに置き換えてください。

編集:ああ、これはホストされたサイトでのことだと気づきませんでした。確認できます :eyes:

「いいね!」 2

お使いのテーマでは、ホストされているサイトで正しく動作しているようです。しかし、これは興味深いですね。

様子を見て、引き続き発生するかどうか確認しましょうか?また、ホストされているサイトの詳細についてさらに話し合いたい場合は、お気軽にプライベートメッセージを開始してください。

また壊してしまったようです。いつ直るかわかりません

Foundationでは有効になっていますが、表示されず、デフォルトのテーマでは無効になっていますが表示されています

あなたのサイトにログインしましたが、デフォルトテーマでは表示されず、/admin/customize/themes/1 で無効になっていることが確認できました。オンにしてからオフにすると、別のタブに表示されて非表示になりました。

Foundation でも表示されませんが、管理画面では有効になっています。少々お待ちください。問題を確認します。

興味深いですね。テストユーザーとしてログインした際にも表示されました。おそらく自己解決したのかもしれません。

わかりました。何もせずにここでも直りました :thinking:

ここでは、各テーマの設定を30分間キャッシュしています。

しかし、これはテーマのサイト設定を変更すると常にクリアされるはずです。

では、これが起こらないエッジケースがあるのでしょうか?

「いいね!」 1

サイトを更新した後に何が起こるか確認するために、3時間前にデフォルトテーマのバナーを再度有効にしました。バナーは表示されていましたが、今はまた消えています。設定は有効なままです。

サイトが更新された時の状態を好むように感じられます。

編集:バナーが戻ってきました。

編集2:消えました。

編集3:戻ってきました。

編集4:消えました。

編集5:戻ってきました。

「いいね!」 3

Moin、ありがとうございます…これは非常に予期せぬことで、私の知る限り、これに遭遇したのはあなただけです。自分でテストサイトを作成し、変更を加えてデプロイして、問題を再現できるかどうかを確認します。それが特定の手がかりになるかもしれません。

UI自体が反転しているとあなたが言うように、確かにキャッシュの問題のように感じられますが、管理画面では設定が有効になっていることがわかります。

「いいね!」 1

特に最初の変更がうまく機能していないようです。
昨日、Foundationでバナーを有効にしたところ、約25分後にバナーが表示されました。これはあなたが言及した30分程度です。
今、もう一度試しました。Foundationで無効にすると消えましたが、リロード後に再表示されました。そして、問題は私だけのユーザーではなく、常にプライベートタブでテストユーザーを使用しています。しかし、30分後でもまだ表示されています。

更新:今、なくなりました。つまり、約1時間かかりました。

「いいね!」 1

これが、投稿から30分経過したためかどうかはわかりません。

image

それとも、サイトのコンソールでこれを実行したことで状態が変更されたためでしょうか。

SiteSetting.theme_site_settings_json(-1)
=> "{\"enable_welcome_banner\":false,\"search_experience\":\"search_field\"}"

しかし、表示されているのを確認し、コンソールで実行したところ、消えました:sweat_smile:。これは間違いなくキャッシュの問題のように思えます…

「いいね!」 1

今のところ、デプロイメントを経由しても、自分でホストしているサイトでは再現できていません。これは難しい問題ですね!

それが関連しているかどうかわかりませんが、テーマ設定可能なサイト設定が登場したときにウェルカムバナーを有効にするを無効にしました。そのため、値はデフォルト設定とは異なっていました。それが違いでしょうか?今フォーラムを作成すると、値には履歴がなく、デフォルト値になるだけです。