[관리자 공지] 테마 또는 플러그인 중 업데이트가 필요한 코드가 포함되어 있습니다. (id:discourse.html-safe-helper)

경고 메시지 [subject]가 계속 표시되고 있으며, 어디서 발생하는지 명확하지 않습니다.

콘솔에 유사한 오류가 있습니다:

DEPRECATION NOTICE: `htmlSafe` from ‘discourse/helpers/html-safe’ is deprecated. Use `trustHTML` from ‘@ember/template’ instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]

플러그인과 테마 폴더에서 "htmlSafe"를 검색해 보았지만, 해당 코드가 포함된 활성 플러그인은 "docker_manager"뿐이었습니다. 이 플러그인은 비활성화(plugins/docker_manager 제거, config/official_plugins.json에서 항목 삭제)한 것으로 생각됩니다.

하지만 여전히 오류가 발생합니다. 다른 어디서 더 찾아봐야 할까요?

오류를 일으키는 테마 컴포넌트로 가는 링크가 있어야 합니다. Discourse_docker가 문제가 아닙니다.

무엇을 말씀하시는지는 잘 모르겠습니다. 테마는 파일 시스템이 아니라 데이터베이스에 저장되어 있기 때문에 그 방식으로 검색할 수 없습니다. 포럼 URL을 공유해 주시되(로그인 없이 접근 가능한 경우) 누군가가 그것을 찾는 데 도움을 드릴 수 있을 것입니다.

그렇지 않다고 생각합니다. @rbos의 이전 게시글을 참고하여 https://forum.pkp.sfu.ca/ 사이트를 확인해 보았는데, 브라우저 콘솔에서 다음과 같은 내용을 발견했습니다:

80b72542d6.css:1  Failed to load resource: the server responded with a status of 403 ()
deprecated.js:54 [THEME 14 'Versatile Banner'] DEPRECATION NOTICE: The file 'theme-14/discourse/components/versatile-banner-column.hbs' uses the deprecated .hbs extension. Refactor it to use '.gjs' instead. [deprecation id: discourse.hbs-extension] [info: https://meta.discourse.org/t/398896]
deprecated @ deprecated.js:54
deprecated.js:54 [THEME 14 'Versatile Banner'] DEPRECATION NOTICE: The file 'theme-14/discourse/components/versatile-banner.hbs' uses the deprecated .hbs extension. Refactor it to use '.gjs' instead. [deprecation id: discourse.hbs-extension] [info: https://meta.discourse.org/t/398896]
deprecated @ deprecated.js:54
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
app.js:367 ℹ️ Discourse v2026.8.0-latest.1 — https://github.com/discourse/discourse/commits/7df32723f1 — Ember v6.10.1
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
80b72542d6.css:1  Failed to load resource: the server responded with a status of 403 ()
Node cannot be found in the current page.

이 메시지가 어떤 컴포넌트에서 발생하는지에 대한 세부 정보를 찾을 수 없었습니다. 하지만 versatile banner부터 시작하는 것이 좋은 아이디어일 것 같습니다.

링크는 아닌 것 같지만 명확합니다. 최신 버전을 설치하면 될 것 같습니다.

왜 그것이 명백한지 설명해 주실 수 있나요? hbs 파일에 대한 비추천(deprecation) 메시지가 발생한다는 점은 명확히 보고 있습니다. 하지만 html-safe에 관한 메시지를 트리거한다는 지표는 보이지 않아요. 오래된 컴포넌트가 다른 메시지도 유발할 가능성이 있어 보이지만, 그 메시지를 유발하는 다른 컴포넌트가 없다는 것을 어떻게 알 수 있나요?

이상하네요. Docker 컨테이너의 Discourse 폴더에서 find를 실행해도 “theme-14” 디렉토리를 찾을 수 없어요. 그렇다면 어디서 가져와지는 건지 모르겠네요. 물론 그 비추천(deprecation) 통지를 봤지만, "html-safe"를 언급한 건 위에서 말한 그 하나뿐이었어요.

데이터베이스에 저장되어 있다는 점이 매우 흥미롭네요. 감사합니다. 저는 Discourse에 대해 깊이 있게 알고 있지 않아서, 테마가 파일 시스템에 있을 거라고 생각했거든요.

솔직히 이 소프트웨어는 일 년에 한 번 정도만 건드리는 정도입니다. :slight_smile:

(정확히 말씀드리면, Discourse가 얼마나 (거의) 튼튼한지 정말 감사하게 생각하고 있습니다! 제가 이렇게 생소하게 느끼는 것 자체가 여러분의 노력에 대한 칭찬이겠지요! 제가 잘 알고 있는 소프트웨어는 오히려 가장 많이 화가 나는 소프트웨어이기도 하니까요!)

업데이트: 포럼 관리자 웹 패널에 접속하여 "versatile"을 검색하니 해당 컴포넌트가 표시되었고, 그곳에서 업데이트를 진행한 결과 메시지가 사라졌습니다.

도움 주신 모든 분들께 감사드립니다.

업그레이시 자동 업데이트하도록 설정하는 옵션이 있습니다.