Members at Maker Forums definitely appreciate the ability to have multiple emoji reactions. We would be very sad to lose that in a migration if retort were to become unmaintained.
Retort will continue to be maintained by Pavilion.
@Ahmed_Gagan Any thoughts on the below?
For a retort reaction at priority you can use
SiteSetting.post_undo_action_window_mins =max allowed minutes
ReactionManager.new(first_retort_reaction_at_priority, by_user, Guardian.new(by_user), post).toggle!
This will handle everything, it will remove like if the user have already liked the post and add a reaction.
Yup, I could do that. It would be a bit of a hack though 
I’m not sure I could assume that workaround would remain viable over time. It’s also a bit risky. For example, if I just run that code the user’s post_undo_action_window_mins site setting would remained changed. You could change it back at the end of the migration, but doing setting changes like this on the fly to get around a guardian is not ideal.
Ideally what I’m after here is a slight change to the ReactionManager interface to make it possible to reliably migrate retorts to reactions. Currently it’s only set up to handle requests from the client.
One way to do that would be to
- abstract the guardian in
toggle!to anensure_can_togglemethod - make the
ensure_can_togglemethod subject to aforceoption
This is the approach typically taken to handle migrations or backend imports in other parts of Discourse (if you do a search in app/ or lib/ for force you’ll see a few examples).
Does that make sense?
I think we don’t need to use the setting here, As we are not touching the likes which are already created on the post. this means we are creating new reactions to post. in this case guardian.can_delete_reaction_user? will always be true. Just using ReactionManager.toggle will be enough for this purpose IMO.
Discourse does a lot with Likes such as limiting number of Likes by trust level and giving people badges based on Likes.
Does adding a reaction also add to the Likes count for both users and topics?
You coud ask separately about how this interacts with the new official Discourse Reactions - Beyond Likes plugin
But Retort (which allows multiple reactions per post per user, unlike the Discourse Reactions plugin) does not interact at all with the Likes-related trust levels and badges.
@gdpelican this is a repost from Reaction emoji seem to have no verification as it seems the reaction is not part of discourse I repost it here:
I think I have discovered a bug but I don’t have a proper reproduction, but I can easily show examples of the issue, and I think my theory might be right.
Here is the issue, you are able to add non existent emoji to the post reactions. it results in :whateverYouWant: reactions in posts.
You can see example of it on the Manjaro forum, where I noticed a specific user posts often have these non existent emojis. After asking him a few questions I concluded he’s using some kind of automatic translation extension in his browser, and that probably translates the emojis :code: to his language. Unfortunately I didn’t have a reply from this user to know exactly his setup on his browser. To back my theory, you can see when he quoted someone in the following thread linked, he had translation of the original message in his quote.
See this message/thread on Manjaro forum:
See an example in the reactions, you see the issue clearly with all the proper reactions next to the invalid one:
So it seems that a user can send non existent emojis through the process of no verification of the emoji code.
Did anyone also run into this situation that the reactions misplaced on a small screen and on mobile?
I’ve updated this plugin to work with the latest discourse code.
https://github.com/gdpelican/retort/commit/2b94ca394e941342cba4a4ee4950daf54856fa61
@th21 I’ve also updated the retort HTML structure to better accomodate long retort lists, particularly on mobile
https://github.com/gdpelican/retort/commit/a9740c2a84a1de89c66b5c5cf865e6118e535d72
Thank you, it works!
Retorts on Mobile are messed up for me in the latest update

I think the retorts container should be above or below the toolbar, preferably above, this gives us a lot more room to work with CSS wise
是否可以使用数据浏览器或控制台查找最常用的表情符号列表?
我查看了 plugin_store_rows 表,但没有找到有用的信息。
您好,用户用俏皮话做出反应的工具提示在移动设备上现在已损坏。我尝试调整了 z-index,但未能使用自定义 CSS 成功修复它。有人能帮忙看看吗?
Discourse Reactions 是一个糟糕的替代品,原因只有一个:它将反应限制为每帖一个。与 Retort 相比,这大大降低了反应的效用,Retort 允许人们对同一帖子给出多个反应。
因此,我真希望 Retort 能够得到维护。更好的解决方案是更新 Discourse Reactions 以允许多个反应。
另一个很大的不足是,Retort 允许你从所有可用的表情符号中进行选择,而你必须为 Discourse Reactions 定义一组表情符号。如果 Discourse Reactions 具备了这两个功能,我很乐意放弃 Retort,但在此之前,如果我告诉用户他们将失去 95% 的表情符号反应的访问权限,他们是不会高兴的。
有一个 Feature 主题显示出一些希望……
是的,如果这一切都实现了,我认为我可以轻松地说服我的用户群迁移。只是在这一切完全可用之前就淘汰替代方案有点糟糕。
