Pour l’instant, je ne peux pas surligner et citer du texte sur Android. C’est le cas depuis un moment. Qu’est-ce que je rate ? (Android 16 et 17, Chrome)
Cela m’arrive de temps en temps. Impossible de surligner du texte. Je pense que ça fonctionne pour le moment
Je suppose que les solutions suivantes ne vous aident pas ?
- Recharger
- Essayer de réagir à un message jusqu’à ce que la fenêtre des réactions s’affiche, puis essayer de surligner du texte
Wow. Ça règle le problème ! Mais bon sang… C’est le contournement le plus bizarre que j’aie jamais vu ! Merci !
Oui, ça m’est déjà arrivé, et cela a toujours réussi à résoudre le problème.
Je me demande si cela est lié à un localStorage obsolète. Très intéressant.
Hm. J’ai toujours pensé que cela avait un lien avec les états. Comme si forcer l’affichage de la fenêtre contextuelle des réactions réactivait l’état de survol. Mais ce n’est que de la spéculation.
Ça vient de se reproduire.
Et la solution de contournement a encore fonctionné.
Je vais classer cela comme Contribute > Bug
Diagnostic AI (GPT 5.6 Sol Ultra) dans Codex (si utile) :
Trouvé : Discourse Reactions laisse fuiter un état global de « sélection de texte désactivée ».
- L’événement
touchstartde la réaction ajoutediscourse-reactions-no-selectà<html>dansplugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:222. - Cette classe applique
user-select: noneet désactive le menu contextuel au long appui de WebKit pour l’ensemble du document dansplugins/discourse-reactions/assets/stylesheets/common/discourse-reactions.scss:1. - Si un défilement vertical commence au-dessus du bouton de réaction,
plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:249invalide le geste sans supprimer la classe. plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:257retourne ensuite prématurément, laissant la classe en place indéfiniment.- Il n’y a également aucun nettoyage lors d’un
touchcancelou de la destruction du composant.
La seule suppression se trouve dans plugins/discourse-reactions/assets/javascripts/discourse/components/discourse-reactions-actions.gjs:690. Cela explique la solution de contournement signalée (The popup menu for quoting text is unresponsive on Android) : ouvrir et fermer la fenêtre contextuelle des réactions appelle collapseAllPanels(), ce qui rétablit la sélection.
La barre d’outils de citation elle-même est en aval : elle écoute selectionchange et nécessite une sélection réelle du navigateur dans frontend/discourse/app/components/post-text-selection.gjs:58. Avec user-select: none global, Android ne crée jamais cette sélection.
L’historique confirme cette famille de bugs : une correction de défilement de 2023 (FIX: prevents triggering a reaction while scrolling (#224) · discourse/discourse-reactions@d1970cf · GitHub) a introduit le retour prématuré en cas de toucher invalide, et une correction partielle de 2024 (FIX: couldn't select text after dismissing a reaction (#296) · discourse/discourse-reactions@c6710ef · GitHub) a déplacé le nettoyage vers l’effondrement du panneau mais a laissé les chemins de défilement/annulation non couverts.
La correction devrait effacer la classe à chaque cycle de vie de toucher terminé, rejeté, annulé ou détruit, avec des tests de régression pour touchstart → touchmove → touchend et touchcancel.
Ce bug me chiffonnait depuis quelque temps, content que tu aies trouvé une solution ![]()
@davidb pour votre attention
Salut @merefield, j’essaie de voir si cela est lié à l’autre correctif que j’avais publié il y a quelques semaines. Il aurait dû être isolé à iOS, donc je suis curieux de savoir : depuis combien de temps est-ce le cas ? Est-ce quelques semaines ou plus ?
Bon sang, désolé, je ne me souviens pas exactement, mais mon intuition me dit au moins quelques semaines, bien que je ne sois pas tout à fait sûr.
Je suis assez certain que c’était un problème sous Android 16, donc avant le déploiement des Pixel.
En tout cas, bien sûr, cela ne concerne peut-être pas uniquement Android…
Pas de souci, je vais faire quelques tests en local sans les modifications et voir si c’est ma correction iOS qui a causé ça. Si c’est le cas, le correctif que j’ai publié aujourd’hui pourrait aider, mais je vais d’abord vérifier.
Merci d’y avoir jeté un coup d’œil !
Je rencontre ce problème sur Chrome pour Android depuis plusieurs mois sur un site web, je pense. (Bien que je n’aie pas tenu un suivi précis, jusqu’à ce qu’un deuxième site que j’utilise mette à jour il y a deux jours.)