Retort - a reaction-style plugin for Discourse

Our “reaction” button doesn’t work, after the latest update.

I can’t find any issues in the Console, while clicking the emoji d-icon. With limited knowledge about how it’s implemented, I can’t spot the bug. Hopefully someone are :smiley: … (I’ve tried to look through the repo, but didn’t catch anything - with my limited knowledge about building plugins for Discourse (!))


same problem. My website cannot click


I can confirm that this bug indeed exists. Nothing happens after clicking it.


I can also confirm. When I click on icon for reactions to set it, it won’t pop up, nothing happens…


Adding #plugin:broken-plugin here for the time being. Let me know once fixed


Have anyone found out what the issue might be? Nothing have changed in the codebase of the plugin for quite a while, so I would guess something in the discourse codebase changed that makes this happen (haven’t seen any obvious changes which I would think have any effect on it though…).

1 Like

There are multiple updates of Discourse that need addressing in this plugin.

I’ve made a PR that can serve as a temporary fix. I’ll probably be condemned to fiery pits of Tartarus for the way the fix works, but it could serve as a stop gap @gdpelican

@Jite You seem keen. Would you like to learn a bit more about Discourse development and the way this plugin works to help maintain it? I can help you learn the ins and outs of the Discourse codebase.


I would have loved to take you up on that offer, but as of right now, I have a bit too much stuff on my hands to do so. I’ve made a few smaller plugins already, but my ruby experience is so tiny that I haven’t had the ability to dig down into the internals too much yet, hehe.
I will stick around though, so if I find more time for it, I will gladly let you know! :slight_smile:

I will take a peak at the fix too, as the instance I use the plugin on really seems to like it :smiley:


Also, I really wonder how I didn’t find that merge in the logs, I read them like a book yesterday! That was bad of me ;D


Let me know :slight_smile: I’d be happy to help you get up to speed with Discourse.


I love this plugin, I wish it was maintained. actually I think it should be integrated into Discourse itself…


So I tried using your temporary fix branch and if you’re not using a limited set it brings up the emoji picker and spins. It also doesn’t let you close the picker window. It actually also breaks the emoji picker in the default editing window as well (brings it up way over to the right side of the screen and spins). The limited set emoji picker stays static on the page as you scroll so it’s stuck wherever it comes up, but otherwise that works. I tried on both the latest Chrome and Firefox on OSX.

I glanced at your code and I don’t see anything obvious. I don’t know the discourse framework though. My gut would be it’s something with the changes relating to onShow, but I don’t do a ton of frontend development. I may take a deeper look if I have time and if I come across anything I’ll report it one way or another.

1 Like

Yup, I had this same problem. Clicking the react button opens the window, but nothing loads, and it actually appears to freeze the window for me.


same problem as @leighno5 , this extension freezes pages, gotta remove it

@angus I saw your fix got merged, but as reported above it’s not working. Any chance you’d be able to take a look?

Hey guys, just a note here that James has given me push permissions to the Retort repo, so I’ll be:

  • addressing this compatibility issue fully in the next few days
  • adding .discourse_compatibility file in here so the plugin can be pinned on the stable branch
  • adding the plugin to Pavilion’s public staging instance:
  • updating the plugin’s compatbility (stable pin and compatbility with tests-passed) on a monthly basis.

Hang in there!


Ok, I’ve updated the plugin to properly support the new emoji picker in Discourse :tada:

It’s been tested in full and limited mode, and also on mobile. You can test it out here yourself:

That site gets automatically rebuilt every 24 hours (which updates it to the latest Discourse). So if you’re on tests-passed (the default branch) it’s a good idea to test out any custom plugins you’re using there before you update.

I’ve also added a .discourse_compatibility file to the plugin:

This means that if you’re running the stable branch of Discourse you can keep updating as normal and this plugin will stay pinned at a commit that works with the latest stable release. See further here:

Pinning plugin and theme versions for older Discourse installs.

In this case the last stable release of Discourse (2.5.1) was 2 weeks ago and the emoji-picker refactor that broke Retort was 10 days ago, so the stable commit for this plugin is which I made back in June (tested and working with stable 2.5.1).


Thank you @angus! It is working on our Discourse instance!!


@sam Could you move this back to #plugin? Thanks.


Thank you so much for doing this!

One thing I’ve noticed (other than it’s working, yay) is that when you click the retort button it will snap the page so the emoji picker is on the top (latest Chrome, OSX), then if you scroll your page it moves the emoji picker to some weird places. Just wanted to report.