Le menu des réactions s'affiche en dehors de la fenêtre d'annulation d'action de publication (mobile)

Sur https://community.openstreetmap.org/
J’ai mis un pouce levé. 13 minutes plus tard, je suis revenu et j’ai voulu le changer en cœur. J’en suis arrivé là comme vous le voyez. Mais je ne peux pas le changer en cœur. Bon, disons qu’il y a cette règle des 10 minutes qui dit qu’on ne peut plus rien changer après. Dans ce cas, mon argument est que vous ne devriez pas nous montrer la liste des icônes dans lesquelles nous pouvons le changer, car nous ne pouvons en utiliser aucune.

En d’autres termes, lorsque je tape à nouveau sur le pouce, afin de le changer en autre chose, la meilleure chose serait de ne recevoir aucune réponse et de ne pas voir s’afficher une liste de choix que je ne peux pas utiliser.

Il serait encore mieux que lorsque je tape à nouveau sur le pouce, un message apparaisse expliquant que je ne peux pas changer mon choix car 10 minutes se sont écoulées.

Pourquoi est-ce que je poste ici sur meta et non sur ce site local ? Parce que je parle d’un problème qui affecte tous les sites qui offrent un tel choix.

1 « J'aime »

Oui, je peux reproduire cela sur mobile (Android/Chrome). Je ne pense pas que cela se produisait auparavant, il pourrait donc s’agir d’une régression.

Sur ordinateur, vous obtenez un :no_entry_sign: et un texte au survol indiquant « Vous ne pouvez plus supprimer votre réaction ».

Étapes à suivre : (sur mobile)

  • Activer les réactions
  • Définir post undo action window mins sur 1 (facultatif)
  • Réagir à un message et attendre N minutes
  • Appuyer longuement sur l’icône de réaction
  • Le menu de réaction s’affiche même si la possibilité de réagir ou de supprimer une réaction n’est pas possible
  • Le menu ne répond pas et aucune erreur n’est donnée
3 « J'aime »

Je n’ai pas trouvé dans l’historique ce qui pourrait être une régression.

Il y a une vérification pour le clic dans toggleFromButton :

https://github.com/discourse/discourse-reactions/blob/main/assets/javascripts/discourse/widgets/discourse-reactions-actions.js#L430-L435

Mais pas pour le toucher :
https://github.com/discourse/discourse-reactions/blob/main/assets/javascripts/discourse/widgets/discourse-reactions-actions.js#L170-L183

Je suppose que vous pourriez faire ce qui suit pour ne pas ouvrir la liste des réactions :

  touchStart() {
    cancel(this._touchTimeout);
    if (this.capabilities.touch) {
      if (
        this.attrs.post.current_user_reaction &&
        !this.attrs.post.current_user_reaction.can_undo
      ) {
        return false;
      }
      ...
}
2 « J'aime »

Soit dit en passant, il est bon de dire à l’utilisateur qu’il ne peut pas supprimer sa réaction, mais vous pourriez aussi bien mentionner la limite de temps, sinon l’utilisateur ne peut pas savoir s’il s’agit d’un jour, d’un mois, d’une minute ou autre chose. La seule façon pour lui de le découvrir est par essais et erreurs !

2 « J'aime »

J’ai trouvé la limite de temps pour aimer un réglage par défaut très inhabituel et c’était l’une des premières choses que j’ai changées (pour aimer/ne pas aimer librement à tout moment, pour information).

3 « J'aime »