데이터 탐색기 활성화 시 "애드블로커를 비활성화하고 페이지를 다시 불러오세요" 오류 발생

안녕하세요.

플러그인을 활성화하면 먼저 경고(빨간 배경)가 표시됩니다:

Unable to configure link to '[en.explorer.title]'. Ensure ad-blockers are disabled and try reloading the page.

어떤 페이지를 새로고침해야 하는 건지, 새로고침하면 Discourse가 바로 Opps 오류가 납니다.

Discourse를 정상적으로 구동하려면 **안전 모드(safe-mode)**로 들어가서 플러그인을 비활성화하는 것 외에는 방법이 없습니다.

**Data explorer**는 docker manager를 제외하고 설치된 유일한 플러그인입니다.

설치된 버전: 3.2.0.beta2-dev
(83621ccbe7)

네, 안전 모드는 문제를 해결해 주지만… 플러그인을 사용할 수 있으면 좋겠습니다.
수정 방법에 대한 모든 조언을 환영합니다. 감사합니다.

1개의 좋아요

혹시 아는 분 계신가요? 이 메시지의 영어 원문은 다음과 같습니다:

Unable to configure link to '[en.explorer.title]'. Ensure ad-blockers are disabled and try reloading the page.

컨테이너 배포는 정상적으로 이루어졌고, 컴포넌트 추가도 문제없이 잘 됩니다. 그 외 다른 부분들도 정상적으로 작동하는 것 같습니다.
저는 DuckDuckGo Privacy Essential만 사용하고 있으며, 해당 사이트에서는 이를 비활성화해 두었습니다. 그런데 Discourse가 왜 이런 것(광고 차단기)을 신경 써야 하는지, 실제로 신경을 쓴다면 왜 그런지 궁금합니다.

1개의 좋아요

Chrome이나 Firefox 같은 다른 브라우저로 테스트해 보시고, 문제가 여전히 발생하는지 확인해 주시겠어요?

1개의 좋아요

이미 그렇게 해 보았습니다. 방금 새로운 사용자 계정 + 깨끗한 Firefox를 시도해 봤는데 동일한 문제가 발생합니다.

현재 Rails 로그에서 플러그인의 enable 상태가 전환되었습니다:

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개의 좋아요

Ubuntu에서 Chrome 브라우저를 사용하는 프로덕션 Discourse 사이트에서 이 문제를 재현할 수 있습니다. 이러한 알림이 표시되는 것이 다소 놀랍습니다:

알림이 표시되고 있음에도 불구하고 Data Explorer 플러그인이 실제로 활성화된 것으로 보입니다.

흥미롭게도, 이는 Data Explorer 플러그인의 활성화나 사용을 방해하지 않는 것 같습니다. 페이지를 새로고침하면 플러그인 목록에 Data Explorer 항목이 나타나는 것을 확인했습니다:

더 테스트해 본 결과, 새 플러그인 페이지를 추가하는 모든 플러그인에서 동일한 동작을 확인했습니다. 예를 들어 Calendar와 Gamification 플러그인에서도 마찬가지입니다. 아마도 새 플러그인 항목을 추가하기 위해 Discourse가 /admins/plugin 페이지를 동적으로 로드하려는 시도가 이 알림을 유발하는 것 같습니다.

참고로, 광고 차단기를 활성화한 상태로 플러그인을 켜고 끄며 테스트하는 경우, 플러그인을 비활성화한 후 알림이 표시되려면 플러그인을 다시 활성화하기 전에 페이지를 완전히 새로고침해야 합니다.

농담조로 "블루스크린"이라고 부른 현상을 이해합니다. 페이지를 새로고침하면 Oops 메시지가 뜨고, support 게시판에 스레드를 만들었지만 별다른 도움이 되지 않아서 여기로 왔습니다.
사이트를 정상적으로 되돌리려면 안전 모드로 진입한 후 플러그인을 비활성화해야 합니다. 확장 프로그램, 애드블록커, 기타 플러그인이 전혀 없는 새롭고 깨끗한 브라우저에서도 이 문제가 재현됩니다.

이 문제가 프로덕션 사이트에서 발생하는 건가요?

문제가 로컬 개발 사이트에서만 발생한다면, 다른 여러 요인이 원인이 될 수 있습니다.

