Horizon 테마에서 리뷰 큐가 작동하지 않음

Horizon 테마에서 플래그가 지정된 주제의 검토 대기열(Review Queue)을 사용할 때, 페이지가 제대로 작동하지 않고 콘솔에 매우 이상한 오류가 발생합니다.

첫째, 플래그가 지정된 게시글 하단의 드롭다운 선택이 작동하지 않습니다. 드롭다운은 표시되지만, YesIgnore 버튼을 클릭해도 드롭다운이 열리지 않습니다. No 버튼은 여전히 작동하지만, 클릭한 후 페이지가 멈춥니다.

기본 테마로 전환하면 이러한 문제가 사라지므로, 테마 관련 문제인 것 같습니다. 이 사이트는 latest 버전의 communiteq.com에 호스팅되어 있습니다.

아래는 콘솔 로그입니다:

app.js:271 ℹ️ Discourse v3.6.0.beta1 — https://github.com/discourse/discourse/commits/d63a24313a — Ember v6.6.0
deprecate.js:72 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.
(anonymous) @ deprecate.js:72
deprecate.js:72 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.
(anonymous) @ deprecate.js:72
deprecated.js:62 \[THEME 4 ‘Inline PDF Previews’\] Deprecation notice: Accessing `site.mobileView` or `site.desktopView` during the site initialization can lead to errors and inconsistencies when the browser window is resized. Please move these checks to a component, transformer, or API callback that executes during page rendering. \[deprecated since Discourse 3.5.0.beta9-dev\] \[deprecation id: discourse.static-viewport-initialization\] \[info: https://meta.discourse.org/t/367810\]
a @ deprecated.js:62
deprecate.js:72 DEPRECATION: \[PLUGIN z-communiteq-features\] 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.
(anonymous) @ deprecate.js:72
deprecate.js:72 DEPRECATION: \[PLUGIN z-communiteq-features\] 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.
(anonymous) @ deprecate.js:72
site.js:216 ✅  Using the new ‘glimmer’ post stream!
deprecate.js:72 DEPRECATION: \[PLUGIN discourse-legal-compliance\] 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.
(anonymous) @ deprecate.js:72
index.js:51 Uncaught (in promise) TypeError: Invalid value used as weak map key
at WeakMap.set ()
at p.helper (index.js:51:71)
at m (index.js:89:20)
at index.js:253:60
at w (index.js:266:7)
at o (index.js:1210:5)
at index.js:636:33
at S.compile (index.js:448:14)
at x (index.js:461:43)
at index.js:935:11
at V (index.js:979:3)
at index.js:1084:5
at index.js:178:11
at w (index.js:192:7)
at o (index.js:1210:5)
at index.js:1083:30
at S.compile (index.js:448:14)
at index.js:1212:49
at index.js:1214:1
at ei.compile (index.js:1193:5)
at tH.compile (index.js:3771:31)
at Object.evaluate (index.js:506:25)
at Object.evaluate (index.js:103:106)
at tr.evaluateSyscall (index.js:2873:20)
at tr.evaluateInner (index.js:2852:64)
at tr.evaluateOuter (index.js:2849:10)
at tH.next (index.js:4167:45)
at tH.\_execute (index.js:4157:21)
at tH.execute (index.js:4133:41)
at tj.handleException (index.js:3450:19)
at tR.handleException (index.js:3592:52)
at tF.throw (index.js:3414:16)
at G.evaluate (index.js:565:42)
at tF.\_execute (index.js:3401:34)
at tF.execute (index.js:3393:17)
at tU.rerender (index.js:3610:8)
at tq.render (index-BCp6wOJU.js:4639:55)
at index-BCp6wOJU.js:4934:16
at eX (index.js:2414:7)
at tG.\_renderRoots (index-BCp6wOJU.js:4914:7)
at tG.\_renderRootsTransaction (index-BCp6wOJU.js:4962:12)
at tG.\_revalidate (index-BCp6wOJU.js:4995:10)
at invoke (index.js:262:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at q.\_end (index.js:762:32)
at index.js:499:12
container.gjs:270 Uncaught TypeError: Cannot read properties of null (reading ‘postStream’)
at R.calculatePosition (container.gjs:270:30)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at R. (index.js:250:23)
at R.postScrolled (container.gjs:413:10)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at r. (index.js:250:23)
at q (cache-fCezwMOy.js:471:12)
at r.trigger (evented.js:68:5)
at J.currentPostScrolled (topic.js:541:20)
at #rT (post-stream-viewport-tracker.js:723:30)
at #rS (post-stream-viewport-tracker.js:759:35)
at invoke (index.js:264:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at q.\_end (index.js:762:32)
at q.end (index.js:565:10)
at q.\_runExpiredTimers (index.js:869:12)
container.gjs:270 Uncaught TypeError: Cannot read properties of null (reading ‘postStream’)
at R.calculatePosition (container.gjs:270:30)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at R. (index.js:250:23)
at R.postScrolled (container.gjs:413:10)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at r. (index.js:250:23)
at q (cache-fCezwMOy.js:471:12)
at r.trigger (evented.js:68:5)
at J.currentPostScrolled (topic.js:541:20)
at #rT (post-stream-viewport-tracker.js:723:30)
at #rS (post-stream-viewport-tracker.js:759:35)
at invoke (index.js:264:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at q.\_end (index.js:762:32)
at q.end (index.js:565:10)
at q.\_runExpiredTimers (index.js:869:12)
calculatePosition @ container.gjs:270
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
postScrolled @ container.gjs:413
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
q @ cache-fCezwMOy.js:471
trigger @ evented.js:68
currentPostScrolled @ topic.js:541
#rT @ post-stream-viewport-tracker.js:723
#rS @ post-stream-viewport-tracker.js:759
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_later @ index.js:823
debounce @ index.js:680
C @ index.js:713
r @ debounce.js:26
#rp @ post-stream-viewport-tracker.js:897
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_reinstallTimerTimeout @ index.js:896
debounce @ index.js:701
C @ index.js:713
r @ debounce.js:26
onScroll @ post-stream-viewport-tracker.js:573
\_run @ index.js:804
\_join @ index.js:783
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
container.gjs:270 Uncaught TypeError: Cannot read properties of null (reading ‘postStream’)
at R.calculatePosition (container.gjs:270:30)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at R. (index.js:250:23)
at R.postScrolled (container.gjs:413:10)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at r. (index.js:250:23)
at q (cache-fCezwMOy.js:471:12)
at r.trigger (evented.js:68:5)
at J.currentPostScrolled (topic.js:541:20)
at #rT (post-stream-viewport-tracker.js:723:30)
at #rS (post-stream-viewport-tracker.js:759:35)
at invoke (index.js:264:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at q.\_end (index.js:762:32)
at q.end (index.js:565:10)
at q.\_runExpiredTimers (index.js:869:12)
calculatePosition @ container.gjs:270
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
postScrolled @ container.gjs:413
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
q @ cache-fCezwMOy.js:471
trigger @ evented.js:68
currentPostScrolled @ topic.js:541
#rT @ post-stream-viewport-tracker.js:723
#rS @ post-stream-viewport-tracker.js:759
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_later @ index.js:823
debounce @ index.js:680
C @ index.js:713
r @ debounce.js:26
#rp @ post-stream-viewport-tracker.js:897
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_reinstallTimerTimeout @ index.js:896
debounce @ index.js:701
C @ index.js:713
r @ debounce.js:26
onScroll @ post-stream-viewport-tracker.js:573
\_run @ index.js:804
\_join @ index.js:783
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
container.gjs:270 Uncaught TypeError: Cannot read properties of null (reading ‘postStream’)
at R.calculatePosition (container.gjs:270:30)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at R. (index.js:250:23)
at R.postScrolled (container.gjs:413:10)
at q.\_join (index.js:788:21)
at q.join (index.js:605:17)
at p (index.js:152:22)
at r. (index.js:250:23)
at q (cache-fCezwMOy.js:471:12)
at r.trigger (evented.js:68:5)
at J.currentPostScrolled (topic.js:541:20)
at #rT (post-stream-viewport-tracker.js:723:30)
at #rS (post-stream-viewport-tracker.js:759:35)
at invoke (index.js:264:14)
at m.flush (index.js:180:11)
at g.flush (index.js:334:19)
at q.\_end (index.js:762:32)
at q.end (index.js:565:10)
at q.\_runExpiredTimers (index.js:869:12)
calculatePosition @ container.gjs:270
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
postScrolled @ container.gjs:413
\_join @ index.js:788
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250
q @ cache-fCezwMOy.js:471
trigger @ evented.js:68
currentPostScrolled @ topic.js:541
#rT @ post-stream-viewport-tracker.js:723
#rS @ post-stream-viewport-tracker.js:759
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_later @ index.js:823
debounce @ index.js:680
C @ index.js:713
r @ debounce.js:26
#rp @ post-stream-viewport-tracker.js:897
invoke @ index.js:264
flush @ index.js:180
flush @ index.js:334
\_end @ index.js:762
end @ index.js:565
\_runExpiredTimers @ index.js:869
setTimeout
setTimeout @ index.js:39
\_installTimerTimeout @ index.js:912
\_reinstallTimerTimeout @ index.js:896
debounce @ index.js:701
C @ index.js:713
r @ debounce.js:26
onScroll @ post-stream-viewport-tracker.js:573
\_run @ index.js:804
\_join @ index.js:783
join @ index.js:605
p @ index.js:152
(anonymous) @ index.js:250

3개의 좋아요

보고해 주셔서 감사합니다. 하지만 현재 로컬이나 이 사이트에서 해당 문제를 재현할 수 없습니다.

/review 루트를 말씀하시는 건가요?

Horizon 테마에 설치된 테마 컴포넌트가 있나요?

3개의 좋아요

@RGJ 혹시 모르고 계실까 봐 알림을 드립니다.

@nathank 이 문제가 여러 사이트에서 발생하고 있나요, 아니면 특정 사이트에서만 일어나나요? 그렇다면 tgx의 말대로 해당 사이트에서 활성화된 테마의 구성 요소를 확인해 보시는 것이 좋겠습니다.

2개의 좋아요

법적 준수 플러그인에 문제가 있는 것 같습니다. 조사 중입니다.

수정: 문제를 찾아서 수정했습니다. @nathank, 문제가 해결되었는지 확인해 주시겠어요?

4개의 좋아요

네, 이제 완벽하게 작동합니다.

Discourse 팀(불필요하게 귀찮게 해서 죄송합니다)과 @RGJ님께 감사드립니다!

3개의 좋아요

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 새 답글을 작성할 수 없습니다.