이전 후 일부 아이콘이 표시되지 않습니다

안녕하세요,
I. Discourse의 이상한 동작에 대해 보고드리고 싶습니다. 현재 2.7.0.beta7 버전을 사용 중이며, 최근 내부 네트워크에서 공개 인터넷으로 이전(또는 정확히 말하면 연결)했습니다. 여기에서 이상한 문제가 발생하고 있습니다.
대부분의 아이콘(클릭하는 것들)이 사라졌습니다. 아래 이미지와 같습니다:


하지만 일부는 정상적으로 작동합니다. 조사를 시도해 보았지만 어떤 패턴도 찾을 수 없었습니다. 아니면 제가 그냥 찾지 못하는 것일 수도 있고요.

직접 확인해 보실 수 있는 링크입니다: https://community.robotict.com

어떤 생각이든 공유해 주시면 정말 감사하겠습니다.
II. 또한 (아마도 관련 없는 문제일 수도 있지만) - 사용자 지정 CSS 편집기가 작동하지 않습니다. 이전에 추가했던 CSS가 반 초 정도 보이다가 사라집니다. 콘솔에는 ace.js에 문제가 있다는 메시지가 표시됩니다.

Uncaught TypeError: this.element.style is undefined
    i ace.js:1
    a ace.js:1
    y ace.js:1
    edit ace.js:1
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:315
    n ace.js:1
    a ace.js:1
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:303
    jQuery 10
    onreadystatechange _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10090
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10083
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10168
    jQuery 2
    c _application-860b04b192b4dea3c5cb7e8d5e3d423bcf05a15ff2f4d8faf26a5d550ab169d2.js:10130
    didInsertElement _admin-58c216d6bb14f7ee8451b6ef94ece0c6ea56c69b044ed8f4eea7934ec2ca3df8.js:302
    jQuery 26
ace.js:1:247491

:pray: 미리 감사드리며, 따뜻한 인사드립니다 :heart:
Roman

위쪽 아이콘이 없는 버튼은 무엇을 하는 버튼인가요? 플러그인이나 테마 컴포넌트가 이를 추가하는 것 같고, 아이콘을 제대로 등록하지 못한 것일 수도 있습니다.

이 문제는 플러그인 때문일 수도 있습니다. 확인하는 방법 중 하나는 /safe-mode로 이동하여 모든 플러그인과 테마를 비활성화한 후 CSS 편집이 정상적으로 작동하는지 확인하는 것입니다. 만약 정상적으로 작동한다면, 플러그인 관련 문제입니다.

렌치 아이콘(토픽 작업)이 있었습니다. 또한 스크린샷에서 (볼 수) 없듯이, “답글” 텍스트 왼쪽에는 일반적으로 하트, 체인, 연필, 북마크 아이콘이 표시됩니다.
제시해 주신 조언대로 확인해 보겠습니다.
업데이트, 안전 모드에서 시도해 보았지만 변경된 것이 없습니다 :frowning:

음, 네, 좀 이상하네요. 사이트에서 어떤 플러그인을 사용 중이신지 공유해 주시겠어요?

업데이트: 정말 이상한 문제인데, 앱의 일부 위치에서는 아이콘에 지속적으로 문제가 발생하지만 다른 위치에서는 그렇지 않아요. 다시 배포해 보시는 건 어떨까요?

네, 정말 이상하네요.
우리는 다음 두 플러그인만 사용하고 있습니다:

  • docker_manager v0.1
  • styleguide v0.2

음, @romanhruska 가능한 설명을 하나 찾았어요.

인스턴스에서 SVG 네임스페이스 상수에 https 접두사를 강제하는 뭔가가 있는 것 같아요. JS 코드를 살펴보니, 코어에서 이 라인에 해당하는 값이 https://www.w3.org/2000/svg로 반환되고 있는데, 코어를 보면 http://www.w3.org/2000/svg여야 합니다. (로컬에서도 테스트해봤는데, 해당 라인을 https로 수정하니 완벽하게 재현됩니다.)

이런 동작을 하는 패치가 있나요? 없다면, 서버에서 JS의 모든 http 문자열을 https로 변환하는 마법을 부리고 있는 건가요?

펑!
정말 맞으셨네요. 그게 문제였습니다. 이제 서버 담당자들이 설정을 변경했고, 아이콘과 에디터가 정상적으로 작동합니다! 정말 감사합니다!!!

아직 혼합 콘텐츠(mixed-content) 경고와 씨름하고 있습니다. 아이콘이나 로고 같은 일부 이미지가 코드에서 HTTP://로 지정되어 있는데, 서버의 설정이 이 이미지에는 적용되지 않는 것 같습니다. 이 문제에 대해 아이디어가 있으신가요?

다시 한번 조언해 주셔서 감사합니다!

오, 훌륭하네요!

사이트가 내부적으로 http에서 https로 이동한 적이 있나요? SiteSetting.force_https가 true를 반환하도록 확인해야 할 수 있으며, 만약 그렇다면 rebake를 수행해야 할 수 있습니다. 커맨드 라인에서 bundle exec rake posts:rebake를 실행해야 합니다.