- Deletes the `from . import distribution_routes` import. The /distribution/*
HTTP routes now register from the companion plugin (ComfyUI-USCG-Distributed)
at /uscg-distribution/*.
- Adds `sys.modules["comfyui_uscg_main"] = sys.modules[__name__]` so the
Distributed companion's worker can lazy-import main USCG modules via
`from comfyui_uscg_main.<module> import ...` without depending on the
hyphenated folder name (not a valid Python identifier).
This mirrors the Phase 1 pattern of registering 'comfyui_uscg_remote_vae'
in the Remote VAE companion's __init__.py.
Adds a 'Delete All Rejected Items' button in the cog menu next to the
existing 'Delete All Non Favorited Items' button. Adds the matching
/config_tester/delete_rejected backend endpoint that removes rejected
item files and updates the manifest.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
_create_image_links() had a hardcoded IMAGE_EXTENSIONS set that only
linked .png/.jpg/.jpeg/.webp/.bmp files into the external_images/ symlink
directory. Videos discovered by the scanner were added to the manifest
but never linked, causing ComfyUI's /view endpoint to return 404 for
every video.
Now imports MEDIA_EXTENSIONS from directory_scanner.py so images and
videos share the same allowlist — single source of truth.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- load_checkpoint() needs target_model_name, ckpt_name, use_remote_vae
positional args — was being called with just model_name
- Preset save endpoints now validate for empty request body before
JSON parsing to avoid "Expecting value" errors
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New preset system for config arrays: save/load all samplers,
schedulers, steps, CFG, models, LoRAs, VAEs, prompts, and all
other settings as reusable presets. Stored in USCG-config-section-presets.json.
Preset dropdown with Load/Save/Delete in the Config Arrays header bar.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Async upscale API: POST starts a background job, GET polls status,
POST cancels. Supports single image and all-favorited modes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Stored at output/benchmarks/USCG-upscale-presets.json following the
custom resolutions pattern. Shared between Builder UI and Dashboard.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New nodes now show the session landing page instead of auto-loading
"my_session". Uses _configured_from_workflow flag to distinguish fresh
nodes from saved workflows. Also fixes session cards Y-axis overflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removed standalone edit button (editor accessible via dropdown menu)
- Dropdown and Clear on their own row, custom WxH inputs on a second row
- Custom resolutions file moved to benchmarks/USCG-custom-resolutions.json
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replaced tiny native <select> with large custom dropdown button
- 3-level nested submenu: Model Type > Orientation (Landscape/Portrait/Square) > Sizes
- Massively expanded built-in presets: SD1.5, SDXL, Illustrious/Pony, Flux, Wan/Video, HiRes/Upscale
- Custom Resolutions Editor modal for creating persistent user-defined resolutions
organized into named categories
- Custom resolutions saved to ComfyUI output/USCG-custom-resolutions.json
- Custom category always appears first in the dropdown menu
- Edit button (pencil emoji) for quick access to the custom editor
- Backend: GET/POST /configbuilder/custom_resolutions endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Root cause: Two issues prevented the landing page from showing.
1. __init__.py get_session_html endpoint returned 404 when session
didn't exist, so the iframe never received any content. Now returns
full template with empty manifest so landing page JS can display
available sessions.
2. web/dashboard.js never auto-loaded on node creation - the iframe
started empty (black box). Now auto-calls forceLoadSession after
node creation so the dashboard immediately shows either the session
grid or the landing page with session cards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Topbar: Changed Load Session to Reload Session with refresh icon
- Settings cog: Added session picker dropdown in SESSION section
- New endpoint: GET /config_tester/list_sessions returns sessions with
metadata (name, item count, first image, modification time)
- Landing page: Shows session cards with thumbnails when no session loaded
- Click any card or use dropdown to load a session
- Landing page auto-hides when session data loads
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>