block / block/buzz

Desktop: dragging files into chat pastes the filesystem path instead of attaching

Open
#6,933 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Problem

On Linux (WebKitGTK) — and likely other Tauri webviews — dragging a photo or file from the file manager into the message composer inserts the **filesystem path as chat text** (`/home/…/photo.png`) instead of attaching/uploading the file.

Paperclip picker and clipboard paste of images still work. Drop is the broken path.

## Why

`tauri.conf.json` has `dragDropEnabled: false`, so OS drops go to the webview. The composer form has HTML5 `onDrop` that only reads `dataTransfer.files`.

Linux WebKitGTK often:

1. Leaves `dataTransfer.files` empty
2. Puts `file://…` / an absolute path in `text/uri-list` or `text/plain`
3. Lets ProseMirror handle the drop first (`editorProps.handleDrop` is unset), which inserts that path as text

The window-level handler only `preventDefault`s when `types` includes `Files`, so `text/uri-list` drops are not claimed.

## Expected

Dropping a JPEG/PNG/PDF/etc. onto the composer (or forum composer) should attach it the same way as the paperclip button — upload overlay, then send with the message.

## Environment

- Buzz Desktop (self-hosted relay)
- Linux
- Drop from the file manager onto the chat input

Contributor guide

Open the contributing guide

Research direction

Start by reading tauri.conf.json and the window-level drop handler, then trace the chat and forum composer onDrop paths and ProseMirror editorProps.handleDrop. Compare them with the paperclip upload flow. Done means file-manager drops attach JPEG, PNG, PDF, and similar files instead of inserting paths, including in both composers.

Written by the indexing model from the issue text.

Assessment

Tech stack
html, rust, tauri
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.