feat(satellite): ADB-Rollout wartet auf die Geraete-Bestaetigung (ein Klick genuegt)

Bisher: 1. Klick -> 'unauthorized' (Fehler), am Fire TV bestaetigen, 2. Klick ->
klappt. Jetzt wartet der Satellit nach dem ersten connect bis zu ADB_AUTH_WAIT_SEC
(90s) auf die Autorisierung und installiert danach automatisch weiter — der
Dialog auf dem Fernseher erscheint ja erst DURCH das connect.

- _adb_wait_authorized(): pollt adb devices alle 2s und verbindet neu (nach dem
  Bestaetigen wechselt der Zustand oft erst mit frischem connect auf 'device').
- adb.install/adb.connect nutzen es; scheitert es doch, nennt die Meldung Wartezeit
  und Zustand statt nur 'unauthorized'.
- Brain-Timeout fuer adb.* auf 320s (Warten + Download + Installation).
- Diagnostic: Hinweis erscheint SOFORT beim Klick ('Jetzt auf den Bildschirm des
  Geraets schauen'), nicht erst als Fehler hinterher.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 01:34:18 +02:00
co-authored by Claude Opus 4.8
parent 6a8dd662fa
commit 8301342728
3 changed files with 70 additions and 13 deletions
+12 -3
View File
@@ -1605,8 +1605,9 @@
<div style="color:#8888AA;margin-bottom:10px;">
Installiert die Agent-App per ADB über das Netzwerk. Voraussetzung am Gerät:
<strong>ADB-Debugging aktiv</strong> (Fire TV: Einstellungen › Mein Fire TV ›
Entwickleroptionen) — beim ersten Mal erscheint dort ein Dialog
„USB-Debugging zulassen?", den Du bestätigen musst.
Entwickleroptionen). Beim <strong>ersten Mal</strong> erscheint dort
„USB-Debugging zulassen?" — einfach bestätigen, während der Rollout läuft:
er wartet darauf und macht dann automatisch weiter.
</div>
<label style="display:block;margin-bottom:4px;color:#8888AA;">APK-URL</label>
<input id="apk-url" type="text" style="width:100%;padding:6px;background:#0D0D1A;border:1px solid #1E1E2E;border-radius:4px;color:#E0E0F0;"
@@ -4732,7 +4733,15 @@
const url = document.getElementById('apk-url').value.trim();
if (!url) { document.getElementById('apk-status').textContent = 'APK-URL fehlt'; return; }
apkRequestId = 'apk_' + Date.now() + '_' + Math.floor(Math.random() * 100000);
document.getElementById('apk-status').textContent = 'läuft … (kann 1–2 Minuten dauern)';
document.getElementById('apk-status').innerHTML =
'<span style="color:#FFD60A;">läuft …</span>';
const log = document.getElementById('apk-log');
log.style.display = 'block';
log.innerHTML = '👀 <strong style="color:#FFD60A;">Jetzt auf den Bildschirm des Geräts schauen.</strong>\n' +
'Beim ersten Mal erscheint dort „USB-Debugging zulassen?" — bestätigen\n' +
'(Haken bei „Immer erlauben"). Ich warte bis zu 90 Sekunden darauf und\n' +
'installiere dann automatisch weiter. Kein zweiter Klick nötig.\n\n' +
'Danach: APK laden + installieren, zusammen 1–3 Minuten.';
send({ action: 'sat_command', satellite: apkTarget.satId, cmd: 'adb.install',
requestId: apkRequestId, params: { ip: apkTarget.ip, url } });
}