Retort - a reaction-style plugin for Discourse

So I do as usual and scroll down the forums, find a resource I want to check out and see a funny comment. I want to add a reaction to the comment and then this happens as you see on the picture. It is some of the worst things that can happen to people like me who are perfectionists at the highest rate. Could you please fix so that the black box appears over the comment and not below.


Okay this is now fixed. I’ve also updated the styling to use the current them colors. :giraffe:

Sorry, I actually just saw this reply, as well as the original feature request.

The like notification functionality is quite a bit more sophisticated in Discourse than you might expect (what with the batched notifications, and not notifying someone twice of the same like, but if someone likes your post after some period of time it starts a new batch, etc.), and it’s that way because it’s annoying to get 10 notifications just because 10 people decide to react :turtle: to your post at the same time.

So, I wouldn’t be happy with the MVP solution (get a notification for every reaction), and I think it’s kinda complicated to do the correct solution, although I’d be happy to look at a PR for it.

Heh, unfortunately this reads to me like ‘Hey, I like your thing, but wouldn’t it be cool if it were a really different thing?’ :exploding_head:

This would be a tough challenge, given that we’re piggy-backing off the existing emoji popup functionality, although the emoji popup now can get automatically positioned, so maybe. Again, not on my list of things to work on immediately (not without some further prodding at least), but more than happy to look at a PR.

I get it and apologies if I came off insulting. In all honesty, I was looking for a shortcut to turning the code I linked to into a working Discourse plugin that didn’t involve me building it… because I just figured out how to do a PR, soooo … that might take a while. :laughing:

Feature Request

Is it possible to add a setting such that all further retorts are distorted if the topic is archived?

I understand that you cannot “like” a post that is in an archived topic. The Edit, Like etc. buttons are all hidden when a post is archived. But retorts seem to still work.

I suggest hiding the “retort” button when a topic is archived.

Seems like a reasonable thing. I’ve pushed a fix which disables new retorts on archived topics.


it would be great if users who haven’t been approved are prohibited from adding retorts. I’ve had a few trolls that keep creating new accounts and adding :clown_face: and :-1: to posts they disagrees with.

Some people also go crazy with retorts, adding them to every post in a topic. A max retorts per day would be useful :slight_smile:

1 Like

Would it be possible to add a reaction to a paragraph?

Here’s a example usage. Currently my team (lame slightly older people :wink: ) like Facebook Messenger for the ability to like or react to a single short Messenger chat message.

I would like to move my team to something focused on longer, more thoughtful posts. Move from chat to discussion, move from something meat to be used as a perishable small talk to a tool leaving posts meant to be referenced and cited.

But the ability to react to the parts of someone consciousness stream is something I really like — it’s like saying this part I agree with, but this another part is something I don’t like.

Currently I can only react or like a full post only. Which implies the need for either splitting to shorter messages and posting them separately or needing people to react by citing parts of the longer message — both results in more posts, which will clutter the discussion.

Is it doable? Is it something worth the implementation?


And set minimum post length to 1

This has been talked about elsewhere.

Without some fairly fundamental changes to Discourse core it’s likely out of scope for this plugin.

No, not annotations, these will confuse the heck my old people. And I personally am an oponent to discussion trees, these are hard to catch up and are fostering culttered off topics and forking.

Just icon reactions. If you need to actually comment part’s of text, cite them.

I’m speccing out some work on this plugin. @gdpelican and I have discussed it privately, but it would be good to get feedback from other users of the plugin.

  • Trust level limits, similar to the “like” trust level limits, including adding associated settings. @gdpelican suggests we use the existing “like” settings for this initially. The thinking behind having seperate settings is that retorts can have various connotations (e.g. negative), which may require different limits and restrictions.

  • Rate limits, similar to the “like” rate limits, including adding associated settings. Same discussion about the settings here as well.

  • A way to handle text-based retorts, e.g. “I Disagree” or “Thank You”. These could be custom emoji, but they may need more space in the post retort UI. Ideally, this would fit within the existing functionality plus some custom CSS.

  • Ability to use Real Names or Avatars in the list of users who have retorted, instead of usernames. This would be toggled by a setting

There’s also

  • Add ability of admins / mods and tl4 to remove retorts from the retort post UI (you can impersonate a user, but this is cumbersome).

@gdpelican’s not sold on this one, or at least not as a first order task, due to the complexity of adding it.

cc @ryanerwin @tshenry @DiscourseMetrics @schungx


Sounds great!

My members have suggested this feature request many times :+1: My members are investors and sometimes someone will post an analysis of a stock, and it will get likes. Then someone will post a meme, and it will get the same amount of likes. If users can retort with “Good analysis” it would make it easier for me to reward and showcase members who contribute that type of content which is much more valuable to the community.

Avatars would be more useful than real names, in my opinion.

This is a nice-to-have, but not a need-to-have :wink: Requiring a trust level would eliminate 99% of problems I’ve had with new users adding :eggplant:s :wink:

1 Like

Yeah fair.

Useful feedback, thanks.

Something that I would like to see, especially if you’re using the Like system as the model for much of the functionality being added, is a notification feature.

I would see this operating in the same way as notifications currently work for Likes. i.e. it would be a good idea to implement the logic that stops you being notified about every Like unless time has passed between Likes.

If my post attracts a retort I should receive a message telling me who reacted and with which emoji. I wouldn’t expect a notification for different retorts from the same user - unless significant time had passed between each different retort.


Badges based on retorts would also be neat :slight_smile:


I’ve found that lots of folks can be a troll once in a while… Maybe they’re just having a rough day. Discourse has tons of tools (flags, re-categorization, move to new topic, editing, hiding, convert to PM) to manage posts and replies… Interesting that folks using all of these tools would feel easily editing retorts is unnecessary.

1 Like

That’d be great. That way we can remove the “bugged/translated” reactions that some people add as a result of translating the page using builtin translation tools in the browser (as mentioned in a previous report).


After recent Discourse upgrade, I’m seeing only undefined in text instead of emoji in all retort reactions, both new and historic.

We’ve adjusted color and position CSS for retorts but no other customizing that would relate to this glitch. I’m guessing something just broke with the upgrade to Discourse and needs to be fixed.