# When dragging an unselected image in a rich text editor, it is uploaded repeatedly

**URL:** https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566
**Category:** Bug
**Tags:** composer
**Created:** [May 9, 2026, 1:40pm UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566 "2026-05-09T13:40:34Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 9, 2026, 1:40pm UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/1 "2026-05-09T13:40:34Z")

</div>

I am not sure whether this is a design issue, but for now I will place it in this category.

Upload an image in the rich text editor:

- If you click on it (which selects it) and then drag it, the image will be moved. 😃
- If you drag it without first clicking on it, it will be treated as a new image resource and the upload operation will be performed again… 😅

I am confused by the latter scenario, because I think that regardless of whether you click on it or not, dragging should move the image’s position rather than re-uploading it. 🙂  
If this is not a bug but an intentional design, anyone is welcome to tell me in what scenario repeated uploading would be used. 😄

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [May 11, 2026, 5:02am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/2 "2026-05-11T05:02:48Z")

</div>

I can’t repro this 🤷‍♀️ Maybe someone else will.

What browser are you using?

---

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 11, 2026, 7:26am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/3 "2026-05-11T07:26:18Z")

</div>

Edge browser, version 145.0.3800.82, I just updated to 148.0.3967.54 but it did not improve.

> [@chapoi](#):
>
> I can’t repro this 🤷‍♀️ Maybe someone else will.

Yeah, I hope someone else can successfully reproduce it. 🤕  
I can only confirm that this issue does exist, but I don’t know the specific cause.  
Initially, a user on my website complained to me that they encountered this issue when dragging an image they had uploaded. At that time, I also had difficulty reproducing it unless I directly copied the Markdown that the user used to upload that image. It seems to be related to both the website and the attachment itself (the images with issues all seem to be PNG files), and I couldn’t reproduce it on Meta either (even if I uploaded the same attachment to Meta), so this issue has been put aside.  
On the day I created this topic, I had a sudden idea and tried the PNG image of the Discourse default logo from the video, and finally succeeded in reproducing the issue on Meta. Perhaps you can use `![image](/images/discourse-logo-sketch-small.png)` to make some attempts?

In summary, this is indeed a borderline case that is very difficult to trigger, but once triggered, it will stably trigger for the same attachment of the same site.

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [May 11, 2026, 8:16am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/4 "2026-05-11T08:16:08Z")

</div>

Nope sorry, no matter what way I try to drag, even with the example logo, I can’t trigger the problem.

I don’t have Edge ready to test, so perhaps it’s browser related. Can you test in a Chromium browser?

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 8:32am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/5 "2026-05-11T08:32:30Z")

</div>

Hello, attempting (in Edge, Version 148.0.3967.54 (Official build) (64-bit)) to help trying to repro this bug…

 ![lily-face](https://global.discourse-cdn.com/meta/original/4X/c/8/4/c84af711be6e56b1fa1500710edd6869364935da.png)

This is, in RTE, my uploaded cat then dragged up and above this text.

…uploading my cat pic below…

* * *

This is text after my cat image

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [May 11, 2026, 8:34am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/6 "2026-05-11T08:34:03Z")

</div>

> [@chapoi](#):
>
> I don’t have Edge ready to test, so perhaps it’s browser related. Can you test in a Chromium browser?

Isn’t Edge a Chromium browser?

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 8:46am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/7 "2026-05-11T08:46:25Z")

</div>

Hmm… I tried to recreate this bug, but thus far, I could not. If you can be any more specific I will try again and report my results.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 8:49am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/8 "2026-05-11T08:49:52Z")

</div>

> [@Noble\_Fish](#):
>
> If you drag it without first clicking on it, it will be treated as a new image resource and the upload operation will be performed again… 😅

I do not understand – how are you able to drag it without first clicking on it?

---

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 11, 2026, 8:53am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/9 "2026-05-11T08:53:03Z")

</div>

I see that in your post, there are two occurrences of `![image](/images/discourse-logo-sketch-small.png)`. Is it a product of successful reproduction? That is: can you reproduce using the small logo, but cannot reproduce using your cat’s picture?

---

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 11, 2026, 8:54am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/10 "2026-05-11T08:54:51Z")

</div>

First place the cursor on another piece of text, then press and hold the left mouse button on the image and drag directly. If you click (and release) first and then drag, it will actually have selected the image.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 9:02am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/11 "2026-05-11T09:02:55Z")

</div>

OK, in Edge, and using RTE, starting fresh to try…

uploading a new image below…

… and now dragging the image to down below the next paragraph..

**Here** is the next paragraph…

This is the next paragraph. I will now drag the image down below here…

 ![syl_monster](https://global.discourse-cdn.com/meta/original/4X/8/9/8/89898942816045cca658884fa050bacd20f3cdfb.jpeg)

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 9:09am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/12 "2026-05-11T09:09:28Z")

