사이트 관리자 한 분이 로고를 업데이트하려고 하시는데, "죄송합니다. 업로드가 허용된 파일이 없습니다"라는 오류가 발생하고 있습니다. 제 코드 분석 결과, 이 오류는 authorizesOneOrMoreExtensions가 false를 반환할 때만 보고되어야 하며, 해당 함수는 사용자가 스태프이고 authorized_extensions_for_staff에 *가 포함된 경우 true를 반환해야 합니다. 그리고 이 사이트의 설정은 다음과 같습니다:
discourse(prod)> SiteSetting.authorized_extensions
=> ""
discourse(prod)> SiteSetting.authorized_extensions_for_staff
=> "*"
이러한 상황에서 해당 오류가 어떻게 발생할 수 있는지 다소 혼란스럽습니다. 아마도 제가 코드의 작동 방식을 잘못 이해하고 있는 것 같습니다. 제가 무엇을 잘못 파악하고 있는지, 혹은 추가적으로 조사해 볼 방향에 대한 조언을 주시면 감사하겠습니다.
제가 지원하는 사용자가 실제로 관리자로 로그인되어 있다는 점은 비교적 확신합니다. 해당 사용자가 공유해 준 스크린샷(비공개 정책상 공개적으로 게시할 수 없어 죄송합니다)에는 “Admin > Site logo” 페이지 위에 aforementioned 오류 다이얼로그가 표시되어 있기 때문입니다. 비스태프 멤버가 해당 화면에 도달할 수 있는 그럴듯한 설명이 있다면, 사용자 파일 확장자 설정을 일시적으로 변경해 보는 것도 고려해 보겠습니다. 하지만 사이트 소유자들은 일반 사용자의 미디어 업로드를 엄격히 제한하길 원하고 있으므로, 가볍게 진행할 수 있는 사항은 아닙니다.