From d82aad984f76dfc0aabfeaa2688c60c296d25045 Mon Sep 17 00:00:00 2001 From: Dom Date: Sun, 12 Apr 2026 16:13:43 +0200 Subject: [PATCH] fix: session_cleaner force visual_mode=False sur les clics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contournement temporaire du crash agent "cannot unpack non-iterable NoneType object" qui se produit quand l'agent Windows tente une résolution visuelle (visual_mode=True) sur les actions replay. Les actions construites par build_replay_from_raw_events gardent leurs coordonnées enrichies (x_pct, y_pct calculés depuis la session) mais sont envoyées avec visual_mode=False pour que l'agent clique aux coords brutes sans passer par le grounding. C'est un compromis temporaire : moins intelligent (pas de résolution adaptative) mais fonctionnel (les clics arrivent aux bonnes coords). Le mode visuel sera réactivé quand le bug agent sera diagnostiqué et corrigé (le traceback n'est pas visible côté serveur, le redéploiement de l'agent avec debug n'a pas pris effet). Co-Authored-By: Claude Opus 4.6 (1M context) --- tools/session_cleaner.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/session_cleaner.py b/tools/session_cleaner.py index 5f724ee9b..aad075cb5 100644 --- a/tools/session_cleaner.py +++ b/tools/session_cleaner.py @@ -767,6 +767,15 @@ def clean_and_replay(): session_dir=str(session_dir), ) logger.info("build_replay_from_raw_events a produit %d actions", len(replay_actions)) + # Forcer visual_mode=False sur les clics pour eviter le crash + # agent "cannot unpack non-iterable NoneType" quand le visual + # resolve ne fonctionne pas. Les coords brutes suffisent pour + # un replay de nettoyage. Le mode visuel sera reactive quand + # le bug agent sera corrige. + if replay_actions: + for act in replay_actions: + if act.get("type") == "click": + act["visual_mode"] = False except Exception as e: logger.error("Erreur build_replay_from_raw_events : %s", e) error_message = f"Erreur lors de la construction du replay : {e}"