Commit Graph
12 Commits
Author SHA1 Message Date
Mehdi Chaid b5fdf63cdb feat(flake-modal): default cover image from first LoRA's sibling (#63)
When the user selects a LoRA on a flake and no cover has been picked
yet, fetch the LoRA's sibling image (same basename, .png/.jpg/.webp/...)
from models/loras/ and use it as the flake's default cover.

Triggers from all three LoRA selection paths (file browser, dropdown
change, dropdown blur) but only for the first LoRA on the flake, and
only when no cover file has been chosen by the user. Adds a server
endpoint /flakes/lora_sibling_image mirroring the existing checkpoint
sibling endpoint, with a shared helper.
2026-05-05 16:29:51 -04:00
Mehdi Chaid 8754e7556c feat: add model family selection with flakes and presets filtering (#62) 2026-05-04 15:42:33 -04:00
Mehdi Chaid 7573d71c68 feat(checkpoint-image): auto-set preset cover from sibling image and update on swap
- Add /flakes/checkpoint_sibling_image endpoint to find an image next to
the selected checkpoint with the same basename.
- In the preset editor, auto-load that image as cover when a checkpoint is
selected, but only if no cover already exists.
- Poll preset widget value in FlakeModelPreset so cover updates immediately
when the user swaps presets via the dropdown.

Closes #52
2026-04-29 14:54:03 -04:00
Mehdi Chaid ec0b5910b6 Fix _browse to search all roots dynamically instead of first root at import time
- Replace module-level _BROWSE_ROOTS with dynamic _get_browse_roots() called
  at request time. This fixes the Empty folder bug caused by evaluating paths
  before ComfyUI has finished registering them.
- Search ALL configured roots for a given type and merge/deduplicate results,
  matching the behavior of folder_paths.get_filename_list().
- Add security check per-root so symlink escapes are skipped rather than fatal.

Closes #44
2026-04-28 16:35:48 -04:00
Mehdi Chaid 73a32e661f File picker: fallback to root directory when default img subdirectory is missing
Closes #31
2026-04-28 13:58:06 -04:00
Mehdi Chaid 46da579d5a Add cover image support for Model Presets
- Backend: add save_preset_cover, read_preset_cover, _preset_cover_path helpers
- Backend: add /flakes/preset_cover GET/POST endpoints
- Frontend: add cover image upload box in preset edit modal
- FlakeModelPreset node: displays preset cover image under the dropdown
- FlakeModelCombo grid items: use preset cover as background with dark overlay

Closes #26
2026-04-28 12:56:13 -04:00
Mehdi Chaid c85bd9e149 Implement Python-backed file browser for correct base paths
- Add /flakes/browse API endpoint that returns directory listings
  filtered by file type (checkpoints, loras, flakes)
- Build custom file browser overlay in JavaScript
- Replace all browser-native file pickers with the Python-backed browser:
  - Checkpoint selection defaults to models/checkpoints/img/
  - LoRA selection defaults to models/loras/img/
  - Load Existing defaults to models/flakes/img/
- Remove unused createFilePicker helper

Closes #29
2026-04-28 12:53:24 -04:00
Mehdi Chaid 8495c424d9 new model preset improvements 2026-04-26 22:16:56 -04:00
Mehdi Chaid 4b3a0b7819 model preset 2026-04-26 19:08:11 -04:00
Mehdi Chaid 678bb15cfd full flakes 2026-04-26 11:27:44 -04:00
Mehdi Chaid abaf147bf5 Grid UI + on disk write/read of flakes 2026-04-25 15:18:24 -04:00
Mehdi Chaid 6e02eb300d Initial commit 2026-04-25 12:53:38 -04:00