fix(trash): Vorschaubilder auch im Papierkorb ausliefern

GetThumbnail schlug die Datei mit is_deleted = false nach – im
Papierkorb also 404, und dort stand für jedes Bild nur ein graues
Quadrat. Man entschied über "endgültig löschen", ohne zu sehen, was es
war.

Schlägt der erste Griff fehl, wird jetzt im Papierkorb nachgesehen. Das
Vorschaubild überlebt das weiche Löschen ohnehin: Entfernt wird es erst
beim endgültigen Löschen, und der GC zählt es bis dahin als benutzt.

Geprüft gegen die laufende Instanz: Bild hochladen, löschen,
Vorschaubild abrufen -> 200, image/jpeg, 64x64.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-08-29 14:21:55 +02:00
1 parent 451f359734
commit 105b1a0e74
1 file changed
+7
+7
View File
@@ -715,6 +715,13 @@ func (h *Handler) GetThumbnail(w http.ResponseWriter, r *http.Request) {
return
}
f, err := h.store.GetFile(r.Context(), id, owner.OwnerID)
if errors.Is(err, ErrNotFound) {
// Auch aus dem Papierkorb ausliefern. Das Vorschaubild überlebt das
// weiche Löschen (entfernt wird es erst beim endgültigen), und ohne
// diesen zweiten Griff stünde dort nur ein graues Quadrat – man
// entschiede über „endgültig löschen", ohne zu sehen, was es war.
f, err = h.store.GetTrashedFile(r.Context(), id, owner.OwnerID)
}
if errors.Is(err, ErrNotFound) {
response.Error(w, http.StatusNotFound, "file not found")
return