agentscope-ai / agentscope-ai/QwenPaw

[Feature]: Drag-and-drop file onto the input box for uploading

Open
#5,420 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
34.9k
Forks
3.1k
Avg merge
1d 15h
Merged PRs (30d)
225

Description

# [Feature]: Drag-and-drop file onto the input box for uploading

## QwenPaw Version

1.1.12

## Description

In the Console chat input box, files can only be uploaded by clicking the
paperclip (attachment) button and picking a file from the system dialog.
Dragging a file from the file explorer and dropping it onto the chat input
box does nothing — no upload starts, no attachment preview appears, and the
message cannot be sent with that file.

Most modern chat UIs treat the composer as a drop zone: dropping a file onto
it should trigger the same upload path as the attachment button. This drop
behavior appears to be missing.

The composer is built on the AgentScope Runtime Web UI `Sender` / `Attachments`
component. In the Console it is configured with `multiple: true`, an attachment
`trigger` button, and `customRequest` (the upload handler), but no drag-and-drop
drop container is wired up. As a result, only the click-to-select path invokes
the uploader; dropping a file onto the input area is not handled.

**Related PR(s):** N/A

**Security considerations:** None.

## Component(s) Affected

- [ ] Core / Backend (app, agents, config, providers, utils, local_models)
- [x] Console (frontend web UI)
- [ ] Channels (DingTalk, Feishu, QQ, Discord, iMessage, etc.)
- [ ] Skills
- [ ] CLI
- [ ] Documentation (website)
- [ ] Tests
- [ ] CI/CD
- [ ] Scripts / Deploy

## Environment

- **QwenPaw version:** 1.1.12
- **OS:** Windows 10 (also reproducible in any desktop browser)
- **Install method:** Tauri windows desktop
- **Python version (if applicable):** 3.12

## Steps to Reproduce

1. Start the backend and open the Console chat page.
2. Open the system file explorer and pick any file (e.g. an image or a PDF).
3. Drag the file and drop it directly onto the chat input box.

## Actual vs Expected

- **Actual:** Nothing happens on drop. No upload is triggered, no attachment
preview is shown in the composer, and the file is not attached to the message.
(Clicking the paperclip button and selecting the same file works fine.)
- **Expected:** Dropping a file onto the input box should trigger the same
upload flow as the attachment button — the file uploads automatically and
shows up as an attachment preview, ready to be sent with the message.

## Logs / Screenshots

No errors are logged in the console; the drop event is simply not handled.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.