'production’이 정확히 무엇을 의미하는지 잘 모르겠습니다. 저는 공식 howto에 안내된 대로 배포하고 있습니다. local이라는 것이 클라우드가 아닌 것을 의미한다면, 저는 클라우드에 배포하지 않고 있습니다.

프로덕션이란 로컬 개발 사이트가 아닌 사이트를 의미합니다. 이렇게 묻는 이유는 로컬 개발 사이트에서는 발생하지 않는 문제가 프로덕션 환경에서 발생하거나, 그 반대인 경우가 있기 때문입니다. 그래서 로컬 개발 사이트에서만 재현된 문제는 보고할 때 주의 깊게 다룹니다. 그렇게 할 때는 반드시 해당 문제를 로컬 개발 사이트에서만 재현했다고 명시합니다.

이 부분은 뼈를 깎는 경험으로 깨달았죠 :slight_smile: 그 게시글은 이제 삭제된 것 같습니다.

테스트 사이트(실제로는 운영 환경)에서 이 문제를 재현할 수 있습니다. ‘경고’ 메시지가 실제로는 새 탭에 데이터를 로드하려면 페이지를 새로고침해야 한다는 내용을 알려주고 있으므로, 주로 UI 문제인 것 같습니다. 다만 빨간색 표시 때문에 더 심각해 보입니다. :slight_smile:

번역 누락이 있는 것 같기도 합니다.

이 문제를 여러 곳에 중복 게시하지 않도록 이 스레드로 통합합시다. :+1:


이것은 재현할 수 없습니다. 제가 페이지를 새로고침하면 경고 메시지가 사라지고, 데이터 탐색 탭이 화면에 표시됩니다.

1개의 좋아요

@simon 사용하시는 명명법이 좀 낯설네요. 저한테는 처음 듣는 용어입니다.
저는 production과 lab/devel을 구분해서 사용해 왔는데, 전자는 실제 고객/사용자를 대상으로 하고 후자는 개발을 위한 테스트/실험 환경(단, 개발에만 국한되지는 않음)입니다. — 제 경험상 위치나 지역은 명명법에 아무런 영향을 주지 않았습니다. 로컬이든, 원격이든, 클라우드든 관계없이 용어에 반영되지 않았습니다.
다시 말씀드리지만, 저는 공식 가이드(개발자용이 아닌 일반 사용자용)에 따라 배포하고 있습니다. 재현이 쉬워야 하는데, 제 환경에서는 매번 재현됩니다.

1개의 좋아요

우리는 서로 다른 것에 대해 이야기하고 있는 것 같습니다. 개발용 사이트에서 문제가 발생하는지, 아니면 컴퓨터에 설치한 개발 사이트에서만 그런지 궁금했습니다. 말씀하신 내용을 들어보면 그런 것 같지는 않네요.

JammyDodger와 저도 보고하신 문제의 _대부분_을 재현할 수 있다고 보고했습니다. 제 우려는 다음과 같습니다:

이것이 프로덕션 사이트에서 발생하고 있다면, 반드시 해결해야 할 문제입니다.

(관련 질문?) Rails 콘솔에서 플러그인을 활성화/비활성화할 수 있나요?

방금 두 번째 플러그인인 discourse-automation으로 시도해 보았으니, 이제 두 개의 플러그인이 있습니다. 해당 플러그인을 켜자(data-explorer는 꺼진 상태), 이제는 안전 모드조차 작동하지 않습니다. 아뿔싸, 완전히 꼬여버렸네요.

이 문제는 @lejeczek 님의 설정에 문제가 있는 것 같습니다. 추가 탭이 필요 없는 플러그인(예: spoiler)을 설치했을 때도 비슷한 증상이 나타나요?

다만, 레일즈 콘솔을 사용하여 플러그인을 비활성화할 수 있습니다:

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 전체에서 해당 코드가 무엇을 하는지 모르기 때문에 디버깅이나 우회 방법을 찾을 수 없습니다.
설명했듯이, 제가 사용하는 유일한 광고 차단기를 켜고 껐으며 테스트했습니다. 또한 이 문제(코드)가 웹 브라우저 외부의 요소, 예를 들어 OS/네트워크/조직(나처럼 조직의 일원인 경우)과 무관하다고 가정합니다.