テスト時に指定された複数のComfyUIバージョンを自動ダウンロードし、最適な仮想環境を構築した上でテストを実行する仕組みを導入。また、Playwright同期APIに起因するデッドロックやキャッシュ汚染によるテストのハングアップ問題を解消。 - 設定ファイルで複数バージョンの定義をサポート - 該当するComfyUIおよびEmbeddable Pythonを自動取得するdownloaderモジュールを追加 - pytest_generate_testsによりバージョン別のテストを動的にパラメータ化 - min_comfy_versionマーカーによるバージョン制限テストの条件付きスキップをサポート - Windows環境でのゾンビプロセス防止のためtaskkillによる強制終了処理を追加 - バージョン切り替え時のブラウザキャッシュ汚染を防ぐためキャッシュを無効化 - Playwright同期APIのダイアログ処理をJavaScript側でのモック化へ移行しデッドロックを回避 - 設定画面でのCSVトグル描画有無によるテストアプローチの動的切り替えを実装 - リサイズ操作のsteps指定など各種タイミング競合とタイムアウト処理を強化
- src/: - Monaco言語サービス (CompletionItemProvider 等) をシングルトン構造として登録・管理し、設定変更時にインスタンス間でリスナーが重複・競合しないようにリファクタリング。 - 非同期な初期化時のタイミング問題を回避するため、コンテキストキーの保持方法や再接続ロジックを最適化。 - tests/: - Playwrightの固定待機 (wait_for_timeout) を削減し、動的な可視性チェック (wait_for(state="attached")) や evaluate を用いたDOM操作へ移行。 - テスト間のコンフリクトを回避するため、テスト用CSVの動的生成 (UUID利用) を導入。 - test_multitext_autocomplete.py 等で、設定ダイアログ操作やページリロードを含めた本来の永続化テストシナリオが安定稼働するよう再構築。
- テストファイルを e2e, unit, debug などのカテゴリ別ディレクトリに移動し、構成を整理 - 不要な一時デバッグ用スクリプトを削除し、テスト環境をクリーンアップ - 言語機能やプリセット定義を src/languages/ ディレクトリに分離・モジュール化 - 言語プリセット管理ダイアログ (preset_dialog.ts) の追加と関連スタイルの更新 - __init__.py での MultiText ノード入力値パース処理を堅牢化 (リスト入力や不正JSONへの対応) - .gitignore に .agents および debug_dumps の除外設定を追加