Merci dâavoir identifiĂ© cela @Moin. Jâai appliquĂ© un correctif :
Voyez-vous une erreur dans la console du navigateur ?
Jâai mentionnĂ© ce problĂšme sur lâautre sujet.
Jâai remarquĂ© une erreur sur un site qui utilise le composant de maniĂšre anonyme :
Jâai créé une PR pour corriger cela :
La RP est maintenant fusionnée ; merci, Keegan !
les utilisateurs de ce composant reçoivent-ils cette erreur plus récemment
Je viens de lâinstaller, voici une idĂ©e :
Cliquez sur le bouton de copie de plusieurs messages pour « construire » votre presse-papiers. De cette façon, vous pouvez copier rapidement une section entiĂšre dâun fil de discussion de maniĂšre sĂ©lective.
Disons quâil y a cinq messages :
Message A
Message B
Message C
Message D
Message E
Vous copiez D, puis B, puis E. Ce qui se trouve dans votre presse-papiers est en fait :
B
D
E
Ainsi, le presse-papiers est organisĂ© en fonction de leur chronologie dans la conversation, et non de lâordre dans lequel vous les copiez.
Jâai eu une erreur sur ce point, et comme câest une erreur JS cĂŽtĂ© client, je ne peux pas la trouver dans \logs. Ma version de Discourse est 2026.7.0-latest +188
Jâai approfondi lâanalyse en me basant sur la rĂ©vision exacte de Discourse au moment oĂč jâai initialement constatĂ© le problĂšme, ainsi que sur la branche main actuelle.
Sur une configuration historique de juillet reconstituĂ©e, jâai pu reproduire un Ă©chec liĂ© au presse-papiers : la fonction « Copier le message » pouvait afficher lâindication de succĂšs (coche) alors que le contenu du presse-papiers nâĂ©tait pas rĂ©ellement remplacĂ©. Je ne peux pas confirmer quâil sâagissait de la mĂȘme erreur sous-jacente que lâerreur de thĂšme/composant visible dans ma capture dâĂ©cran dâorigine de juillet.
Cependant, la mĂȘme implĂ©mentation de « Copier le message » fonctionne dĂ©sormais sur mon instance de production actuelle, y compris dans une PWA sur Safari iOS.
Jâai comparĂ© le code pertinent entre la rĂ©vision de Discourse de juillet et la branche main actuelle. LâimplĂ©mentation du presse-papiers de « Copier le message » elle-mĂȘme nâa pas changĂ©, et je nâai pas trouvĂ© de modification pertinente dans :
clipboardCopy/clipboardCopyAsync- la distribution des actions de
DButton, y compris le parcours iOS - le shim legacy de
DButton - le parcours du transformateur du menu de message
- le parcours GET dans
discourse/lib/ajax
Jâai Ă©galement Ă©crit une spĂ©cification systĂšme expĂ©rimentale qui met en pause la requĂȘte du message brut et vĂ©rifie si navigator.clipboard.write() a dĂ©marrĂ© avant la fin de la requĂȘte. Ce test rĂ©ussit si « Copier le message » est modifiĂ© pour utiliser clipboardCopyAsync, et Ă©choue avec lâimplĂ©mentation actuelle.
Cependant, « Copier le message » fonctionne actuellement dans les navigateurs/appareils que jâai testĂ©s, y compris Safari iOS PWA, de sorte que ce test semble imposer une contrainte dâimplĂ©mentation plus stricte plutĂŽt que de dĂ©montrer une rĂ©gression visible par lâutilisateur Ă lâheure actuelle.
Pour cette raison, je ne propose pas actuellement ce test ni la modification vers clipboardCopyAsync comme correctif. LâĂ©chec historique a peut-ĂȘtre dĂ©pendu du comportement du navigateur/WebKit plutĂŽt que dâune modification du composant « Copier le message » lui-mĂȘme.
Pour faire suite Ă cela, jâai ouvert une petite PR qui modifie lâindication de succĂšs/vĂ©rification afin quâelle ne sâaffiche quâaprĂšs que lâĂ©criture dans le presse-papiers a rĂ©ussi, avec une spĂ©cification de systĂšme de rĂ©gression :
Le workflow GitHub Actions est actuellement en attente dâapprobation par le mainteneur avant que les tĂąches CI puissent sâexĂ©cuter.


