feat: smart systray Léa (plyer), preflight GPU, fix tests, support qwen3-vl
- Smart systray (pystray+plyer) remplace PyQt5 : notifications toast, menu dynamique avec workflows, chat "Que dois-je faire ?", icône colorée - Preflight GPU : check_machine_ready() + @pytest.mark.gpu dans conftest - Correction 63 tests cassés → 0 failed (1200 passed) - Tests VWB obsolètes déplacés vers _a_trier/ - Support qwen3-vl:8b sur GPU (remplace qwen2.5vl:3b) - fix images < 32x32 (Ollama panic) - fix force_json=False (qwen3-vl incompatible) - fix temperature 0.1 (0.0 bloque avec images) - Fix captor Windows : Key.esc, _get_key_name() - Fix LeaServerClient : check_connection, list_workflows format - deploy_windows.py : packaging propre client Windows - VWB : edges visibles (#607d8b) + fitView automatique Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,16 +103,24 @@ class TestImportsRegression:
|
||||
def test_type_checking_works(self):
|
||||
"""Test que TYPE_CHECKING fonctionne correctement"""
|
||||
import core.models as models
|
||||
|
||||
# Les imports conditionnels ne devraient pas être disponibles à l'exécution
|
||||
assert not hasattr(models, 'Workflow')
|
||||
assert not hasattr(models, 'Action')
|
||||
assert not hasattr(models, 'TargetSpec')
|
||||
|
||||
# Mais les lazy imports devraient être disponibles
|
||||
|
||||
# Les types workflow_graph ne sont pas importés directement au niveau module,
|
||||
# mais sont disponibles via __getattr__ (lazy loading). Vérifier que
|
||||
# les noms ne sont PAS dans le namespace direct du module (vars()),
|
||||
# mais sont accessibles via __getattr__ pour le lazy loading.
|
||||
module_vars = vars(models)
|
||||
assert 'Workflow' not in module_vars, "Workflow ne devrait pas être dans les attributs directs du module"
|
||||
assert 'Action' not in module_vars, "Action ne devrait pas être dans les attributs directs du module"
|
||||
assert 'TargetSpec' not in module_vars, "TargetSpec ne devrait pas être dans les attributs directs du module"
|
||||
|
||||
# Les lazy imports explicites devraient être disponibles
|
||||
assert hasattr(models, 'get_workflow')
|
||||
assert hasattr(models, 'get_action')
|
||||
assert hasattr(models, 'get_target_spec')
|
||||
|
||||
# Le lazy loading via __getattr__ doit fonctionner
|
||||
Workflow = models.Workflow
|
||||
assert Workflow.__name__ == 'Workflow'
|
||||
|
||||
def test_existing_imports_still_work(self):
|
||||
"""Test que les imports existants dans d'autres modules fonctionnent"""
|
||||
|
||||
Reference in New Issue
Block a user