Трудности с пониманием настройки включения приветственного баннера

Может, кто-нибудь поможет мне это понять? Ощущение, что я упускаю что-то очень очевидное, потому что ожидал, что настройка будет работать наоборот.

В описании сказано:

Отображать баннер на страницах основного списка тем для приветствия участников и предоставления им возможности поиска по содержимому сайта

Именно поэтому я ожидал:

Флажок установлен > приветственный баннер
Флажок снят > баннер отсутствует

Но происходит наоборот:

Это чрезвычайно странно… У меня не воспроизводится. Вы случайно не оставили старый компонент установленным?

Я так не думаю

Кстати: примерно в 1 из 5 случаев переключение настройки работает как положено, но обычно — нет.

@yuriy У тебя есть идеи, что могло это вызвать?

Это сайт, размещенный на Discourse, поэтому кто-то может попробовать это самостоятельно.

Мне удалось воспроизвести проблему на Foundation без использования каких-либо компонентов

У меня складывается впечатление, что я, скорее всего, вижу конфигурацию, которая была на момент обновления. Я активировал баннер 20 часов назад, а обновление произошло 16 часов назад. Затем у меня возникли проблемы с удалением баннера. Однако в какой-то момент ситуация улучшилась (еще одно обновление было 8 часов назад). Теперь я с трудом могу заставить баннер появиться. Таким образом, даже если настройка активирована, он часто не отображается.

Кроме того, включение и быстрое отключение (или наоборот) кажется, вызывает проблемы.

Наш разработчик подтвердил, что с этим что-то не так; он разбирается. Держитесь.

Странно, что это сохраняется даже после обновления в приложении :thinking: Когда мы сохраняем эти значения на сервере, мы отправляем сообщение MessageBus клиенту здесь, что должно обновить реактивный UI:

Но кажется, что где-то ваши настройки перепутали true/false? Что вы увидите, если выполните это в rails console для вашего сайта?

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 console).

Затем попробуйте выполнить следующее:

SiteSetting.theme_site_settings_json(THEME_ID)

Замените THEME_ID на тот, который вызывает проблемы.

Редактирование: Ах, я не понял, что это хостинговый сайт, я могу посмотреть :eyes:

Похоже, на вашем хостинге в вашей теме сейчас всё работает как надо. Однако это интересно:

Может, просто понаблюдаем и посмотрим, повторится ли это? Также вы можете написать мне в личные сообщения, если хотите обсудить детали вашего хостинга подробнее.

Кажется, я снова что-то сломал. Не знаю, когда это исправится само.

В теме Foundation функция включена, но не видна, а в теме по умолчанию — выключена, но видна.

Я только что зашёл на ваш сайт и не вижу её в теме по умолчанию, хотя на странице /admin/customize/themes/1 она показана как отключённая. Я включил её, затем выключил — и она появилась, а потом исчезла в другой вкладке.

Я тоже не вижу её в теме Foundation, хотя в панели администратора она включена. Подождите немного, я попробую разобраться в проблеме.

Интересно. Я тоже мог его увидеть, когда зашёл как тестовый пользователь. Возможно, проблема уже исправилась сама собой.

Ладно, я обновил страницу, и тут всё тоже исправилось само собой, без моего участия :thinking:

Мы кэшируем настройки сайта для каждой темы отдельно с 30-минутным кэшем:

Однако этот кэш должен очищаться при любом изменении настроек сайта любой темы:

Так что, возможно, существует какой-то специфический случай, когда этого не происходит?

Я включил баннер в теме по умолчанию три часа назад, чтобы посмотреть, что произойдёт после следующего обновления. Он был там, но теперь снова исчез. Настройка всё ещё включена.

По-прежнему кажется, что он предпочитает статус, который был на момент обновления сайта.

Редактирование: Теперь баннер снова появился.

Редактирование 2: Исчез.

Редактирование 3: Появился снова.

Редактирование 4: Исчез.

Редактирование 5: Появился.

Спасибо, Мойн… это очень неожиданно, и, насколько мне известно, вы — единственный, кто столкнулся с этим до сих пор. Я создам тестовый сайт для себя, внесу изменения и разверну его, чтобы проверить, смогу ли воспроизвести проблему. Возможно, это поможет её отследить.

Это определённо выглядит как проблема с кэшированием, особенно учитывая, что вы говорите о том, что сам интерфейс переключается туда-сюда, но в админке видно, что настройка всё ещё включена.

Похоже, что первое изменение, в частности, работает некорректно.
Вчера я включил баннер на Foundation, и примерно через 25 минут он стал виден. Это около 30 минут, как вы и упоминали.
Теперь я попробовал снова. Я отключил его на Foundation, он исчез, но появился снова после перезагрузки. И проблема не только в моём пользователе; я всегда тестирую с тестовым пользователем в приватной вкладке. Но даже после 30 минут он всё ещё отображается.

ОБНОВЛЕНИЕ: Теперь его нет. Значит, потребовалось около часа.

Хм, не уверен, связано ли это с тем, что с момента вашего сообщения прошло 30 минут:

image

Или с тем, что я как-то изменил состояние, выполнив это в консоли вашего сайта:

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

Но да, я увидел, что оно было видно, запустил это в консоли, и тогда оно исчезло :sweat_smile: Так что определённо кажется, что это проблема кэширования…

Пока мне не удалось воспроизвести это на собственном размещённом сайте, даже при развёртывании. Это действительно сложная задача!

Не знаю, имеет ли это значение, но я отключил «Показывать приветственный баннер», когда появились настраиваемые параметры сайта. Поэтому значение отличалось от настройки по умолчанию. Возможно, в этом и разница? Если вы создадите форум сейчас, у значения не будет истории — оно будет просто по умолчанию.