Retours Discourse

Les membres des forums Maker apprécient vraiment la possibilité d’avoir plusieurs réactions émoji. Nous serions très tristes de perdre cela lors d’une migration si retort venait à ne plus être maintenu.

3 « J'aime »

Retort continuera d’être maintenu par Pavilion.

@Ahmed_Gagan, des avis sur ce qui suit ?

5 « J'aime »

Pour une réaction de contre-argumentation en priorité, vous pouvez utiliser :

SiteSetting.post_undo_action_window_mins = durée maximale autorisée en minutes


ReactionManager.new(first_retort_reaction_at_priority, by_user, Guardian.new(by_user), post).toggle!

Cela gère tout : cela supprimera le like si l’utilisateur a déjà liké le post et ajoutera une réaction.

1 « J'aime »

Oui, je pourrais faire ça. Ce serait un peu un bricolage, cependant :wink:

Je ne suis pas sûr que ce contournement reste viable avec le temps. C’est aussi un peu risqué. Par exemple, si j’exécute simplement ce code, le paramètre du site post_undo_action_window_mins de l’utilisateur resterait modifié. Vous pourriez le rétablir à la fin de la migration, mais effectuer des modifications de paramètres de cette manière à la volée pour contourner un gardien n’est pas idéal.

Idéalement, ce que je recherche ici, c’est une légère modification de l’interface ReactionManager pour rendre possible la migration fiable des répliques vers les réactions. Actuellement, elle n’est configurée que pour gérer les requêtes provenant du client.

Une façon de procéder serait de :

  • abstraire le gardien dans toggle! vers une méthode ensure_can_toggle
  • rendre la méthode ensure_can_toggle soumise à une option force

C’est l’approche généralement adoptée pour gérer les migrations ou les importations backend dans d’autres parties de Discourse (si vous effectuez une recherche dans app/ ou lib/ pour force, vous verrez quelques exemples).

Est-ce que cela a du sens ?

2 « J'aime »

Je pense qu’il n’est pas nécessaire d’utiliser ce paramètre ici, car nous ne modifions pas les « likes » déjà créés sur le post. Cela signifie que nous créons de nouvelles réactions pour le post. Dans ce cas, guardian.can_delete_reaction_user? sera toujours vrai. À mon avis, l’utilisation de ReactionManager.toggle suffira pour cet objectif.

1 « J'aime »

Discourse fait beaucoup avec les J’aime, comme limiter le nombre de J’aime selon le niveau de confiance et attribuer des badges aux utilisateurs en fonction des J’aime.

L’ajout d’une réaction augmente-t-il également le nombre de J’aime pour les utilisateurs et les sujets ?

1 « J'aime »

Vous pourriez poser une question séparément sur la façon dont cela interagit avec le nouveau plugin officiel Discourse Reactions.

Cependant, Retort (qui permet plusieurs réactions par publication et par utilisateur, contrairement au plugin Discourse Reactions) n’interagit pas du tout avec les niveaux de confiance et les badges liés aux « J’aime ».

5 « J'aime »

@gdpelican Ceci est une republication de https://meta.discourse.org/t/reaction-emoji-seem-to-have-no-verification/189108, car il semble que les réactions ne fassent pas partie de Discourse. Je la republie ici :

Je pense avoir découvert un bug, mais je n’ai pas de reproduction exacte. Cependant, je peux facilement montrer des exemples du problème, et je pense que ma théorie pourrait être juste.

Voici le problème : il est possible d’ajouter des émojis inexistants aux réactions des messages. Cela se traduit par des réactions du type :whateverYouWant: dans les messages.

Vous pouvez voir un exemple de cela sur le forum Manjaro, où j’ai remarqué que les messages d’un utilisateur spécifique contiennent souvent ces émojis inexistants. Après lui avoir posé quelques questions, j’ai conclu qu’il utilisait une sorte d’extension de traduction automatique dans son navigateur, qui traduit probablement les émojis :code: dans sa langue. Malheureusement, je n’ai pas eu de réponse de cet utilisateur pour connaître exactement sa configuration dans son navigateur. Pour étayer ma théorie, vous pouvez voir que lorsqu’il a cité quelqu’un dans le fil de discussion lié ci-dessous, il avait la traduction du message original dans sa citation.

Voici ce message/fil de discussion sur le forum Manjaro :

Voici un exemple dans les réactions ; vous voyez clairement le problème avec toutes les réactions valides à côté de celle qui est invalide :

Il semble donc qu’un utilisateur puisse envoyer des émojis inexistants en raison de l’absence de vérification du code des émojis.

1 « J'aime »


Quelqu’un a-t-il également rencontré ce problème où les réactions sont déplacées sur un petit écran et sur mobile ?

1 « J'aime »

J’ai mis à jour ce plugin pour qu’il fonctionne avec le dernier code de Discourse.

@th21 J’ai également mis à jour la structure HTML de retort pour mieux accommoder les longues listes de retorts, en particulier sur mobile.

8 « J'aime »

Merci, ça marche !

2 « J'aime »

Les répliques sur mobile sont désorganisées pour moi dans la dernière mise à jour

1 « J'aime »

Je pense que le conteneur des réponses devrait se trouver au-dessus ou en dessous de la barre d’outils, de préférence au-dessus, car cela nous laisse beaucoup plus d’espace pour travailler du côté CSS.

2 « J'aime »

Est-il possible d’utiliser l’explorateur de données ou la console pour trouver la liste des emojis les plus utilisés ? :thinking: J’ai examiné la table plugin_store_rows mais je n’ai rien trouvé d’utile.

3 « J'aime »

Bonjour, l’infobulle avec laquelle les utilisateurs ont réagi aux répliques est maintenant cassée sur mobile. J’ai essayé de jouer avec z-index mais je n’ai pas réussi à la réparer avec du CSS personnalisé. Y a-t-il une chance que quelqu’un puisse y jeter un coup d’œil ?

Ce plugin est en #fin-de-vie. Veuillez utiliser le plugin Reactions.

5 « J'aime »

Discourse Reactions est un mauvais substitut pour une raison principale : il limite les réactions à une seule par publication. C’est une réduction spectaculaire de l’utilité des réactions par rapport à Retort, qui permet aux gens de donner plusieurs réactions à la même publication.

J’aimerais vraiment que Retort soit maintenu pour cette raison. La meilleure solution serait que Discourse Reactions soit mis à jour pour autoriser plusieurs réactions.

5 « J'aime »

L’autre grand inconvénient est que Retort vous permet de choisir parmi tous les émojis disponibles, alors que vous devez définir un ensemble d’émojis pour les réactions Discourse. Si les réactions Discourse avaient ces deux fonctionnalités, je supprimerais volontiers Retort, mais jusqu’à ce que ce soit le cas, mes utilisateurs ne seront pas contents si je leur dis qu’ils perdent l’accès à 95 % des réactions par émojis.

2 « J'aime »

Il y a un sujet de Feature qui semble prometteur…

3 « J'aime »

Oui, si tout cela est mis en œuvre, je pense que je pourrais facilement convaincre ma base d’utilisateurs de migrer. C’est juste un peu nul de devoir abandonner l’alternative avant que ce ne soit entièrement disponible.

3 « J'aime »