Taremin
|
9d3d5e5f2e
|
fix(filter): JsonFilterウィジェットのサイズがノードに追従しない問題を修正
LiteGraphの制約によってウィジェットのサイズが固定されてしまう問題を解決し、標準ウィジェットと同様のレイアウトと挙動を実現
- ウィジェット内部要素に直接絶対配置とマージンを適用しLiteGraphのコンテナ制約をバイパス
- ウィジェットのcomputeSizeで固定の最小サイズを返すように変更
- E2Eテストのサイズ検証を実際のDOMピクセル基準に変更し精度を向上
- README.mdにサンプルワークフローの説明を追記
|
2026-08-12 19:57:41 +09:00 |
|
Taremin
|
34e58eb485
|
fix: JsonFilterで複数ルール表示時にコントロールがズレる不具合を修正
JsonFilterノードにて複数のフィルタールールが存在し、横スクロールが発生するほどコンテナ幅が狭くなった際に、1行目のスペーサーと2行目以降の演算子(AND/OR)セレクトボックスの幅が一致せず、各行の入力要素やその他のコントロールの左右位置がずれてしまう問題を解決。
- AND/ORを選択するセレクトボックス要素に専用のCSSクラスを追加
- スペーサーと演算子セレクトボックスの幅を50pxに統一し、flex-shrink: 0およびbox-sizing: border-boxを適用して幅の縮小を防止
- 幅が狭い状態でスペーサーと演算子セレクトボックスの幅、および隣接列 of X座標のアライメントを検証するE2Eテストを追加
|
2026-07-14 09:23:46 +09:00 |
|
Taremin
|
6dc652fd47
|
chore: ComfyUIレガシーUI(V1)対応コードの削除とテストコードの整理
ComfyUI v0.2.0以降の新フロントエンド(V2 UI)の標準化に伴い、不要となった古いレガシーUI(V1)向けの実装やテストコードの検証、曖昧な「V2」表記のコメントをクリーンアップ。
- 設定画面内のカスタム項目(プリセット管理ボタンやCSV一覧)のDOM存在検証を削除
- それに伴う不要なUserWarning警告処理を廃止
- 設定ダイアログを開くテストヘルパーからV1向けのID探索やモーダル消去処理を削除
- ソースコードおよびテストコードのコメントから曖昧な「V2」「V2 UI」といった表記を具体的な「ComfyUI設定画面」や「ダイアログ」などの表現に修正
- テストコード内の不要になった項目番号コメント(「3. 」など)の修正
|
2026-07-13 22:32:09 +09:00 |
|
Taremin
|
26e910b4f1
|
chore(test): ComfyUIの複数バージョン自動検証基盤の導入とテスト安定化
テスト時に指定された複数のComfyUIバージョンを自動ダウンロードし、最適な仮想環境を構築した上でテストを実行する仕組みを導入。また、Playwright同期APIに起因するデッドロックやキャッシュ汚染によるテストのハングアップ問題を解消。
- 設定ファイルで複数バージョンの定義をサポート
- 該当するComfyUIおよびEmbeddable Pythonを自動取得するdownloaderモジュールを追加
- pytest_generate_testsによりバージョン別のテストを動的にパラメータ化
- min_comfy_versionマーカーによるバージョン制限テストの条件付きスキップをサポート
- Windows環境でのゾンビプロセス防止のためtaskkillによる強制終了処理を追加
- バージョン切り替え時のブラウザキャッシュ汚染を防ぐためキャッシュを無効化
- Playwright同期APIのダイアログ処理をJavaScript側でのモック化へ移行しデッドロックを回避
- 設定画面でのCSVトグル描画有無によるテストアプローチの動的切り替えを実装
- リサイズ操作のsteps指定など各種タイミング競合とタイムアウト処理を強化
|
2026-07-13 21:13:11 +09:00 |
|
Taremin
|
9eda74eab2
|
feat(multitext): implement template autocomplete and error navigation on frontend
|
2026-06-20 07:15:17 +09:00 |
|
Taremin
|
359baea938
|
fix: 隠しウィジェット置換時の Monaco Editor のはみ出し表示を修正
- display 属性の同期が除外されている影響で、非表示(hidden)にされたウィジェットの Monaco Editor が表示され続けてしまう不具合を解消
- ウィジェットの type プロパティの変更を Object.defineProperty でフックし、'hidden' 設定時にエディタの display スタイルを 'none' に制御するよう修正
- JsonFilterノード生成時に rules ウィジェットの Monaco Editor が非表示になっていることを検証する E2E テストを追加
|
2026-06-20 01:02:30 +09:00 |
|
Taremin
|
29a3c74040
|
fix: Monaco APIによるE2Eテスト検証の安定化およびイベント伝播の共通化
- Monaco Editor 0.54.0 へのアップデートに伴い、suggestController 内部 of 非公開プロパティ名が _model から model に変更されていた問題に対処。PromptEditor.getSuggestList() において、controller.model と controller._model の両方に対応する互換フォールバックロジックを実装。
- E2Eテスト内の補完ウィジェット(サジェストリスト)表示確認について、従来のDOM要素セレクタ(.suggest-widget 等)依存から、PromptEditor の API 経由(isSuggestVisible, getSuggestList)での取得・検証方式へ移行。これにより、マークアップ変更への堅牢性が向上。
- applyCommonEditorSetup にて keydown / keyup イベントの伝播防止処理を単一ハンドラに共通化。
- test_multitext_shortcuts における無駄なキャンバスクリックを削除し、カプセル化された pe.focus() を呼び出す形に整理。フォーカス剥奪によるノードの意図しない削除不具合を解消。
|
2026-05-24 04:19:28 +09:00 |
|
Taremin
|
48da26c54b
|
fix: 設定でヘッダー非表示時の初期ロードのちらつき防止とリネーム
- 設定でヘッダー非表示の場合に、最初からヘッダー要素が非表示(display: none)になるようにコンストラクタ内で初期適用するように修正
- 設定ロード時の `force`(強制適用)フラグが `PromptEditorManager` を経由する際に消失する不具合を解消するため、`onSettingChange` および `updateSettings` で `force` 引数を伝達するように修正
- 実際にはトグル(反転)を行わない `toggleHeader` メソッドを、役割を示す `updateHeaderVisibility` にリネーム
- サイズ変更を正確にフックするために `handleResize` 内に `ResizeObserver` を導入
- 要素アタッチ初期の非同期レイアウトズレでヘッダーが誤って非表示になるのを防ぐため、境界チェック処理を親要素の幅・高さに基づく簡易判定に改善
- 動作検証および再発防止のためのE2Eテスト `test_header_visibility.py` を追加
|
2026-05-23 15:34:09 +09:00 |
|
Taremin
|
dbbd9284eb
|
feat(multitext): 一括選択機能の実装と DOM 更新の最適化
- 選択モード用のツールバーに「すべて有効」「すべて無効」ボタンを追加
- checkboxElements (Map) による要素管理と syncCheckboxes メソッドを導入し、
DOM の全面再構築を伴わない高速な状態更新を実現
- チェック状態の計算ロジックを calculateCheckState に集約
- 一括選択機能の正常動作を検証する E2E テストを追加
|
2026-04-06 07:11:41 +09:00 |
|
Taremin
|
34f9a7901b
|
feat: Selection Modeのチェックボックスを親子間で連動させる機能を追加
- フォルダのON/OFFを切り替えた際、子要素の状態を一括で同期(トップダウン)
- 子要素のON/OFFを切り替えた際、親フォルダの状態を自動で更新(ボトムアップ)
- 子が1つでもONなら親もON
- 全ての子がOFFなら親もOFF
- 部分選択(Indeterminate)状態のUIサポートを追加
- 連動機能を検証するためのE2Eテストを追加・修正
|
2026-04-03 22:59:57 +09:00 |
|
Taremin
|
d892109784
|
feat(multitext): Selection Mode (選択モード) の追加
- MultiTextノードのツリー上でファイル・フォルダ単位でOutput出力対象から除外できる「選択モード」を追加
- UIのツールバーに選択モード切り替えボタンを追加し、チェックボックスで状態を切り替え可能にした
- バックエンドのJSONパース処理(traverse)にて、selectionModeとoutputプロパティに基づき対象ファイルを除外するよう改修
- ユニットテストおよび状態維持(Persistence)のE2Eテストを追加し、保存・リロード時の動作を保証
|
2026-04-03 16:38:28 +09:00 |
|
Taremin
|
f2ab8597e6
|
refactor: PromptEditorManagerの導入による状態管理の中央化とE2Eテストの安定化
- src/PromptEditorManager.ts を新設し、これまで各エディタインスタンスに分散していた設定と状態の同期処理をグループ単位で一元管理するようにリファクタリング。
- src/index.ts, src/main.ts, src/comfyui/index.ts において、runAllInstances や直接の setSettings 呼び出しを廃止し、Manager経由の updateSettings フローに置き換え。
- src/completion.ts にて CSV パース時のエラーハンドリング (try/catch) を追加し、不正なデータによるクラッシュを防止。
- PromptEditor のDOM初期化プロセスを見直し、非同期でのレイアウトワークアラウンド適用により堅牢性を向上。
- テストコード (tests/) において、CSVパースエラー時のリカバリ確認テストの修正と、UI要素(チェックボックス等)のセレクタ指定を安定化。
|
2026-04-02 09:00:46 +09:00 |
|
Taremin
|
7b1ebac3ed
|
refactor(e2e & core): E2Eテストの安定性向上およびMonaco初期化競合・コンテキスト追跡の修正
- src/:
- Monaco言語サービス (CompletionItemProvider 等) をシングルトン構造として登録・管理し、設定変更時にインスタンス間でリスナーが重複・競合しないようにリファクタリング。
- 非同期な初期化時のタイミング問題を回避するため、コンテキストキーの保持方法や再接続ロジックを最適化。
- tests/:
- Playwrightの固定待機 (wait_for_timeout) を削減し、動的な可視性チェック (wait_for(state="attached")) や evaluate を用いたDOM操作へ移行。
- テスト間のコンフリクトを回避するため、テスト用CSVの動的生成 (UUID利用) を導入。
- test_multitext_autocomplete.py 等で、設定ダイアログ操作やページリロードを含めた本来の永続化テストシナリオが安定稼働するよう再構築。
|
2026-03-27 13:30:51 +09:00 |
|
Taremin
|
d3d28e2aca
|
fix(comfyui): リロード時に設定(ShowHeaderやLanguage Feature等)が初期化される不具合を修正
- localStorage を直接読み書きしていた古い処理を廃止し、設定の取得・保存を公式のAPI (pp.ui.settings) へ一本化
- 初期化時(setup())の連鎖的な onChange イベントによる意図しないデフォルト値での上書き保存を防ぐため、保護フラグ (isInternalSyncing) を関数の最後で解除するよう修正
- 変更した設定がリロード後も正しく保持されていることを検証するE2Eテスト ( est_settings_init_bug.py) を追加
|
2026-03-23 15:32:49 +09:00 |
|
Taremin
|
11a01c41eb
|
fix(comfyui): CSVトグル設定が即座にサジェストに反映されない不具合の修正とテスト追加
- addCSV内で無条件に有効化してタグリストに追加していた処理を削除し、loadedCSVへの キャッシュに専念するよう変更
- addLoadedCSVを改善し、現在有効なCSVリストを元に安全にタグを再構築するロジックに変更
- wordBasedSuggestionsは影響がなかったため元の設定に復元
- CSVオン・オフ時のサジェスト反映(表示/非表示)を検証するE2Eテストを追加
|
2026-03-21 13:49:17 +09:00 |
|
Taremin
|
f84fea75b6
|
refactor: テストディレクトリの構成整理とプリセット機能のモジュール化
- テストファイルを e2e, unit, debug などのカテゴリ別ディレクトリに移動し、構成を整理
- 不要な一時デバッグ用スクリプトを削除し、テスト環境をクリーンアップ
- 言語機能やプリセット定義を src/languages/ ディレクトリに分離・モジュール化
- 言語プリセット管理ダイアログ (preset_dialog.ts) の追加と関連スタイルの更新
- __init__.py での MultiText ノード入力値パース処理を堅牢化 (リスト入力や不正JSONへの対応)
- .gitignore に .agents および debug_dumps の除外設定を追加
|
2026-03-18 19:37:00 +09:00 |
|
Taremin
|
f9c128baf0
|
fix(comfyui): PresetとLanguage Featuresの同期と無限ループの修正
- Language Presetの選択肢に"custom"を明示的に追加し、リロード時にデフォルトへ上書きされる問題を解消
- Feature変更時にPresetを"custom"へ自動同期する処理を追加
- 同期処理中の再帰的な設定更新を防ぐためのフラグ(isSyncing)を導入し、無限ループを防止
- getSettings内でComfyUIの設定オブジェクト(preferApp=true)を優先して読み取るよう修正し、整合性を向上
- Preset同期と無限ループを検証するためのE2Eテストを追加
|
2026-03-18 19:22:50 +09:00 |
|