From c85c7f48e8f29923038d4c90cc1a6f9b8bcd7673 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 9 Oct 2026 18:23:52 +0200 Subject: feat(node): refuse an upload on a full disk with a stated reason Nothing on the upload path knew about ENOSPC: a write that found no room raised out of the handler, the catch-all answered "Request failed", and the .part stayed behind holding the space that had run out. The node now refuses with `disk_full` at chunk 0 when the announced size would leave less than 1 GiB free, and at any write that fails with ENOSPC/EDQUOT, dropping the partial. The client carries the code on the error and the transfers panel says "The node's disk is full" in every catalogue. Co-Authored-By: Claude Opus 5.5 --- packages/meshbay-hub/src/meshbay_hub/static/locales/en.js | 1 + 1 file changed, 1 insertion(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales/en.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js index de7fc91..a25fb2e 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js @@ -902,6 +902,7 @@ export default { 'transfers.eta_minutes': '{n} min left', 'transfers.eta_hours': '{n} h left', 'transfers.failed': 'Failed', + 'transfers.disk_full': "The node's disk is full", 'group.select': 'Select', 'group.select_done': 'Done', 'group.actions': 'Actions ({n})', -- cgit v1.2.3