From 1f84c047914cf21df1a1de196d990d193539523d Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Tue, 15 Sep 2026 22:55:25 +0200 Subject: feat(hub): drop files and folders onto Files to upload them Into the folder on screen, under the Upload button's rule. A name already there, or one the node would refuse, cancels the whole drop with a message. Folders are recreated level by level; files go out a few at a time. The in-flight upload guard is keyed by folder and name. Co-Authored-By: Claude Opus 5 --- packages/meshbay-hub/src/meshbay_hub/static/transfers.js | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'packages/meshbay-hub/src/meshbay_hub/static/transfers.js') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/transfers.js b/packages/meshbay-hub/src/meshbay_hub/static/transfers.js index 524b7f3..9a1455a 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/transfers.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/transfers.js @@ -290,6 +290,12 @@ export class TransferStore { return item.id; } + /** Resolves with a transfer's final status once it has ended, whatever the ending. */ + settled(id) { + const item = this._items.find((it) => it.id === id); + return item ? item.promise.then(() => item.status) : Promise.resolve('gone'); + } + _watchLease(item) { item.lease._onState = (lease) => { if (item.status !== 'queued' && item.status !== 'running') return; -- cgit v1.2.3