Lors du déplacement d'une image non sélectionnée dans un éditeur de texte enrichi, elle est téléversée à plusieurs reprises

Je ne suis pas sûr qu’il s’agisse d’un problème de conception, mais pour l’instant, je le classe dans cette catégorie.

Télécharger une image dans l’éditeur de texte enrichi :

  • Si vous cliquez dessus (ce qui la sélectionne) puis la faites glisser, l’image sera déplacée. :smiley:
  • Si vous la faites glisser sans d’abord cliquer dessus, elle sera traitée comme une nouvelle ressource image et l’opération de téléchargement sera à nouveau effectuée… :sweat_smile:

Je suis confus quant à ce dernier scénario, car je pense que, que vous cliquiez dessus ou non, le glisser-déposer devrait déplacer la position de l’image plutôt que de la retélécharger. :slightly_smiling_face:
Si ce n’est pas un bug mais une conception intentionnelle, n’hésitez pas à m’indiquer dans quel scénario un téléchargement répété serait utilisé. :grinning_face_with_smiling_eyes:

2 « J'aime »

Je n’arrive pas à reproduire le problème :woman_shrugging: Peut-être que quelqu’un d’autre y arrivera.

Quel navigateur utilisez-vous ?

Navigateur Edge, version 145.0.3800.82. Je viens de passer à la version 148.0.3967.54, mais cela n’a rien amélioré.

Oui, j’espère que quelqu’un d’autre pourra le reproduire avec succès. :face_with_head_bandage:
Je ne peux que confirmer que ce problème existe, mais je ne connais pas sa cause précise.
Au départ, un utilisateur de mon site m’a signalé avoir rencontré ce problème en faisant glisser une image qu’il avait téléchargée. À l’époque, j’avais moi-même du mal à reproduire le problème, sauf si je copiais directement le Markdown utilisé par l’utilisateur pour télécharger cette image. Cela semble être lié à la fois au site et au fichier joint lui-même (toutes les images problématiques semblent être des fichiers PNG), et je n’ai pas réussi à reproduire le problème sur Meta non plus (même en téléchargeant le même fichier joint sur Meta), si bien que ce problème a été mis de côté.
Le jour où j’ai créé ce sujet, j’ai eu une idée soudaine et j’ai essayé l’image PNG du logo par défaut de Discourse issue de la vidéo, et j’ai finalement réussi à reproduire le problème sur Meta. Cependant, lorsque j’ai réessayé aujourd’hui, il semble que cette image ne puisse plus être référencée — le matériel de test qui avait permis de reproduire le problème sur Meta a à nouveau disparu. :face_with_spiral_eyes:

En résumé, il s’agit effectivement d’un cas limite très difficile à déclencher, mais une fois déclenché, il se reproduit de manière stable pour le même fichier joint du même site.

Non, désolé, peu importe la façon dont j’essaie de faire glisser, même avec le logo d’exemple, je ne parviens pas à déclencher le problème.

Je n’ai pas Edge prêt pour tester, alors peut-être que c’est lié au navigateur. Pouvez-vous tester dans un navigateur Chromium ?

Bonjour, tentative (dans Edge, version 148.0.3967.54 (build officiel) (64 bits)) pour aider à tester ce bug…


Voici du texte après l’image

2 « J'aime »

Edge n’est-il pas un navigateur Chromium ?

Hmm… J’ai essayé de reproduire ce bug, mais jusqu’à présent, je n’ai pas réussi. Si vous pouvez être plus précis, je réessaierai et vous ferai part de mes résultats.

2 « J'aime »

Je ne comprends pas — comment pouvez-vous le faire glisser sans d’abord cliquer dessus ?

Je remarque que dans votre message, il y a deux occurrences de ![image](/images/discourse-logo-sketch-small.png). Est-ce le résultat d’une reproduction réussie ? Autrement dit : pouvez-vous reproduire le problème avec le petit logo, mais pas avec la photo de votre chat ?

Placez d’abord le curseur sur un autre élément de texte, puis maintenez le bouton gauche de la souris enfoncé sur l’image et faites-la glisser directement. Si vous cliquez (et relâchez) d’abord avant de faire glisser, l’image sera effectivement sélectionnée.

OK, dans Edge, et en utilisant l’éditeur riche, je repars de zéro pour essayer…

je télécharge une nouvelle image ci-dessous…

… et maintenant je glisse l’image en dessous du paragraphe suivant..