</div>

In the above test (performed in latest Edge, and RTE in Discourse composer), dragging the previously uploaded image did just seem to work correctly – I did not see indication to re-upload?

---

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 11, 2026, 10:23am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/13 "2026-05-11T10:23:58Z")

</div>

Perhaps you are lucky enough to have never encountered this bug 😃 but regardless, in the video below I demonstrate the key press flow that triggers the two operations, upload and move, using KeyCastOW, so that you and others can clearly understand the specific process.

  
_Upload - Press the left mouse button and drag directly_

  
_Move - Press the left mouse button to click and then drag_

By the way, I just tested using your cat (`![image](https://global.discourse-cdn.com/meta/original/4X/c/8/4/c84af711be6e56b1fa1500710edd6869364935da.png)`) and your other image (`![image](https://global.discourse-cdn.com/meta/original/4X/8/9/8/89898942816045cca658884fa050bacd20f3cdfb.jpeg)`), and found that neither of them could trigger this issue.

I suggest you use `![image](/images/discourse-logo-sketch-small.png)` for testing; at least it is known to me as a test material that can reliably reproduce the issue. If you cannot reproduce the issue using it, perhaps you are just that lucky. 😉

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 7:10pm UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/14 "2026-05-11T19:10:47Z")

</div>

Could it be that this issue is limited to this particular image?

* * *

Below 2 are pasted in composer in RTE mode…

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

```

* * *

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

* * *

Below 2 more are pasted into composer in Markdown mode

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

```

 ![image](https://sea3.discourse-cdn.com/meta/images/discourse-logo-sketch-small.png)

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 11, 2026, 7:30pm UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/15 "2026-05-11T19:30:39Z")

</div>

> [@Noble\_Fish](#):
>
> I am confused by the latter scenario, because I think that regardless of whether you click on it or not, dragging should move the image’s position rather than re-uploading it.

In this latter scenario, are you saying think that 2 different instances/copies of the image/file are being uploaded and that 2 files are then being stored on the server?

Or, that the pasted image is not actually uploaded to the server until (after uploading) you then click on it (and then only that one instance of the image/file is uploaded and stored on the server)?

---

<div class="post-metadata">

### Author: ![Noble\_Fish](https://avatars.discourse-cdn.com/v4/letter/n/ad7895/32.png) [@Noble\_Fish](https://meta.discourse.org/u/Noble_Fish)
#### Post date: [May 12, 2026, 6:14am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/16 "2026-05-12T06:14:46Z")

</div>

> [@denvergeeks](#):
>
> Could it be that this issue is limited to this particular image?

No, there are multiple images on my own website that can reproduce the issue, but I haven’t done much investigation on Meta and have only found this one case so far.

> [@denvergeeks](#):
>
> In this latter scenario, are you saying think that 2 different instances/copies of the image/file are being uploaded and that 2 files are then being stored on the server?

No, in fact Discourse is smarter than we thought. For example:  
A user on my website uploaded an image, and under the Markdown editor it appears like this:

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

```

I obtained its full link through the browser’s developer tools: `https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg` . So I referenced the image in the editor using the full link format:

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

```

After dragging without clicking (triggering an upload) in the rich-text editor, the content in the Markdown editor becomes:

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

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

```

It can be seen that although Discourse shows that dragging triggers an upload, the image actually appears as `![image|370x494](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg)` , which corresponds to the same attachment originally uploaded by that user as `https://example.com/uploads/default/original/1X/8826bc6c1be0e501979df4a004b9b2ae51c50320.jpeg` .

- Dragging an image referenced in the `![image|370x494](upload://jqrVvqCoYL0wuOvUZWTDwhYw8IU.jpeg)` format also results in the same handling.

From this perspective, triggering an upload again does not actually take up additional storage space — only the first uploaded file truly occupies server storage. So it’s just a user experience issue: users get confused about “why does dragging an image (when I click and then drag without releasing the mouse) fail to move as expected, but instead shows an ongoing upload and duplicates the image?”

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [May 12, 2026, 9:01am UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/17 "2026-05-12T09:01:20Z")

</div>

Then I would conclude, for now, that (good news!) it seems that the image is not actually uploaded repeatedly, but that only one instance it is uploaded(?)

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [September 10, 2026, 5:47pm UTC](https://meta.discourse.org/t/when-dragging-an-unselected-image-in-a-rich-text-editor-it-is-uploaded-repeatedly/402566/18 "2026-09-10T17:47:40Z")

</div>

I think this might have been fixed by

> <https://github.com/discourse/discourse/pull/43029>
>
> Dragging an image already in the composer uploaded it again instead of moving it…: the browser exposes the dragged image as a file, so the drop reached the composer's upload drop target as if the file had come from outside.
> 
> This change stops a drop the editor is already handling as a move from reaching that upload drop target.
