Serial/parallel transfers setting

Transfers: Single | Multi in the options popover, with an 'At once' picker
(2/3/4/6/8) when Multi. Engine concurrency becomes an instance field applied
live: at boot from settings.json and on every saveSettings (raising the limit
starts queued jobs immediately). Verified headless: 3 slow jobs overlap at
concurrency 3, stay strictly serial at 1, clamp works.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jokin
2026-07-11 17:32:21 +02:00
co-authored by Claude Fable 5
parent ff62c07f15
commit c95087c079
6 changed files with 79 additions and 4 deletions
+2
View File
@@ -1,5 +1,6 @@
import { BrowserWindow, Updater } from "electrobun/bun";
import { BRANDING } from "../shared/branding";
import { effectiveConcurrency } from "../shared/types";
import { SessionRegistry } from "./fs/registry";
import { createAppRPC } from "./rpc-handlers";
import { ConnectionStore } from "./store/connections";
@@ -58,5 +59,6 @@ new BrowserWindow({
engine.onUpdate = (snapshot) => rpc.send.transferUpdate(snapshot);
events.sessionClosed = (info) => rpc.send.sessionClosed(info);
void settings.load().then((s) => engine.setConcurrency(effectiveConcurrency(s)));
console.log(`${BRANDING.appName} started (${url})`);