«Отключите блокировщики рекламы и попробуйте перезагрузить страницу» при включении Data Explorer

Привет, ребята.

При включении плагина я сначала вижу предупреждение (красный фон):

Не удалось настроить ссылку на '[en.explorer.title]'. Убедитесь, что блокировщики рекламы отключены, и попробуйте перезагрузить страницу.

Если я перезагружу страницу, то Discourse сразу выдаёт Opps.

Единственный способ вернуть Discourse в рабочее состояние — зайти в безопасный режим и отключить плагин.

Data explorer — единственный установленный плагин, кроме docker manager.

Установлена версия 3.2.0.beta2-dev
(83621ccbe7)

Да, безопасный режим помогает, но… было бы здорово иметь возможность использовать плагин.
Буду очень признателен за любые и все советы по тому, как исправить эту проблему. Спасибо.

1 лайк

Кто-нибудь? Вот текст сообщения на английском:

Не удалось настроить ссылку на '[en.explorer.title]'. Убедитесь, что блокировщики рекламы отключены, и попробуйте перезагрузить страницу.

Контейнер разворачивается нормально, компоненты добавляются без проблем, всё остальное тоже работает. У меня установлен только DuckDuckGo Privacy Essential, который я отключаю для этого сайта. Но почему Discourse вообще должен обращать на это внимание, если он действительно это делает?

1 лайк

Можете проверить в другом браузере, например Chrome или Firefox, и посмотреть, сохраняются ли проблемы?

1 лайк

Я уже пробовал. Только что создал новую учётную запись пользователя и использовал чистую версию Firefox, но результат тот же.

В данный момент лог Rails для плагина показывает следующее:

Started POST "/presence/update" for 10.3.9.144 at 2023-09-21 18:20:19 +0200
Processing by PresenceController#update as */*
  Parameters: {"client_id"=>"361de32163a941b09d6b822826359a04", "present_channels"=>["/chat-user/core/2"]}
Completed 200 OK in 9ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 1697)
Started PUT "/admin/site_settings/data_explorer_enabled" for 10.3.9.144 at 2023-09-21 18:20:20 +0200
Processing by Admin::SiteSettingsController#update as */*
  Parameters: {"data_explorer_enabled"=>"true", "id"=>"data_explorer_enabled"}
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 200 OK in 51ms (Views: 1.8ms | ActiveRecord: 0.0ms | Allocations: 9266)
Started POST "/presence/update" for 10.3.9.144 at 2023-09-21 18:20:20 +0200
Processing by PresenceController#update as */*
  Parameters: {"client_id"=>"361de32163a941b09d6b822826359a04", "present_channels"=>["/chat-user/core/2"]}
Completed 200 OK in 7ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 1904)
1 лайк

Попытка включить плагин:

