회원가입 시 전체 이름이 사라졌습니다

여러분 안녕하세요!

Discourse 초보입니다 :raising_hand_man:t3: - 이해해 주세요.
약 80명 규모의 작은 커뮤니티를 위해 인스턴스를 설정하는 작업에 한창입니다. 2025년까지 이 모든 것을 정상적으로 가동할 예정이었거든요 :sweat_smile:

회원들이 실명으로 가입해야 합니다. 처음 Discourse를 설정할 당시에는 ‘실명 필수’ 옵션을 켜 두었고, 모든 것이 예상대로 작동했습니다.
하지만 지금은 가입 양식에 해당 항목이 아예 표시되지 않고, 언제 사라졌는지도 모르겠습니다.
그 이후로 제가 변경한 것이라면 이 플러그인(Majal / discourse-available-locales · GitLab)을 설치하여 사용 가능한 언어를 줄인 것뿐입니다.
플러그인을 제거해 보았지만 실명 입력란은 여전히 사라진 상태였습니다.
실명 요구 사항은 '가입 시 필수’로 설정되어 있습니다.
사용자 정의 필드를 추가하는 기능은 정상적으로 작동합니다.

도움 주시면 감사하겠습니다 :pray:t3:

6개의 좋아요

환영합니다 :wave:

admin/logs/staff_action_logs 페이지를 방문하여 이를 확인할 수 있습니다. 문제가 될 수 있는 설정 변경 사항을 놓치지 않았는지 확인해 보세요.

또한 약간 주제에서 벗어난 이야기이지만, Available Locales Plugin - #5 by angus 를 살펴보는 것도 좋습니다. 이 플러그인은 귀하의 플러그인과 동일한 기능을 제공하는 것 같지만, 유지보수가 되고 있기 때문입니다(귀하의 플러그인은 그렇지 않아 보입니다).

4개의 좋아요

해당 설정을 다시 확인해 주시겠어요? 지난 주에 새로운 기능이 추가되었습니다. 이제 해당 설정의 이름은 full_name_requirement입니다.

또한 enable_names 사이트 설정도 활성화되어 있는지 확인해 주세요.

6개의 좋아요

이 스태프 액션 로그가 정말 유용한 것 같네요. 지금까지는 전혀 눈치채지 못했네요 :man_facepalming:t3:
이제 로그를 더 꼼꼼히 살펴볼게요.

그리고, 유지보수 중인 플러그인으로 definitely 전환할게요. 감사합니다.

4개의 좋아요

링크 보내주셔서 감사합니다.

모든 설정을 세 번 확인해 보았지만 여전히 전체 이름 필드가 표시되지 않습니다.

전체 이름 요구 사항: 가입 시 필수
이름 활성화: 체크됨

정말 막막합니다.

수정:
GitHub에서 이것저것 찾아보다가 이 PR이 제 문제와 관련이 있을까요??

4개의 좋아요

새로운 설정을 확인하기 위해 인스턴스를 업데이트했습니다.

같은 값을 설정했습니다:
Full name requirement: required at signup
Enable names: checked

그리고 가입 페이지에 이름 입력란이 나타납니다.

:thinking:

참고로, 플레이스홀더가 단순히 "Name"으로 되어 있어 저에게는 명확하지 않습니다(필드 아래에 설명을 표시하는 설정이 있다는 것은 알고 있습니다). 그래서 이 테스트를 한 후 admin/customize/site_texts에서 "Full Name"으로 변경했습니다.

4개의 좋아요

도움을 주셔서 감사합니다 :pray:

제가 추가한 플러그인이 무언가를 망가뜨렸을까요?
설치한 후 3개 언어를 제외하고 모든 언어를 제거했습니다.
그것이 제가 플러그인을 설치한 이유였습니다.

3개의 좋아요

다음과 같은 경우:

  • 안전 모드(Safe mode)로 전환해도 아무 변화가 없다면
  • admin/logs/staff_action_logs에서 관련 항목이 보이지 않는다면
  • 기본값이 아닌 설정 값에서 관련 항목이 보이지 않는다면
  • logs/에서 아무것도 보이지 않는다면
  • 브라우저 개발자 도구의 JS 콘솔이나 네트워크 탭에서 단서가 없다면
  • HTML 코드에서 아무것도 보이지 않는다면 (일부 CSS나 브라우저 확장 프로그램이 필드를 숨길 수 있음)
  • Discourse를 업데이트해도(이상적으로는 커맨드 라인에서 재빌드해도) 문제가 해결되지 않는다면
  • 해당 필드가 표시되었던 최근 백업이 없다면

계속해서 문제를 조사하고 도움을 기다릴 수도 있고, 아마도 시간을 절약하고 스트레스를 줄이려면 Discourse를 재설치하는 것도 방법입니다. 설치 환경이 비교적 새것이라면 과도한 해결책이라기보다는 적절한 조치일 수 있습니다.

