Discourse Retort

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.

「いいね!」 3

Retort will continue to be maintained by Pavilion.

@Ahmed_Gagan Any thoughts on the below?

「いいね!」 5

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.

「いいね!」 1

Yup, I could do that. It would be a bit of a hack though :wink:

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 an ensure_can_toggle method
  • make the ensure_can_toggle method subject to a force option

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?

「いいね!」 2

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.

「いいね!」 1

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?

「いいね!」 1

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.

「いいね!」 5

@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.

「いいね!」 1


Did anyone also run into this situation that the reactions misplaced on a small screen and on mobile?

「いいね!」 1

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

「いいね!」 8

Thank you, it works!

「いいね!」 2

Retorts on Mobile are messed up for me in the latest update

screenshot-vapingcommunity.co.uk-2021.07.23-16_40_15

「いいね!」 1

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

「いいね!」 2

データエクスプローラーやコンソールを使用して、最もよく使われる絵文字のリストを見つけることは可能ですか? :thinking: plugin_store_rows テーブルを調べてみましたが、役立つものは見つかりませんでした。

「いいね!」 3

こんにちは。ユーザーが返信でリアクションしたツールチップがモバイルで壊れています。z-indexを調整してみましたが、カスタムCSSでうまく修正できませんでした。どなたか確認していただけますか?

このプラグインは#end-of-lifeです。Reactions Pluginを使用してください。

「いいね!」 5

Discourse Reactions は、主な理由が 1 つあります。それは、投稿ごとに 1 つのリアクションに制限されることです。これは、同じ投稿に複数のリアクションを付けられる Retort と比較して、リアクションの有用性が劇的に低下します。

この理由で Retort が保守されることを強く願っています。より良い解決策は、Discourse Reactions が複数のリアクションを許可するように更新されることです。

「いいね!」 5

もう一つの大きな欠点は、Retortでは利用可能なすべての絵文字から選択できるのに対し、Discourse Reactionsでは絵文字のセットを定義する必要があることです。Discourse Reactionsにこれら両方の機能があれば、喜んでRetortを削除しますが、そうでない限り、ユーザーに絵文字リアクションの95%へのアクセスを失うと伝えても、ユーザーは満足しないでしょう。

「いいね!」 2

有望な Feature トピックがあります…

「いいね!」 3

はい、これがすべて実装されれば、ユーザーベースに移行を簡単に説得できると思います。これが完全に利用可能になる前に代替手段を廃止するのは、少し残念なだけです。

「いいね!」 3