오늘 discourse-solved 업그레이드 후 사이트가 마비되었습니다

사이트가 흰 화면으로 뜨고 계속 로딩 중 상태인데, 결국 메모리 부족 오류가 발생했습니다…
플러그인을 비활성화하면 사이트가 평소처럼 정상으로 돌아옵니다 :rofl:

감사합니다! 저도 같은 문제를 겪고 있었어요. 테마 컴포넌트를 전부 비활성화했는데도 여전히 작동하지 않더라고요…

그 문제에 대해 무엇을 했나요 :joy: @Dannii

미해결된 비추천(deprecation) 이슈에 대해 열린 PR이 있지만, 그것이 원인이 되는지는 알 수 없습니다.

https://meta.discourse.org/t/discourse-solved/30155/348?u=lilly

내 탓인 것 같아… 한 번 확인해볼게 :blush:

이상하게도 테스트는 통과했어.

수정이 진행 중입니다. :slightly_smiling_face:

하, 재미있네요. 방금 이걸 봤거든요:

image

이걸 찾아내줘서 고마워요, @David.

비공고(deprecation notice)에도 이렇게 나와 있습니다 :man_facepalming:

or if you still need the fallback shim, use import { getOwnerWithFallback } from 'discourse-common/lib/get-owner';

불편을 드려 죄송합니다!

걱정 마세요, 이런 문제는 테스트 스위트에서 잡아줘야 하는 거예요! 곧 개선할 예정입니다 :eyes:

PR이 이제 병합되었으니, discourse-solved 업데이트를 실행해 보시기 바랍니다 @Dennis_P_Z @Dannii

문제가 생겨도 여러분은 정말 훌륭해요. :tada: :slight_smile:

빠른 조치해 주셔서 감사합니다, 팀! @david @merefield @Arkshine @Dannii

discourse-solved를 최신 리비전으로 업데이트한 후에도 여전히 오류가 발생합니다:

solved-status-filter.js:32 Uncaught (in promise) TypeError: (0 , s.getOwnerWithFallback) is not a function
    at shouldRender (solved-status-filter.js:32:1)
    at plugin-connectors.js:166:1
    at Array.filter (<anonymous>)
    at e.renderedConnectorsFor (plugin-connectors.js:164:1)
    at get connectors [as connectors] (plugin-outlet.js:126:1)
    at Ce (index.js:1251:1)
    at reference.js:175:1
    at reference.js:136:1
    at e.track (validator.js:668:1)
    at f (reference.js:135:1)
    at index.js:5588:1
    at reference.js:136:1
    at e.track (validator.js:668:1)
    at f (reference.js:135:1)
    at index.js:5588:1
    at reference.js:136:1
    at e.track (validator.js:668:1)
    at f (reference.js:135:1)
    at reference.js:312:1
    at reference.js:136:1
    at e.track (validator.js:668:1)
    at f (reference.js:135:1)
    at Object.evaluate (runtime.js:3440:1)
    at Object.evaluate (runtime.js:1052:1)
    at It.evaluateSyscall (runtime.js:4263:1)
    at It.evaluateInner (runtime.js:4234:1)
    at It.evaluateOuter (runtime.js:4227:1)
    at Wt.next (runtime.js:5058:1)
    at Wt._execute (runtime.js:5045:1)
    at Wt.execute (runtime.js:5038:1)
    at Qt.sync (runtime.js:5105:1)
    at wr.render (index.js:6749:1)
    at index.js:7013:1
    at Mt (runtime.js:4139:1)
    at Tr._renderRoots (index.js:6996:1)
    at Tr._renderRootsTransaction (index.js:7039:1)
    at Tr._renderRoot (index.js:6985:1)
    at Tr._appendDefinition (index.js:6911:1)
    at Tr.appendOutletView (index.js:6899:1)
    at p.invoke (queue.ts:203:14)
    at p.flush (queue.ts:98:13)
    at h.flush (deferred-action-queues.ts:75:19)
    at $._end (index.ts:616:32)
    at _boundAutorunEnd (index.ts:257:12)

안드레아, 다시 오신 것을 환영합니다 :wave:

getOwnerWithFallback is not a function 오류를 보면, 플러그인이 정상적으로 작동하려면 Discourse를 업그레이드해야 하는 것 같습니다.

@Arkshine 감사합니다! 해당 기능이 포함된 Discourse 릴리스 또는 docker.io 태그가 무엇인지 혹시 알고 계신가요? 우리는 [1]을 통해 Discourse 릴리스를 사용하고 있습니다.

감사합니다!

[1] discourse/base - Docker Image

관련 커밋: DEV: Rename custom getOwner to getOwnerWithFallback (#23437) · discourse/discourse@8958b4f · GitHub

변경 사항은 3주 전(9월 26일)에 이루어졌습니다. 2.0.20230927-0028-slim부터 시작하는 것이 좋겠습니다.

업데이트가 문제를 해결한 것 같습니다.