Okay, no need to re-installing for updates but I re-installed due to it’s not worked. New repo is not working as well.
So just to be clear - you were able to update the component, but the update did not fix the issue for you? Then you deleted the old component and re-installed from the new repo?
I’m seeing it work without issue on two separate Discourse instances. Can you make sure you:
- Added the component to the correct theme
- Refreshed the page after adding the component.
- Adjusted all of the settings according to your needs
Yes, exactly.
- I added to my main theme
- Refreshed the page
- Settings done
Result:
I’m pretty sure I figured it out.
I completely forgot to follow up on this I just pushed a commit that should fix things for you. Let me know if you run into any other issues.
It didn’t show in the “available for updates components”, so I deleted it and installed from
GitHub - discourse/discourse-post-badges
It works as intended now.
Thanks - that was really quick!
No issues left. Thank you.
@tshenry It has stopped working
The whole component, or are you back to the original problem with that setting not working? I just tested everything (with a non-english locale too) and everything appears to be working fine. I’ll need more details please
No, it has stopped working completely this time.
I guess I found why it has stopped. My badge names are Turkish. I have changed the language from Turkish to English. Now I turned it back to Turkish and it’s working.
Cool. That is expected behavior at least for now. I don’t believe there is a way to avoid this when entering a badge into the setting by its name. I’ll consider adding additional support for entering a badge by ID to make things even more locale agnostic, but it will be a little while before I get around to it.
Warning - below is the top 10 requests for the past few hours on a site that is using this theme component.
It became really slow and it was one big rate limiting experience including hanging browsers and lots of complaints.
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
Yes we are aware of this and are going to improve it.
I don’t know if this is related but I’m getting lots of errors when clicking on links which point to badges page lately. I have created a summary page for each user’s custom badges (with an emoji to go with it), and when clicking on a few links like [:z133:](/badges/133/-?username=user_name)
in a row there is an error:
Log:
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
I’m using links in all my descriptions for custom badges like this:
Badge description followed by a link <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>
which points to the detailed badge description topic. It works really well on the Badges page, but users are confused by the html codes which are displayed in the post badges tooltips:
If the anchor <a href=...>Description</a>
tags could be stripped from the tooltip, leaving just the Description, it would probably fix most use cases.
Has this one been fixed in 2.5.X by any chance?
@tshenry i have found a work around to it that avoid multiple request calls to load user data. I have used in this theme component
https://github.com/jahan-ggn/discourse-trust-level-on-posts
thoughts?
This component is causing js errors when using the new keyboard shortcuts for prev/next topic that Sam added to core (gj). It’s a bit unpredictable but can be repro’ed consistently by using the shortcut to go to next topic until the error happens. If I remove the component this error never happens.
Line 27516
How is this solution working so far? Has anyone else put it under scrutiny yet?
Just a heads up, I’m keeping track of everyone’s feedback, but working on this component has been a lower priority while we wait for the improvements @sam mentioned.
I haven’t tried it at this point, but it seems like it should be totally fine to use a similar approach for displaying trust level badges. It’s non-trust level badges that would need the improvement Sam mentioned.
It would be helpful to know how people use this component, or at least how they would like to use it.
- Trust Level badges
- Other badges
- A mix of both
If there’s enough interest in Trust Levels, I can make a separate “Trust Level Post Flair” component that can be deprecated once the performance of this component can be improved.
Just a note here that we’ve made an open source version of this in a plugin, which serializes the badges along with the post itself, to address the performance issue mentioned above
https://github.com/paviliondev/discourse-post-badges-plugin
As to the selection of which badges will be featured, the user does this themselves in their profile, in a new user-specific setting.
Has this component stopped displaying custom image uploads for anyone else? It defaults to the font awesome icon, and if no FA icon is selected, it displays “undefined”, regardless of whether a custom icon has been uploaded or not.
Thanks!