`Не удалось настроить ссылку на '[en.explorer.title]'. Убедитесь, что блокировщики рекламы отключены, и попробуйте перезагрузить страницу.

1 лайк

Я могу воспроизвести это на своём продакшн-сайте Discourse в браузере Chrome под Ubuntu. Удивительно видеть такое сообщение:

Обратите внимание, что плагин Data Explorer фактически отображается как включённый, несмотря на показ этого сообщения.

Интересно, что это, похоже, не мешает включению или использованию плагина Data Explorer. Я обнаружил, что при обновлении страницы запись Data Explorer появляется в списке плагинов:

Продолжая тестирование, я наблюдаю такое же поведение с любыми плагинами, которые добавляют новую страницу плагина. Например, с плагинами Calendar и Gamification. Возможно, это связано с попыткой Discourse динамически загрузить страницу /admins/plugin для добавления новой записи плагина, что и вызывает появление этого сообщения.

Обратите внимание: если вы тестируете это, включая и выключая плагины с включённым блокировщиком рекламы, вам необходимо полностью обновить страницу после отключения плагина, чтобы сообщение появилось снова после повторного включения плагина.

У меня возникает то, что я в шутку называю «синим экраном» — после обновления страницы появляется сообщение Oops. Я создал тему в разделе поддержка, но там мне мало чем помогли, поэтому я обратился сюда.
Восстановить нормальную работу сайта мне удаётся только в безопасном режиме, после чего я отключаю плагин. Проблема воспроизводится даже в свежих, чистых браузерах без расширений, без блокировщиков рекламы и без других плагинов.

Вы сталкиваетесь с этим на продакшн-сайте?

Если проблема возникает только на локальном сервере разработки, то причин может быть множество.

Я не уверен, что вы имеете в виду под «production». Я разворачиваю именно так, как указано в официальной инструкции. Не в облаке, если под «local» вы имеете это в виду.

Под «продакшеном» я имею в виду, что сайт не является локальной средой разработки. Я спрашиваю об этом, потому что иногда проблемы возникают на локальных серверах разработки, но не проявляются в продакшене. По этой причине я осторожно подхожу к сообщениям об ошибках, которые удалось воспроизвести только на моей локальной среде разработки. Когда я так делаю, я всегда указываю, что проблема воспроизведена только в моей среде разработки.

Я усвоил этот урок на собственном опыте :slight_smile: Думаю, тот пост уже удалён.

Я могу воспроизвести это на своем тестовом сайте (который является рабочим). Думаю, это в основном вопрос интерфейса, так как «предупреждение» на самом деле говорит вам, что нужно обновить страницу, чтобы загрузить новую вкладку. Однако красный цвет делает это более тревожным. :slight_smile:

Кажется, что также может отсутствовать перевод.

Давайте объединим это здесь, чтобы не дублировать проблему в нескольких местах. :+1:


Это я воспроизвести не могу. При обновлении страницы предупреждение исчезает, и вкладка обозревателя данных теперь отображается на экране.

1 лайк

@simon У тебя здесь странная терминология, для меня это ново.
Я привык к противопоставлению production и lab/devel, где первое предназначено для реальных клиентов/пользователей, а второе — для тестовой/лабораторной среды разработки (но не только). При этом локация или место размещения не имели никакого значения: будь то очень локальная среда, удалённая или облачная — в известной мне терминологии это не играло роли.
Снова: я разворачиваю систему согласно официальному руководству (не для разработчиков), это должно быть легко воспроизвести, и у меня это воспроизводится каждый раз.

1 лайк

Я думаю, мы говорим о разных вещах. Я wondered, если вы сталкиваетесь с проблемой только на локальной среде разработки, установленной на вашем компьютере. Похоже, что это не так.

Обратите внимание, что и JammyDodger, и я сообщили, что можем воспроизвести большую часть того, о чём вы говорите. Меня беспокоит следующее:

Если это происходит на рабочем сайте, то это проблема, которую необходимо решить.

(связано?) Можно ли включить/отключить плагин в консоли Rails?

Я только что попробовал со вторым плагином — discourse-automation, так что теперь их два. Когда я включил этот плагин включен (data-explorer остается выключенным), теперь даже safe-mode не сработает. Ой, сплошные проблемы.

Похоже, это проблема с вашей настройкой, @lejeczek. Делает ли он что-то подобное при установке плагина, которому не нужна дополнительная вкладка? (например, spoiler).

Но вы можете отключить плагины через консоль rails:

SiteSetting.discourse_automation_enabled = false

SiteSetting.data_explorer_enabled = false

spoiler-alert не выдаёт такого предупреждения, но при перезагрузке страницы также появляется Opps.

Это установка в режиме разработки на вашем собственном компьютере или стандартная установка на VPS?

Есть ли на странице /logs какая-либо дополнительная информация?

Это установка по официальному руководству на «голом» железе, а не в облаке или на VPS.

Мне не удаётся воспроизвести эту проблему. Я только что установил все эти плагины на свежий обновлённый Discourse 3.2.0.beta2-dev без каких-либо проблем. Data Explorer был первым, который я установил.

Не знаю, что ещё сказать, относительно того, что происходит — добавить мне больше нечего.
Я предполагаю, что раз плагин устанавливается, значит установка/развёртывание Discourse и контейнера проходит нормально.
Проблема воспроизводится каждый раз — всё остальное, остальная часть Discourse, также, похоже, работает без проблем.

Что касается всего остального? Я не имею понятия, что означает ad-bloker в данном контексте и для Discourse в целом, что делает этот код, поэтому не могу отладить проблему или найти обходной путь.
Как я уже объяснял, я тестировал с единственным используемым мной блокировщиком рекламы и без него. Я также предполагаю, что проблема (код) не имеет ничего общего ни с чем за пределами веб-браузера, такими как операционная система, сеть или организация (в случае, когда человек, как я, является её частью).