Post Badges component

How is this solution working so far? Has anyone else put it under scrutiny yet? :slight_smile:

2 Likes

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.

What Badges Do You Want to Display?
  • Trust Level badges
  • Other badges
  • A mix of both

0 voters

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.

6 Likes

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.

11 Likes

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!

3 Likes

Thanks for bringing that up @Andrew8H! Should be fixed with:

https://github.com/discourse/discourse-post-badges/commit/73d20574bcc1984644f1cf5013967321604fa1a2

:warning: For all others - make sure your Discourse site had been updated after 2021-03-17T07:00:00Z before updating this component.

cc @angus

5 Likes

Perfect! Fixed! Splendid support as per usual. Thank you @tshenry :raised_hands:

3 Likes

Hi all,

After installing this component, most of the icons on the page disappear and I’m seeing this error in the console.

Uncaught Error: Could not find module @ember/runloop imported from `discourse/initializers/initialize-discourse-post-badges

Is there something else I should be adding/editing? Thanks!

1 Like

Hmm, I am not able to reproduce the error. A few things to check on:

  • Can you confirm you are running the latest, tests-passed version of Discourse?
  • How are the Post Badges component’s theme settings configured?
  • Do you have any plugins installed on your site?
1 Like

Thank you for the quick reply, I’m using Discourse 2.3.2 which looks quite old. On the settings, they are still on defaults. I don’t believe there are any plugins, this was the first component I installed.

It sounds like an upgrade may be needed?

2 Likes

Yes, 2.3.2 is very old at this point. You will definitely want to upgrade, and for reasons that go well beyond compatibility with this component :slight_smile:

3 Likes

Ugh. I missed this warning. I’m running Discourse 2.6.3. I’m assuming that came out before March 17, since I lost my custom images. Is there any way for me to downgrade this component?

1 Like

Let me add a workaround. Hang tight.

Edit: @jtbayly it should work now if you update the component. Sorry for the trouble! I’ll try to be more careful about backwards compatibility going forward.

3 Likes

Thanks much. Worked like a charm.

3 Likes

We seem to be getting more 429 errors these days due to this add-on (I can’t put my finger on when that started, but I’d say in the last 2-3 months). Are there still plans to reduce the number of requests?

2 Likes

Unfortunately, it doesn’t seem that time has permitted yet for the core changes that would be required. The priority is probably going to be even lower now that there is a plugin that handles it in a more graceful manner:

If the component is becoming an issue for your community, I would highly recommend switching over the the plugin if possible.

Sorry to not have better news!

5 Likes

I took a look, but the functionality is different from the TC: in the plugin, users can set which badges to show. In the TC, the site admin decides. I’ll see if I can fork it to make it do what I need.

4 Likes

That’s my use case as well. Let’s us know if you get it working, please.

1 Like

How do you setup the plugin? Do you use your theme component?

Ah okay read some later posts where moved to user end.

1 Like

This component has issues with New installs will default to Ember CLI builds in Production

_application-fe5f714a0b25da04a163bd904e96336e.js:6171 
        
       An error occurred in the "Post Badges" theme/component: TypeError: Cannot read properties of undefined (reading 'currentProp')
    at 6dd3e4df7d5d30781da2109aaad4015405b3f832.js?__ws=discourse.myforum.tld:108
    at e.withPluginApi (_application-fe5f714a0b25da04a163bd904e96336e.js:4070)
    at Object.initialize (6dd3e4df7d5d30781da2109aaad4015405b3f832.js?__ws=discourse.myforum.tld:107)
    at Object.s.initialize (_application-fe5f714a0b25da04a163bd904e96336e.js:60)
    at _vendor-89acebf53895afcc5339ec7eda71567e.js:2730
    at e.each (_vendor-89acebf53895afcc5339ec7eda71567e.js:4074)
    at e.walk (_vendor-89acebf53895afcc5339ec7eda71567e.js:4064)
    at e.each (_vendor-89acebf53895afcc5339ec7eda71567e.js:4056)
    at e.topsort (_vendor-89acebf53895afcc5339ec7eda71567e.js:4056)
    at n._runInitializer (_vendor-89acebf53895afcc5339ec7eda71567e.js:2733)
(anonymous) @ _application-fe5f714a0b25da04a163bd904e96336e.js:6171
_application-fe5f714a0b25da04a163bd904e96336e.js:4072 
        
       To prevent errors, add a `pluginId` key to your changes when calling `modifyClass`
ie @ _application-fe5f714a0b25da04a163bd904e96336e.js:4072
_application-fe5f714a0b25da04a163bd904e96336e.js:4072 
2 Likes

Thanks for the report, that should be fixed now.

3 Likes