feat(launcher): avvia e aggiorna agent-tray.exe insieme al worker #12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/launcher-supervises-tray"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
L'icona nell'area di notifica (
agent-tray.exe, #10) finora si installava a mano dalla cartella Esecuzione automatica e non veniva mai aggiornata. Ora la gestisce il launcher, che gia' fa lo stesso lavoro per il worker.Auto-update
/runner/latestguadagna due campi opzionali,tray_asset_url/tray_sha256(envGW_TRAY_LATEST_URL/GW_TRAY_LATEST_SHA256), riferiti alla stessa versione del worker. Se il gateway non li pubblica, il tray non viene toccato e l'update del runner resta identico a prima: un launcher vecchio non vede nulla di nuovo.selfupdate.Downloaddiventa un wrapper suDownloadAsset, riusabile per qualunque binario ruotabile dal launcher. Worker e tray hanno canali di notifica separati: un update del solo tray non interrompe le sessioni in corso.Avvio insieme al worker
Nuovi flag, persistiti negli Arguments del servizio:
-tray <path>(default accanto al launcher),-tray-args,-tray-disabled.Il tray non puo' partire dove gira il launcher (sessione 0, senza desktop ne' area di notifica): su Windows il processo si crea nella sessione della console con
WTSQueryUserToken+DuplicateTokenEx+CreateProcessAsUserelpDesktop=winsta0\default. Tre casi degradano con grazia:SE_TCB_NAME(servizio con l'account dell'utente, come serve all'auth diclaude)install-tray.ps1, senza loopNessun canary/rollback: il tray e' cosmetico; se crasha si riparte con backoff fino a 60s.
applyPendingIfAnyora gestisce anche la prima installazione (binario base assente): e' il caso del tray che arriva via update su una macchina che non l'aveva.Aggiunto
scripts/build-launcher.sh: una release pubblica tre asset (runner, tray, launcher).Verifica
gofmt,go vetsu linux e windows/amd64,go test ./...(nuovi test: supervisione, kill per update, exit volontario, download del tray, prima installazione) e i 52 test del gateway. Build dei tre.exeok.⚠️ Non verificabile da Linux: il comportamento reale su Windows (token di sessione, icona, WebView2) — resta lo smoke test sulla VM.
Ticket ]po[ 73643.