fix(uploads): retry failed files and report full storage
ci / db / db (push) Successful in 1m51s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m40s
ci / module boundaries / boundaries (push) Successful in 7s
ci / api / api (push) Successful in 33s
ci / ts / ts (packages + web) (push) Failing after 5m16s

This commit is contained in:
mrleo1nid committed 2026-10-29 00:39:03 +03:00
1 parent b39e4dc28f
commit 5e2d1e902b
10 files changed
+205 -18

No files matched your search

+5
View File
@@ -10,6 +10,7 @@ import (
"path/filepath"
"strconv"
"sync"
"syscall"
"github.com/go-chi/chi/v5"
"github.com/google/uuid"
@@ -162,6 +163,10 @@ func (t *TUS) patch(w http.ResponseWriter, r *http.Request) {
}
// Обрыв посреди куска: принятое сохранено, клиент спросит HEAD и продолжит.
t.log.WarnContext(r.Context(), "tus: write interrupted", "upload_id", f.ID, "offset", now, "err", werr)
if errors.Is(werr, syscall.ENOSPC) || errors.Is(werr, syscall.EDQUOT) {
httpx.WriteProblem(w, http.StatusInsufficientStorage, "uploads.storage_full", "upload storage is full")
return
}
httpx.WriteProblem(w, http.StatusInternalServerError, "common.internal", "write interrupted")
return
}