fix(upload): gezogenes Vorschaubild wurde erneut hochgeladen

Zieht man das angezeigte Bild ein Stueck zur Seite, legt Chrome es als
echte Datei in den Ziehvorgang. dataTransfer.types enthaelt dann
"Files" - nicht zu unterscheiden von einer Datei aus dem Dateimanager.
Die Ablageflaeche lud das eigene Bild daraufhin ein zweites Mal hoch.

Zwei Riegel: draggable={false} an allen Bildern, die kein eigenes
Ziehen brauchen (die Kachel bleibt ziehbar und verschiebt die Datei),
und useInternalDrag - was in dieser Seite losgezogen ist, wird nie als
Upload behandelt. dragstart feuert nur bei eigener Quelle.

Gemessen: vorher 1 Upload, nachher 0. Ein Zug von aussen laedt
unveraendert hoch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-24 17:24:22 +02:00
1 parent e9e07f9bed
commit b5a83e4057
11 files changed
+92 -3

No files matched your search

+26
View File
@@ -1376,6 +1376,32 @@ hätte keine Media-Query sie erreicht.
- [ ] Auf dem Flip 7 selbst gegenprüfen, auf beiden Schirmen
## Bild ziehen lud es erneut hoch (24.08.2026)
Zieht man das angezeigte Bild in der Vorschau ein Stück zur Seite, legt Chrome
es als **echte Datei** in den Ziehvorgang. `dataTransfer.types` enthält dann
`Files` – nicht zu unterscheiden von einer Datei aus dem Dateimanager. Die
Ablagefläche lud das Bild daraufhin ein zweites Mal hoch.
Nachgestellt und gemessen:
| Fall | vorher | nachher |
|---|---|---|
| Vorschaubild ziehen und ablegen | `draggable=true`, **1 Upload** | `draggable=false`, **0 Uploads** |
| Datei von außen ablegen | 1 Upload, Overlay sichtbar | unverändert 1 Upload, Overlay sichtbar |
Zwei Riegel, weil einer allein zu leicht wieder aufgeht:
1. `draggable={false}` an allen Bildern, die kein eigenes Ziehen brauchen –
Kachel-Vorschauen, Vorschaufenster, Suchtreffer, Papierkorb, Etiketten,
Logo, Profilbild. Die **Kachel** bleibt ziehbar und verschiebt die Datei.
2. `hooks/useInternalDrag.ts`: Was in dieser Seite losgezogen ist, wird nie
als Upload behandelt. `dragstart` feuert nur bei eigener Quelle; von außen
gibt es keins.
- [ ] Auf dem Handy gegenprüfen: Ein Bild lässt sich mit dem Finger nicht mehr
aus der Vorschau ziehen (dort war das Wischen ohnehin gemeint)
## Automatisiert geprüft (22.08.2026)
Diese Punkte hat Claude per API/`curl` gegen Wegwerf-Konten durchgespielt; sie