ma0sm
(Steven Morgan)
3월 26, 2025, 8:49오전
1
재현 단계
https://community.drownedinsound.com 에서 새 계정을 생성합니다.
사용자 이름에 + 기호가 포함된 Gmail 이메일 주소를 사용합니다. 예: jobloggs+discourse@gmail.com
로그아웃합니다.
기대 결과
이메일로 새 사용자 가입 요청을 받게 됩니다.
실제 결과
jobloggs+discourse@gmail.com 이메일로 "계정이 이미 존재합니다"라는 메일을 받게 됩니다.
비고
가입 후에도 계정 존재 여부를 알리는 통지에 새 이메일 주소가 사용되지 않습니다. 예컨대 1월 6일 이전에는 이 사이트에서 이런 일이 발생하지 않았으며, Discourse가 이전에는 이러한 방식으로 동작하지 않았습니다. 그 이후로 사이트 업그레이드가 최소 한 번 이루어졌고, 그 이후부터 이 버그가 도입되었습니다.
Richie
(Richie Rich)
3월 26, 2025, 8:56오전
2
이 문제는 normalize_emails 설정의 상태에 따라 이메일 주소에서 + 기호를 사용할 때 Discourse에서 HTTP/500 오류가 발생하는 것과 관련이 있을 수 있습니다:
Discourse 3.4.0.beta4-dev (5bc7371192 ).
사용자는 이전에 사용했던 이메일 주소를 다시 변경할 수 없습니다.
재현 방법:
계정 이메일 주소를 + 기호가 포함된 것으로 변경합니다. 예: your+name@example.com
(여기서 + 기호가 중요한 역할을 할 수도 있고, 단순한 혼동일 수도 있습니다)
이메일 안내에 따라 변경 사항을 확인합니다
이메일 주소를 이전 값으로 다시 변경합니다. 예: yourname@example.com
이메일 안내에 따라 변경 사항을 확인합니다
프론트엔드에서 오류가 발생합니다:
[Screenshot 2025-02-04 at 11.25.30]
그 후 사용자는 다음과 같은 상태에 갇힙니다:
[Screenshot 2025-02-04 at 11.30.34]
/logs 페이지의 오류:
lib/email_updater.rb:136:in `update_user_email'
lib/email…
ma0sm
(Steven Morgan)
3월 26, 2025, 11:53오전
3
확인해 주셔서 감사합니다. 말씀하신 대로 맞습니다. 업그레이드 과정에서 normalize_emails 설정이 변경되었고, normalize_emails가 설정된 상태에서 이미 + 기호를 사용한 이메일 계정이 있는 경우 버그가 발생하는 문제였습니다.
Richie
(Richie Rich)
3월 26, 2025, 12:12오후
4
사용자가 + 기호가 포함된 이메일 주소로 변경을 시도할 때 발생하는 500 치명적 오류의 원인도 이 설정일 것 같습니다.
이미 그러한 계정이 존재하는 경우 활성화되어서는 안 되지 않을까요?