diff --git a/app.py b/app.py
index 950ea5a..0cd30f0 100644
--- a/app.py
+++ b/app.py
@@ -983,9 +983,13 @@ def r_start():
return jsonify(error='Abbruch wird noch abgeschlossen - bitte kurz warten und erneut versuchen.'), 400
cfg = load_cfg()
devs = usb_devices()
+ body = request.get_json(force=True) or {}
+ wanted_ports = body.get('ports') # None = alle konfigurierten Quellen
src_ports = _resolve_source_ports(cfg)
srcs = [next((d for d in devs if d['usb_port'] == sp['port']), None) for sp in src_ports]
srcs = [s for s in srcs if s is not None]
+ if wanted_ports is not None:
+ srcs = [s for s in srcs if s['usb_port'] in wanted_ports]
if not srcs: return jsonify(error='Keine Quellgeräte gefunden (Ports nicht verbunden)'), 400
dst = next((d for d in devs if d['usb_port'] == cfg.get('dest_port')), None)
if not dst: return jsonify(error='Zielgerät nicht gefunden'), 400
@@ -1726,9 +1730,9 @@ body{background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSys
-
-
-
+
+
+
@@ -2004,6 +2008,8 @@ async function refreshDevices(){
populateSel();
}
+let selectedPortSet = new Set();
+
function renderSources(){
const ports = cfg.source_ports || [];
$('sources-list').innerHTML = ports.map((sp, i) => {
@@ -2011,6 +2017,7 @@ function renderSources(){
const info = dev
? (dev.label||dev.device) + (dev.size ? ' | '+dev.size : '')
: 'Gerät nicht verbunden';
+ const chk = selectedPortSet.has(sp.port) ? 'checked' : '';
return `
';return;}
- this.paths[this.role]=data.path||'';
+ this.paths[this.role]=data.path||''; // role z.B. 'src_0', 'dst'
this._bread(data.path||'',dev.label||dev.device);
this._list(data.entries||[],data.path||'');
}catch(e){body.innerHTML='
Verbindungsfehler
';}
diff --git a/version.txt b/version.txt
index 1c2de38..321816a 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.0.23
\ No newline at end of file
+1.0.24
\ No newline at end of file