정상적으로 작동하는 것으로 보이지만, 설정에 점이 표시되어 있어 오버라이드된 상태인가요?
여기서 무슨 일이 일어나고 있는지 아시는 분 있나요?
P.S. 'custom header links’를 검색해 보았지만 이 문제를 언급하는 주제를 찾을 수 없습니다.
정상적으로 작동하는 것으로 보이지만, 설정에 점이 표시되어 있어 오버라이드된 상태인가요?
여기서 무슨 일이 일어나고 있는지 아시는 분 있나요?
P.S. 'custom header links’를 검색해 보았지만 이 문제를 언급하는 주제를 찾을 수 없습니다.
그 설정을 변경한 것 같습니다. 따라서 기본값을 덮어쓴 상태인데, 이 설정의 목적이 원래 그런 것이므로 그럴 가능성이 높습니다. 기본값은 일종의 예시와 같은 역할을 하며, 테마 구성 요소를 사용해 사용자 정의 링크를 추가하는 데 사용하니까요. 리셋 버튼을 사용하면 설정을 기본값으로 되돌릴 수 있습니다.
정말 이상했어요.
사이트를 처음 열었을 때 새 링크(외부, 인기, 개인정보처리방침)가 추가되어 있었거든요. 그런데 기존 링크들은 여전히 입력란에 그대로 남아 있었죠.
초기화(reset)를 누르자 커스텀 링크 설정이 사라져 버렸어요.
다행히 각 링크의 텍스트를 미리 저장해 두어서 다시 추가하고, 새로 생긴 링크들을 삭제했어요.
아무튼, 소프트웨어는 정말 이상하네요.
저도 이 부분에 대해 궁금했는데.. 실제로 설정 변수 이름이 변경되었습니다. DEV: Rename `Custom_header_links` settings to `custom_header_links` (… · discourse/discourse-custom-header-links@5006125 · GitHub 참고하세요.
@tgxworld 테마 컴포넌트의 최신 업데이트에 버그가 있습니다. 마이그레이션을 통해 설정 이름을 변경하려 하지만, 해당 시점에는 settings.yml에서 원래 설정 이름이 이미 변경되어 있습니다. 따라서 마이그레이션은 더 이상 구 설정에 접근할 수 없어 작동하지 않습니다. 이러한 종류의 마이그레이션은 두 단계로 나누어 수행해야 하며(테마 컴포넌트 마이그레이션의 작동 방식을 고려할 때, 두 단계 사이에 상당한 시간 간격을 두어야 합니다).
따라서 이 테마 컴포넌트를 업데이트하는 모든 사용자는 설정을 잃게 됩니다.
참고로, 설정을 초기화하는 대신 다시 저장하면 모든 문제가 해결될 것 같습니다.
제가 아는 한, GUI에서 테마 컴포넌트를 별도로 업데이트할 때만 작동하며, 더 큰 업데이트(예: rake 태스크)의 일부로 TC가 업데이트될 때는 작동하지 않습니다.
전체 사이트를 업데이트하면 링크가 기본값으로 설정된 것을 확인한 후 custom header links 테마 설정을 다시 저장하면 작동할 것 같습니다.
하지만 그렇게 하지 않고 대신 리셋 버튼을 누르기 쉽습니다. ![]()
저한테는 이 방법이 잘 작동했습니다. 설정이 정상적으로 보였기 때문에 무슨 일이 일어나고 있는지 파악하는 데 꽤 시간이 걸렸습니다. 결국 기본 테마에서 테마 컴포넌트를 제거해서 문제를 해결했는데(이 컴포넌트가 사이트를 실제로 더 나쁘게 만들고 있었기 때문이었습니다), 다른 테마를 사용할 때는 이미 정상적으로 작동하고 있다는 것을 확인했습니다.
수정 방법이 너무 쉬워서 자연스럽게 해결하게 되어 다행이지만, Discourse를 업데이트한 후 링크가 변경되고 있는 것을 발견했을 때는 꽤 충격적이었습니다. :-("}
우리는 데이터베이스에서 설정의 키를 저장하는 오버라이드된 테마 설정을 가져옵니다하므로, settings.yml의 내용은 마이그레이션에 전혀 영향을 미치지 않습니다. 여기서는 캐시를 정리하지 않고 있는 것이 문제일 것 같습니다.
그것이 우리가 의도한 설계 방식이 아닙니다. 테마 업데이트 방식을 통제할 수 없으므로, 2단계 마이그레이션을 수행할 수 없습니다.
즉, 이는 마이그레이션 시스템에서 최근 발생한 회귀(regression) 문제입니다. 테마 마이그레이션이 실행된 후에도 테마의 캐시가 업데이트되지 않는 문제였죠. 이 문제는
에서 수정되었습니다.
하지만 이는 사실과 다릅니다. 설정이 실제로 사라지는 것이 아니라, 캐시가 데이터베이스의 오버라이드 값 대신 설정의 기본값을 사용하게 되기 때문입니다.
설명을 해 주시고 신속하게 조치해 주셔서 감사합니다.
Easy Footer 컴포넌트를 업데이트한 후에도 동일한 문제가 발생하고 있습니다. 프론트엔드와 백엔드 UI 모두에서 모든 사용자 설정이 사라졌습니다.
이로 인해 커뮤니티 관리자분들께 상당한 혼란을 주고 있습니다. 백엔드에서 "초기화"를 누르면 모든 설정을 다시 하는 데 상당한 시간이 걸리며, 특히 Footer 컴포넌트는 Header 링크보다 더 오래 걸립니다.
위 PR이 병합되면서 core의 문제였다는 것으로 확인되어 수정되었습니다.
테마 컴포넌트를 업데이트했을 때 Discourse의 버전(커밋)이 무엇이었는지 아시나요?
네, 방금 게시글을 수정하려고 하던 참이었는데요. 이건 최신 안정 버전인 3.2에서도 발생했습니다. 그래도 안정 버전에서도 수정되어야 할 것 같은데, 그렇지 않으면 컴포넌트 설정의 모든 변경 사항이 더 높은 버전에 고정되어야 하는 건가요?
아, 맞아요. @tgxworld, 안정성(stable) 버전에서 어떤 접근 방식이 가장 적절한지 생각해 봅시다. (코어 수정 사항을 백포트할지, 아니면 설정 마이그레이션을 사용하는 컴포넌트에 호환성 관련 제약을 둘지.)
그것은 이미 2일 전에 완료되었습니다. FIX: Update themes javascript cache after running themes migrations (… · discourse/discourse@39dffcb · GitHub
@manuel, 설치 환경의 커밋 해시는 무엇인가요?
아 맞다, 내 실수야. 이 서버를 업데이트하지 않았었어! 미안해, guys. 지금은 스테이징 환경에서만 돌아가는데, 클라이언트가 왜 전부 초기화됐는지 문의해서야.