Post Badges

업데이트를 위해 다시 설치할 필요는 없었지만, 작동하지 않아서 다시 설치했습니다. 새 저장소도 제대로 작동하지 않습니다.

1개의 좋아요

정리하자면, 구성 요소를 업데이트하긴 했지만 그 업데이트로 문제가 해결되지 않았다는 말씀이시죠? 그리고 기존 구성 요소를 삭제한 뒤 새로운 저장소에서 다시 설치하신 건가요?

저는 두 개의 서로 다른 Discourse 인스턴스에서 문제가 없이 정상 작동하는 것을 확인하고 있습니다. 아래 사항들을 확인해 주시겠어요?

  • 구성 요소를 올바른 테마에 추가했는지
  • 구성 요소를 추가한 후 페이지를 새로고침했는지
  • 모든 설정을 필요에 맞게 조정했는지
3개의 좋아요

네, 정확합니다.

  • 메인 테마에 추가했습니다
  • 페이지를 새로고침했습니다
  • 설정을 완료했습니다

결과:
image

4개의 좋아요

대충 해결한 것 같네요.

이 문제에 대해 후속 조치를 취하는 것을 완전히 잊고 있었습니다 :sweat_smile: 여러분을 위해 문제를 해결할 커밋을 방금 푸시했습니다. 다른 문제가 발생하면 알려주세요.

6개의 좋아요

"업데이트 가능한 구성 요소"에 표시되지 않아서 삭제한 후
GitHub - discourse/discourse-post-badges
에서 설치했습니다.

이제 의도한 대로 작동합니다.
감사합니다 - 정말 빨랐네요!

6개의 좋아요

더 이상 문제가 없습니다. 감사합니다.

@tshenry 작동이 멈췄어요 :thinking:

5개의 좋아요

컴포넌트 전체가 그런 건가요, 아니면 해당 설정이 작동하지 않는 원래 문제로 돌아간 건가요? 방금 모든 것을 테스트해 봤는데(비영어 로케일도 포함) 모든 것이 정상적으로 작동하는 것으로 보입니다. 좀 더 자세한 정보를 알려주세요 :slight_smile:

2개의 좋아요

아니요, 이번에는 완전히 작동이 멈췄습니다.

왜 멈췄는지 원인을 찾은 것 같습니다. 제 배지 이름이 터키어였거든요. 언어를 터키어에서 영어로 바꿨다가, 다시 터키어로 돌려놓으니 이제 정상적으로 작동합니다.

6개의 좋아요

좋아요. 적어도 지금은 예상되는 동작입니다. 설정에서 배지의 이름을 입력할 때 이를 피하는 방법이 없다고 생각합니다. 로케일에 더 독립적으로 동작하도록 배지 ID로 입력하는 추가 지원을 고려해 보겠습니다. 다만, 이를 구현하기까지는 조금 시간이 걸릴 것 같습니다.

6개의 좋아요

경고 - 아래는 이 테마 컴포넌트를 사용하는 사이트에서 지난 몇 시간 동안의 상위 10개 요청입니다.

사이트가 매우 느려졌고, 브라우저가 멈추는 등 심각한 속도 제한 문제를 겪었으며 불만이 쏟아졌습니다.

 214163 GET /user-badges
  29537 POST /message-bus
  14166 GET /assets
  13425 GET /user_avatar
  10125 GET /stylesheets
   8957 GET /theme-javascripts
   8131 GET /images
   7160 GET /letter_avatar
   2992 POST /topics
   2845 GET /t
12개의 좋아요

네, 이 문제를 인지하고 있으며 개선할 예정입니다.

9개의 좋아요

이것이 관련 있는지는 모르겠지만, 최근 배지 페이지로 연결되는 링크를 클릭할 때 많은 오류가 발생하고 있습니다. 각 사용자의 사용자 지정 배지(해당 배지에 맞는 이모지 포함)에 대한 요약 페이지를 생성했는데, [:z133:](/badges/133/-?username=user_name)와 같은 몇 가지 링크를 연속으로 클릭하면 다음과 같은 오류가 발생합니다:

로그:

Message

