추천 배지가 사용자 프로필 페이지를 깨뜨립니다

안녕하세요,

사용자 프로필 페이지가 “Featured Badges” 제목 이후로 종료되는 것을 확인했습니다. 그 아래에는 아무것도 표시되지 않습니다(특히 저장 버튼도 없으며), 사이트 푸터만 보입니다.

개발자 콘솔에서 다음 오류를 발견했습니다:

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'split')
    at l.<anonymous> (user-featured-badges.js:12:1)
    at getter (index.js:444:104)
    at l.a [as featuredBadges] (cache-BESCGvbE.js:1878:17)
    at eM (cache-BESCGvbE.js:1647:18)
    at index.js:95:32
    at index.js:75:37
    at Z (index.js:418:5)
    at T (index.js:74:16)
    at eU (index-Cx6axmzR.js:1786:17)
    at eK.create (index-Cx6axmzR.js:1961:17)
    at Object.evaluate (index.js:1393:23)
    at Object.evaluate (index.js:770:198)
    at tq.evaluateSyscall (index.js:3353:20)
    at tq.evaluateInner (index.js:3332:60)
    at tq.evaluateOuter (index.js:3329:10)
    at t1.next (index.js:3990:46)
    at t1._execute (index.js:3979:21)
    at t1.execute (index.js:3955:41)
    at tW.handleException (index.js:3447:19)
    at tJ.handleException (index.js:3595:52)
    at t$.throw (index.js:3400:16)
    at ek.evaluate (index.js:964:42)
    at t$._execute (index.js:3387:34)
    at t$.execute (index.js:3379:17)
    at tQ.rerender (index.js:3613:8)
    at t5.render (index-Cx6axmzR.js:5114:55)
    at index-Cx6axmzR.js:5390:16
    at tD (index.js:2893:7)
    at io._renderRoots (index-Cx6axmzR.js:5370:7)
    at io._renderRootsTransaction (index-Cx6axmzR.js:5418:12)
    at io._revalidate (index-Cx6axmzR.js:5451: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
2개의 좋아요

이 문제에 대해 어떤 생각이 있으신가요? 문제를 더 자세히 파악하기 위해 어떤 정보를 제공할 수 있을까요?

1개의 좋아요

…다른 사용자는 추천 배지를 설정해 두었는데, 그 사용자의 프로필 페이지는 완전히 로딩된다는 것을 방금 알게 되었습니다. 저는 추천 배지를 설정하지 않았는데, 이것이 원인이 아닐까요?

1개의 좋아요

안전 모드를 시도해 보셨나요?

해당 섹션은 게시물 배지 플러그인에 의해 추가되는 것으로 보이므로, 코어 Discourse가 아니라 플러그인의 버그일 수 있습니다.

아마도 @Arkshine 님이 이 부분에 대해 더 잘 아실 것 같습니다.

2개의 좋아요

@Roi, 보고해 주셔서 감사합니다. @Moin, 이 문제를 제게 알려주셔서 감사합니다. 재현할 수 있습니다. 이 문제는 사용자가 배지가 전혀 없을 때 발생합니다. 최대한 빨리 PR을 올리겠습니다.

3개의 좋아요

감사합니다! :slight_smile:

참고로, 저는 이것을 플러그인으로 실행하고 있습니다. 이렇게 하는 것이 맞나요, 아니면 테마 컴포넌트로 실행해야 하나요?

1개의 좋아요

시작합니다:

테마 컴포넌트(TC) 버전은 사용자가 프로필에서 배지를 선택할 수 없습니다. 이는 모든 사용자에게 적용되는 전역 설정이며, 이것이 주요 차이점입니다.

4개의 좋아요

그렇다면 플러그인 버전이 더 좋다는 거죠?

PR 올려주셔서 감사합니다! :slight_smile: 두 버전 모두에 해당하나요?

사용자가 표시할 배지를 직접 제어하도록 할지(플러그인), 아니면 현재 사용자의 배지에 따라 관리자가 표시할 수 있는 배지를 제어하도록 할지(TC)에 따라 다릅니다.

TC에서는 플러그인처럼 같은 기능을 구현할 수 없는 제한점이 있지만, 필요에 따라 두 방식 모두 유용하게 사용될 수 있다고 생각합니다.

2개의 좋아요

PR이 병합되었고 다시 작동하고 있습니다. 다시 한번 감사합니다! :slight_smile:

1개의 좋아요

참고: 서드파티 테마/컴포넌트 또는 플러그인의 버그 추적은 해당 플러그인/테마/컴포넌트 전용 주제나 서드파티 버그 트래커에서 수행해야 합니다.

3개의 좋아요

@Arkshine 영향받은 테마 컴포넌트에 대한 메타의 주제 링크를 공유해 주시겠어요? 이 모든 내용을 해당 주제로 옮기고 이 관리용 게시물들을 정리하겠습니다.

이것은 플러그인이며, 제 지식范围内에는 관련 토픽이 없습니다. Angus는 원래 이 내용을 공식 TC 토픽에 게시했습니다: Post Badges - #121 by angus. :thinking:

2개의 좋아요