Skip to content

Support dragdrop for URLs to read infotext#15262

Merged
AUTOMATIC1111 merged 4 commits intoAUTOMATIC1111:devfrom
catboxanon:feat/dragdrop-urls
Mar 17, 2024
Merged

Support dragdrop for URLs to read infotext#15262
AUTOMATIC1111 merged 4 commits intoAUTOMATIC1111:devfrom
catboxanon:feat/dragdrop-urls

Conversation

@catboxanon
Copy link
Copy Markdown
Collaborator

@catboxanon catboxanon commented Mar 15, 2024

Description

Adds the ability to drag and drop URLs (like an address from the browser address bar) or images that originate from URLs. The usecase for this is dragdropping images from another website or another browser instance of the webui to read the infotext.

Update: this now works on the frontend rather than the backend to avoid some potentially security issues.

Screenshots/videos:

Example with dragdropping between two separate browser windows.

example

Checklist:

@AUTOMATIC1111
Copy link
Copy Markdown
Owner

If the request is made and fails, there should be some form of feedback, at least output to console (but possibly also gr.Warning for UI). Are there any considerations from security side?

@w-e-w
Copy link
Copy Markdown
Collaborator

w-e-w commented Mar 16, 2024

update:
drag and drop image works in chrome but not firefox


drag and drop image from other websites or between web UI instances has always worked without this PR
this PR only adds the ability to drag urls (text)

if a user already opens the URL in the browser tab they can just drag the image
so unless the user wishes to drag URL text and not the image this feature does not do much

personally I don't see this being too useful as the user is unlikely to know what a without opening the image
which means they will most likely open a URL in a separate tab, confirm that this is what they then drag it to webui
but at this point I think it's easier for user to just drag the big image across and the small text


security issue
this will have will cause SSRF like

in my opinion if this were to be implemented the web request should be made by the Client using JavaScript and not server on side
reasons

  1. security, no risk of ssrf
  2. using browser is less likely to be blocked likey to get blocked by servers that block bots

@w-e-w
Copy link
Copy Markdown
Collaborator

w-e-w commented Mar 16, 2024

drag and drop image works in chrome but not firefox

image drag and drop works in chrome / min / edge but not in firefox / librewolf

@catboxanon
Copy link
Copy Markdown
Collaborator Author

drag and drop image works in chrome but not firefox

This hadn't occurred to me actually. I ran into that over a year ago when making a userscript though. I think this is a case where Firefox follows the browser spec but Chrome doesn't, annoyingly.

in my opinion if this were to be implemented the web request should be made by the Client using JavaScript and not server on side

I agree with this. I admittedly implemented it server-side since it was the path of least resistance in this case.

Thanks for the feedback. I'll close this PR and open a new one when I get a chance to address all this.

@catboxanon catboxanon closed this Mar 16, 2024
@missionfloyd missionfloyd reopened this Mar 16, 2024
@missionfloyd
Copy link
Copy Markdown
Collaborator

@missionfloyd missionfloyd marked this pull request as draft March 16, 2024 22:01
@catboxanon
Copy link
Copy Markdown
Collaborator Author

Nice, that's much better. I'll just add some error handling to this now.

@catboxanon catboxanon marked this pull request as ready for review March 17, 2024 00:19
@AUTOMATIC1111 AUTOMATIC1111 merged commit 6d8b7ec into AUTOMATIC1111:dev Mar 17, 2024
AUTOMATIC1111 added a commit that referenced this pull request Mar 17, 2024
ruchej pushed a commit to ruchej/stable-diffusion-webui that referenced this pull request Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants