이 플러그인을 수년간 사용해 왔는데, 최근에는 동작이 좀 불안정합니다.
문제는 my/preferences/profile에서 생일을 설정할 수 있고 저장되었다고 표시되지만, 실제로는 생일 날짜가 저장되지 않아 페이지를 새로고침하면 사라진다는 것입니다.
그러나 다른 Discourse 인스턴스(동일 버전)에서는 이 현상이 일부 계정에서만 발생하고 다른 계정에서는 발생하지 않는 것 같습니다. 패턴을 파악하지 못했지만, 다른 사용자들도 영향을 받고 있으므로 제 문제만은 분명 아닙니다.
3.5.4에서 현재 ESR(2026.1.3)으로 업그레이드한 후에야 이 문제를 알게 되었습니다. 이제 이 기능은 코어에 포함되어 있습니다. 생일을 저장하는 것처럼 보이지만 실제로는 유지되지 않는 현상을 경험하고 계신 다른 분이 계신가요?
버그를 확인했고 재현 방법도 찾았다고 생각해서 후속 보고를 드립니다.
이 문제는 hide_profile 프로필 설정이 활성화된 경우에만 발생하는 것 같습니다. 이 경우 프로필 편집 화면의 생일 필드가 예상대로 작동하지 않는 것 같습니다(저장되지 않는 것으로 보입니다). 반면, hide_profile이 비활성화되어 있으면 이전에 저장된 생일이 표시됩니다. 이 문제가 다음 PR에서 도입되었을 수 있다고 생각합니다:
FIX: respect user's hide profile when showing their birthdate & cakeday - Pull Request #152 - discourse/discourse-cakeday - GitHub
일단 @zogstrip 님을 호출하고, 답변이 없으면 Contribute > Bug 채널에 공유하겠습니다.
보고해 주셔서 감사합니다 @mentalstring 다음을 통해 수정될 예정입니다
main ← fix/cakeday-birthdate-hide-profile
merged 02:41PM - 07 Apr 26 UTC
When a user has "hide profile" enabled, the cakeday serializer include condition… s excluded birthdate and cakedate entirely — even when the user was viewing their own profile or preferences.
This meant saving a birthday appeared to work, but the field showed up empty on page reload because the serializer stripped it from the response.
The fix adds a self-view bypass (`scope.user.id == object.id`) to all four serializer include conditions (user, user_card, and post serializers) so users always see their own cakeday data regardless of their hide_profile setting. Other users still cannot see it.
https://meta.discourse.org/t/38447/232
2개의 좋아요