Uncaught TypeError: Cannot read property 'users' of undefined
Url: https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js
Line: 1
Column: 267440
Window Location: https://discourse.forum.tld/t/topic-slug/id

Backtrace

TypeError: Cannot read property 'users' of undefined
    at https://discourse.forum.tld/assets/plugins/discourse-presence-e4fe1148b25ac06931c3b78b8411907e35aef58f8dd5ac28a262cdd28fb6e51d.js:1:5982
    at E (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547359)
    at https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547817
    at t.invoke (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:490065)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:489055)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:491070)
    at e.t._end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:496499)
    at e.t.end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:493035)
    at e.t._run (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:497037)

Env

HTTP HOSTS: discourse.forum.tld
1개의 좋아요

저는 다음과 같은 방식으로 사용자 정의 배지 설명에 모두 링크를 사용하고 있습니다:

배지 설명 뒤에 링크 <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>

이는 상세 배지 설명 주제(topic)를 가리킵니다. 배지 페이지에서는 매우 잘 작동하지만, 게시글 배지 툴팁에 HTML 코드가 표시되어 사용자가 혼란을 겪고 있습니다:

만약 앵커 <a href=...>설명</a> 태그가 툴팁에서 제거되고 설명만 남게 된다면, 대부분의 사용 사례가 해결될 것입니다.

4개의 좋아요

혹시 2.5.X에서 수정된 건가요?

@tshenry 사용자 데이터를 로드하기 위해 여러 번의 요청을 보내는 것을 피할 수 있는 우회 방법을 찾았습니다. 이 테마 컴포넌트에서 사용했습니다.

어떻게 생각하시나요?

4개의 좋아요

새 코어(gj)에 Sam이 추가한 이전/다음 주제 이동 단축키를 사용할 때 이 컴포넌트가 JS 오류를 일으키고 있습니다. 다소 예측하기 어렵지만, 오류가 발생할 때까지 단축키를 사용해 다음 주제로 계속 이동하면 일관되게 재현할 수 있습니다. 이 컴포넌트를 제거하면 오류가 절대 발생하지 않습니다.

27516행

3개의 좋아요

이 솔루션은 지금까지 어떻게 작동하고 있나요? 다른 분들도 이미 테스트해 보셨나요? :slight_smile:

2개의 좋아요

참고로, 모든 분들의 피드백을 기록하고 있습니다. 다만 @sam이 언급한 개선 사항이 적용될 때까지 이 컴포넌트 작업은 우선순위가 낮게 설정되어 있습니다.

아직 직접 시도해 보지는 않았지만, 신뢰 수준 배지를 표시하는 데 유사한 접근 방식을 사용하는 것은 전혀 문제가 없을 것 같습니다. Sam이 언급한 개선 사항이 필요한 것은 신뢰 수준이 아닌 다른 배지들이죠.

사람들이 이 컴포넌트를 어떻게 사용하거나, 어떻게 사용하길 바라는지 아는 것이 도움이 될 것 같습니다.

어떤 배지를 표시하고 싶으신가요?
  • 신뢰 수준 배지
  • 기타 배지
  • 둘 다 혼합
0 voters

신뢰 수준에 대한 관심이 충분하다면, 이 컴포넌트의 성능이 개선될 때까지 비활성화할 수 있는 별도의 “신뢰 수준 게시물 flair” 컴포넌트를 만들 수 있습니다.

6개의 좋아요

여기서 참고할 점으로, 위에서 언급한 성능 문제를 해결하기 위해 배지를 게시물과 함께 직렬화하는 플러그인 형태의 오픈소스 버전을 만들었습니다.

어떤 배지를 표시할지 선택하는 것은 사용자가 자신의 프로필에서 새로운 사용자별 설정을 통해 직접 수행합니다.

12개의 좋아요

다른 사용자분들도 이 컴포넌트가 사용자 정의 이미지 업로드를 표시하지 않는 상태인가요? 기본값이 Font Awesome 아이콘으로 설정되어 있고, FA 아이콘을 선택하지 않으면 사용자 정의 아이콘을 업로드했는지 여부와 관계없이 "undefined"가 표시됩니다.

감사합니다!

3개의 좋아요