Voici le paragraphe suivant…

Voici le paragraphe suivant. Je vais maintenant glisser l’image en dessous ici…

Dans le test ci-dessus (effectué avec la dernière version d’Edge et l’éditeur enrichi du compositeur Discourse), le glissement de l’image précédemment téléchargée semblait simplement fonctionner correctement — je n’ai pas vu d’indication pour la re-télécharger ?

Peut-être avez-vous eu la chance de ne jamais rencontrer ce bug :smiley:, mais quoi qu’il en soit, dans la vidéo ci-dessous, je montre la séquence de pression des touches qui déclenche les deux opérations, upload et move, en utilisant KeyCastOW, afin que vous et d’autres puissiez clairement comprendre le processus spécifique.


Upload - Maintenez le bouton gauche de la souris enfoncé et faites glisser directement


Move - Cliquez avec le bouton gauche de la souris, puis faites glisser

Au passage, je viens de tester avec votre chat (![image](https://d11a6trkgmumsb.cloudfront.net/original/4X/c/8/4/c84af711be6e56b1fa1500710edd6869364935da.png)) et votre autre image (![image](https://d11a6trkgmumsb.cloudfront.net/original/4X/8/9/8/89898942816045cca658884fa050bacd20f3cdfb.jpeg)), et j’ai constaté qu’aucune d’elles ne pouvait déclencher ce problème.

Je vous suggère d’utiliser ![image](/images/discourse-logo-sketch-small.png) pour les tests ; à ma connaissance, c’est un matériau de test qui permet de reproduire de manière fiable le problème. Si vous ne parvenez pas à reproduire le problème avec cette image, peut-être avez-vous simplement cette chance :wink:.

Est-ce que ce problème est limité à cette image en particulier ?


Voici les 2 suivants collés dans le composer en mode RTE…

![image](/images/discourse-logo-sketch-small.png)

![image](/images/discourse-logo-sketch-small.png)


Voici 2 autres suivants collés dans le composer en mode Markdown

!\[image\](/images/discourse-logo-sketch-small.png)

Dans ce second scénario, voulez-vous dire que deux instances/copies différentes de l’image/fichier sont importées et que deux fichiers sont ensuite stockés sur le serveur ?

Ou bien que l’image collée n’est pas réellement importée sur le serveur tant que (après l’importation) vous ne cliquez pas dessus (et que dans ce cas, seule cette instance de l’image/fichier est importée et stockée sur le serveur) ?

Non, il existe plusieurs images sur mon propre site web qui reproduisent le problème, mais je n’ai pas encore beaucoup investigué côté Meta et n’ai trouvé que ce seul cas jusqu’à présent.

Non, en fait Discourse est plus intelligent que nous ne le pensions. Par exemple :
Un utilisateur de mon site a téléchargé une image, et dans l’éditeur Markdown, elle apparaît comme ceci :

...
![pic|370x494, 40%](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg)
...

J’ai obtenu son lien complet via les outils de développement du navigateur : https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg. J’ai donc référencé l’image dans l’éditeur en utilisant le format de lien complet :

![image](https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg)

Après avoir fait glisser sans cliquer (déclenchant un téléchargement) dans l’éditeur de texte enrichi, le contenu dans l’éditeur Markdown devient :

![image](https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg)

![image|370x494](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg)

On constate que, bien que Discourse indique qu’un glisser-déposer déclenche un téléchargement, l’image apparaît en réalité sous la forme ![image|370x494](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg), ce qui correspond à la même pièce jointe initialement téléchargée par cet utilisateur sous l’adresse https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg.

  • Le fait de faire glisser une image référencée au format ![image|370x494](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg) aboutit également au même traitement.

De ce point de vue, déclencher à nouveau un téléchargement n’occupe pas réellement d’espace de stockage supplémentaire : seul le premier fichier téléchargé occupe véritablement l’espace serveur. Il s’agit donc uniquement d’un problème d’expérience utilisateur : les utilisateurs sont confus quant à la raison pour laquelle le fait de faire glisser une image (lorsqu’ils cliquent puis glissent sans relâcher la souris) ne permet pas de la déplacer comme prévu, mais affiche plutôt un téléchargement en cours et duplique l’image.

1 « J'aime »

Je conclurais donc, pour l’instant, que (bonne nouvelle !) l’image ne semble pas être réellement téléversée à plusieurs reprises, mais qu’une seule instance est téléversée (?).

1 « J'aime »