fix: robustesse v1.1.6 — timeout runner/doctor, anti-deadlock, securite migrate, win32 is_running, websocket RFC6455, keyring JSON
- runner.rs: timeout 30s sur les commandes capturees (doctor ne pend plus) + pipes stdout/stderr draines dans des threads (anti-deadlock) ; run_untimed() pour les installations longues (npm/cargo/go) — sh() des installateurs l'utilise, les sondes gardent le timeout
- migrate_cmd.rs: rejet des chemins unsafe (path traversal) dans import_bundle
- process.rs: is_running Windows via OpenProcess/GetExitCodeProcess (fiable vs tasklist)
- probe.rs: drain des pipes en threads dans detect_external_version
- web.rs: boucle de traduction i18n (curseur, plus de boucle infinie si la traduction contient {{)
- serve.rs: frames WebSocket RFC 6455 avec vraies longueurs > 125 octets (126/127)
- secrets.rs: index keyring serialise en JSON (cles contenant des virgules)
- sandbox.rs: tests sans fuite de TempDir (plus de mem::forget)
- version 1.1.6, man pages et ROADMAP maj
This commit is contained in:
+10
@@ -119,6 +119,16 @@
|
||||
> — aichat ne filtre rien et échoue sur `.git/index`. Génération `--exec` :
|
||||
> `--code` au lieu de `--execute --dry-run` (aichat ≥ 0.30 : `--dry-run`
|
||||
> n'appelle plus l'API, il écho la requête).
|
||||
>
|
||||
> 🔧 **Maintenance v1.1.6 (2026-08-24)** : correctifs de robustesse —
|
||||
> timeout de 30 s sur les commandes capturées (doctor/runner ne pendent plus
|
||||
> si un agent ne répond pas, pipes vidés dans des threads pour éviter les
|
||||
> deadlocks), `is_running` Windows via l'API Win32 (OpenProcess /
|
||||
> GetExitCodeProcess, plus fiable que tasklist), rejet des chemins unsafe
|
||||
> (path traversal) dans `am migrate --import`, frames WebSocket RFC 6455
|
||||
> avec vraies longueurs > 125 octets, boucle de traduction i18n de la page
|
||||
> web corrigée (plus de boucle infinie), index du trousseau (keyring)
|
||||
> sérialisé en JSON (clés contenant des virgules).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user