누군가 이 부분을 이해하는 데 도움을 줄 수 있을까요? 설정이 반대 방향으로 작동할 거라고 기대하고 있어서, 아주 명백한 것을 놓치고 있는 것 같습니다.
설명의 내용은 다음과 같습니다.
메인 토픽 목록 페이지에 배너를 표시하여 회원들을 환영하고 사이트 콘텐츠 검색을 허용합니다.
그래서 저는 이렇게 기대했습니다:
체크박스 선택 → 환영 배너 표시
체크박스 해제 → 배너 표시 안 함
하지만 정반대의 상황이 발생합니다:
누군가 이 부분을 이해하는 데 도움을 줄 수 있을까요? 설정이 반대 방향으로 작동할 거라고 기대하고 있어서, 아주 명백한 것을 놓치고 있는 것 같습니다.
설명의 내용은 다음과 같습니다.
메인 토픽 목록 페이지에 배너를 표시하여 회원들을 환영하고 사이트 콘텐츠 검색을 허용합니다.
그래서 저는 이렇게 기대했습니다:
체크박스 선택 → 환영 배너 표시
체크박스 해제 → 배너 표시 안 함
하지만 정반대의 상황이 발생합니다:
정말 이상하네요… 제 환경에서는 재현이 안 됩니다. 혹시 실수로 오래된 컴포넌트가 아직 설치되어 있는 건 아니죠?
@yuriy 이게 왜 발생하는지 혹시 아이디어가 있으신가요?
Discourse에서 호스팅하는 사이트이므로, 누구나 직접 시도해 볼 수 있습니다.
컴포넌트 없이 Foundation에서 재현할 수 있었습니다.
업데이트 시점의 설정이 표시되는 것 같다는 인상을 받고 있습니다. 배너를 20시간 전에 활성화했고, 16시간 전에 업데이트가 있었습니다. 이후 배너를 제거하는 데 문제가 발생했습니다. 하지만 8시간 전에 또 다른 업데이트가 된 후부터는 상황이 나아졌습니다. 지금은 배너가 거의 표시되지 않습니다. 즉, 설정이 활성화되어 있더라도 배너가 자주 표시되지 않는 것입니다.
또한, 배너를 활성화했다가 빠르게 비활성화하거나(또는 그 반대의 경우) 문제가 발생하는 것 같습니다.
개발자가 확인 결과 문제가 있는 것 같다고 하네요. 현재 조사 중입니다. 조금만 기다려 주세요.
앱에서 새로고침을 해도 이 문제가 계속되는 것이 좀 이상하네요
서버에서 이 값들을 저장할 때 여기에서 클라이언트로 MessageBus 메시지를 보내는데, 이 메시지는 반응형 UI를 업데이트해야 합니다:
하지만 어딘가에서 설정 값의 true/false가 뒤바뀐 것처럼 보입니다? 사이트의 rails 콘솔에서 다음을 실행해 보면 어떤 값이 보이는지 확인해 주시겠어요?
SiteSetting.theme_site_settings
다음과 같은 결과가 표시됩니다. 숫자는 테마 ID를 나타냅니다:
{1=>{:enable_welcome_banner=>false, :search_experience=>"search_icon"},
-1=>{:enable_welcome_banner=>false, :search_experience=>"search_icon"},
-2=>{:enable_welcome_banner=>false, :search_experience=>"search_field"}}
값을 토글(전환)해 보고 어떤 값이 나타나는지 확인해 보세요 (값을 변경할 때마다 rails 콘솔을 닫았다가 다시 열어야 합니다).
그 다음 이것도 시도해 보세요:
SiteSetting.theme_site_settings_json(THEME_ID)
여기서 THEME_ID를 문제가 있는 테마의 ID로 교체하면 됩니다.
수정: 이것이 호스팅 사이트에서 발생한 문제인 줄 몰랐네요. 제가 확인해 보겠습니다 ![]()
현재 호스팅 사이트에서 해당 테마가 정상적으로 동작하는 것 같습니다. 다만 다음 내용은 흥미롭습니다:
일단 지켜보다가 계속 반복되는지 확인해 보는 것은 어떨까요? 또한 호스팅 사이트 관련 세부 사항을 더 논의하고 싶으시다면 저에게 사설(PM)을 보내 주세요.
다시 내가 망친 것 같아. 언제 고쳐질지는 모르겠어
Foundation 테마에서는 활성화되어 있지만 보이지 않고, 기본 테마에서는 비활성화되어 있지만 보여.
방금 사용자의 사이트에 로그인해 보았지만, 기본 테마(Default theme)에서는 해당 항목을 볼 수 없었습니다. 또한 /admin/customize/themes/1 경로에서 비활성화되어 있는 것을 확인했습니다. 해당 항목을 켜고 다시 끄자 다른 탭에서 표시되었다가 숨겨졌습니다.
Foundation 테마에서도 해당 항목을 볼 수 없었지만, 관리자 화면에서는 활성화되어 있습니다. 잠시만 기다려 주세요. 문제를 확인할 수 있는지 살펴보겠습니다.
흥미롭네요. 테스트 사용자 계정으로 로그인했을 때도 제가 확인이 가능했습니다. 아마 스스로 해결된 것 같습니다.
아, 새로고침을 했는데 제가 아무것도 안 했는데도 여기서는 자동으로 해결됐네요 ![]()
우리는 각 테마별로 테마 사이트 설정을 30분 캐시로 캐싱합니다:
하지만 어떤 테마의 사이트 설정이 변경될 때마다 이 캐시가 의도적으로 비워져야 합니다:
그러니까 특정 엣지 케이스에서 이것이 발생하지 않는 건 아닐까요?
3시간 전에 기본 테마에서 배너를 다시 활성화해서 다음 업데이트 후에 어떤 일이 생길지 확인해 보았습니다. 처음에는 표시가 되었는데, 지금은 다시 사라졌습니다. 설정은 여전히 활성화되어 있습니다.
사이트 업데이트 당시의 상태를 선호하는 것 같습니다.
수정: 이제 배너가 다시 나타났습니다
수정2: 사라졌습니다
수정3: 다시 나타났습니다
수정4: 사라졌습니다
수정5: 다시 나타났습니다
Moin, 감사합니다… 이건 정말 예상치 못한 일인데, AFAIK(제가 아는 한) 아직까지 이 문제를 경험한 사람은 당신뿐인 것 같습니다. 문제를 재현해볼 수 있는지 확인하기 위해 제 테스트 사이트를 만들어 변경 사항을 적용하고 배포해 보겠습니다. 그러면 문제를 추적하는 데 도움이 될 수도 있을 것 같습니다.
특히 UI 자체가 계속 왔다 갔다 한다는 점을 고려하면, 확실히 캐싱 문제인 것 같은 느낌이 듭니다. 하지만 관리자 화면에서는 해당 설정이 여전히 활성화되어 있는 것을 볼 수 있습니다.
특히 첫 번째 변경 사항이 제대로 작동하지 않는 것 같습니다.
어제 Foundation에서 배너를 활성화했는데, 약 25분 후에 배너가 표시되었습니다. 이는 말씀하신 약 30분 정도와 일치합니다.
이제 다시 시도해 보았습니다. Foundation에서 비활성화하니 배너가 사라졌지만, 새로고침 후 다시 나타났습니다. 제 사용자 계정만의 문제가 아닙니다. 항상 개인 탭에서 테스트 계정으로 확인하고 있습니다. 하지만 30분 후에도 여전히 표시됩니다.
업데이트: 이제 사라졌습니다. 따라서 약 1시간이 걸린 것입니다.
글을 올린 지 30분이 지났기 때문인지는 잘 모르겠어요:
![]()
아니면 사이트 콘솔에서 이것을 실행하면서 무언가를 변경한 것일 수도 있어요:
SiteSetting.theme_site_settings_json(-1)
=> "{\"enable_welcome_banner\":false,\"search_experience\":\"search_field\"}"
하지만 분명히 표시되는 것을 보고 콘솔에서 그걸 실행했는데, 그 후에는 사라져 있었어요
확실히 캐싱 문제인 것 같아요…
아직까지 제 호스팅 사이트에서는 배포를 통해서도 재현이 되지 않습니다. 이 문제는 좀 까다롭네요!