하지만 이 문제가 왜 발생하는지 이해하지 못하는 것도 답답한 일입니다.

그러나 제 생각에는 어떤 설정의 이상한 동작(quirk)이거나, 아니면 버그인 것 같습니다. :bug:

5개의 좋아요

Safe mode이나 staff_action_logs에서 어떤 결과나 단서도 얻을 수 없었습니다.

하지만 :thinking:

뭔가 이상하다는 첫 번째 신호입니다.
Firefox의 웹 개발자 도구에서 찍은 스크린샷입니다 :point_down:t3:

도메인은 가렸습니다. (그리고 이건 민감한 정보인지 모르겠어서 :man_shrugging:t3: :sweat_smile:)

이 에러들은 제 이해 범위를 훨씬 넘습니다.
혹시 이 에러들이 무엇을 의미하는지 아시는 분이 있을까요?

음,
Discourse를 설치한 직후 서버에 백업 디스크 이미지를 만들었기 때문에 언제든 새 환경으로 시작할 수 있습니다.

하지만 말씀하신 대로:

정말 그렇습니다.
오래전에 이미 새 이미지로 되돌려 시간을 절약할 수도 있었을 텐데, somehow 저는 늘 돌아가는 길을 택하는 것 같습니다 :smile:

3개의 좋아요

해당 오류는 가입 화면에서만 발생하나요? 안전 모드에서는 사라지나요?
URL은 민감한 정보가 아닙니다(도메인 부분은 임의로 수정하셔도 됩니다). :slight_smile:

2개의 좋아요

아니요. 모든 페이지에서 나타납니다. 페이지를 새로고침해도 마찬가지입니다.

네, 사라집니다! :face_with_raised_eyebrow:

3개의 좋아요

저도 해당 문제를 재현할 수 없습니다. 사이트 설정 페이지에서 오른쪽 상단의 “오버라이드된 항목만 표시” 확인란을 선택하여 인스턴스에 영향을 줄 수 있는 다른 인접한 설정이 있는지 확인해 주시겠어요?

4개의 좋아요

스냅샷을 사용하여 서버를 초기 상태(Discourse 설치 직후)로 되돌렸습니다. 하지만 문제가 여전히 남아 있었습니다.
이번에는 처음부터 다시 시작하면서 모든 설정과 설치하는 플러그인에 대해 더 주의하겠습니다.

도와주신 모든 분들께 감사드립니다 :man_bowing:t3:

수정: 아, 죄송합니다.
의도하지 않은 실수였습니다. 다시는 그런 일이 없을 것입니다 :sweat_smile:

6개의 좋아요

여기서는 그런 실수를 하지 않아요

7개의 좋아요

문제를 해결할 수 있었나요? 저는 Discourse 3.4.0.beta4-dev로 업데이트한 직후 동일한 문제를 겪고 있습니다.

두 설정 모두 올바르게 되어 있습니다:

Full name requirement: required at signup
Enable names: checked

하지만 이전과 달리 가입 화면에 이름(전체 이름) 필드가 여전히 표시되지 않습니다…

7개의 좋아요

문제는 여전히 존재합니다.
원인을 파악하기 위해 바빴습니다.

Discourse 인스턴스에서 무언가를 확인해 주시겠어요?
“로그인 필수” 상자를 해제하면 가입 양식에 이름 필드가 다시 나타납니까? :thinking:

8개의 좋아요

맞는 말씀인 것 같습니다. 로그인 필수 설정이 결정적인 차이네요 :clap:

Login required를 비활성화하면, 이름 필드가 예상대로 표시됩니다:



Login required를 활성화하면, 이름 필드가 사라집니다:

8개의 좋아요

결국 다시 나타납니다! 정말 이상하네요. 도대체 이 둘이 왜 관련이 있는 걸까요? 네, 확인하자면, ‘로그인 필요’ 상자를 해제하면 이름 필드가 다시 표시됩니다. 커뮤니티 콘텐츠를 일반 대중에게 완전히 공개하지 않고 문제를 해결할 수 있는 추가적인 방법이 있을까요? 감사합니다!

2개의 좋아요

이 수수께끼를 풀어주셔서 감사합니다. 버그를 수정하는 PR을 올립니다:

10개의 좋아요

네. 제가 먼저 할 일은 플러그인을 제거한 뒤 그것이 문제의 원인인지 확인하는 것입니다. Safe mode는 플러그인 개발자가 모든 것을 올바르게 설정한 경우에만 비활성화하는 데 효과적입니다.

수정: 아, 실수. 이미 제거하셨는데 제가 이해를 잘못한 것이라면 죄송합니다.

2개의 좋아요