ComfyUI-Manager/comfyui_manager/js
Dr.Lt.Data 16ba874566 feat(security): dedicated install flags decouple git_url/pip from security_level
Add two boolean config.ini [default] flags — allow_git_url_install and
allow_pip_install (both default false) — that fully REPLACE the
security_level term on the legacy install surfaces:

- POST /v2/customnode/install/git_url (S-A) and
  POST /v2/customnode/install/pip (S-B) are now gated solely by their
  dedicated flag AND the retained network-position invariant
  (loopback listener OR network_mode=personal_cloud). security_level
  no longer affects these two surfaces in either direction.
- The batch unknown-URL branch (S-C) routes through the same predicate;
  the unknown-pip branch stays unconditionally blocked; the general
  middle+ batch entry gate is unchanged.
- New pure predicate is_dedicated_install_allowed() in
  common/manager_security.py (config-import-free; callers pass values
  from their own reader). Both config readers (glob + legacy) register
  the keys in read/write/fallback paths.
- Denial logs and frontend copy name the responsible flag instead of
  the misleading security_level guidance. Public listeners remain
  denied regardless of the flags (no exposure widening).
- README security policy updated: config keys documented, git-url/pip
  removed from the security_level risky table, and a dedicated-flags
  subsection (REPLACE semantics, network rule, batch behavior,
  restart-only activation, weak/normal- opt-in migration note).
- Migration: existing weak/normal- users must opt in via the new flags
  (CHANGELOG note; deliberate no auto-seed).

Includes the unit/config/guard test suites (88 tests): predicate truth
table, dual-reader config contract (missing/malformed keys read false,
round-trip, cache staleness), security_level-matrix freeze guards, and
suite-order-independent test stubs.
2026-06-08 02:12:14 +09:00
..
cm-api.js fix(security): harden CSRF with Content-Type gate and expand E2E coverage (#2818) 2026-04-22 05:04:30 +09:00
comfyui-gui-builder.js Changed Main Dialog to match aesthetics and close button location as Original ComfyUI Interface (#2349) 2025-12-19 15:04:02 +09:00
comfyui-manager.js fix(security): harden CSRF with Content-Type gate and expand E2E coverage (#2818) 2026-04-22 05:04:30 +09:00
comfyui-share-common.js modified: remove matrix-nio dependency from the requirements.txt 2025-08-22 20:46:32 +09:00
comfyui-share-copus.js Merge branch 'main' into draft-v4 2025-07-31 12:44:02 +09:00
comfyui-share-openart.js Modify the structure to be installable via pip. 2025-04-09 08:59:37 -07:00
comfyui-share-youml.js Modify the structure to be installable via pip. 2025-04-09 08:59:37 -07:00
common.js feat(security): dedicated install flags decouple git_url/pip from security_level 2026-06-08 02:12:14 +09:00
custom-nodes-manager.css Changed Main Dialog to match aesthetics and close button location as Original ComfyUI Interface (#2349) 2025-12-19 15:04:02 +09:00
custom-nodes-manager.js fix(security): harden CSRF with Content-Type gate and expand E2E coverage (#2818) 2026-04-22 05:04:30 +09:00
model-manager.css Changed Main Dialog to match aesthetics and close button location as Original ComfyUI Interface (#2349) 2025-12-19 15:04:02 +09:00
model-manager.js fix(security): harden CSRF with Content-Type gate and expand E2E coverage (#2818) 2026-04-22 05:04:30 +09:00
node_fixer.js Merge branch 'main' into draft-v4 2025-06-01 06:23:11 +09:00
popover-helper.js Modify the structure to be installable via pip. 2025-04-09 08:59:37 -07:00
README.md Merge branch 'main' into manager-v4 2025-11-26 22:14:11 +09:00
snapshot.css Changed Main Dialog to match aesthetics and close button location as Original ComfyUI Interface (#2349) 2025-12-19 15:04:02 +09:00
snapshot.js fix(security): harden CSRF with Content-Type gate and expand E2E coverage (#2818) 2026-04-22 05:04:30 +09:00
turbogrid.esm.js Modify the structure to be installable via pip. 2025-04-09 08:59:37 -07:00
workflow-metadata.js Merge branch 'main' into draft-v4 2025-04-27 23:17:18 +09:00

ComfyUI-Manager: Frontend (js)

This directory contains the JavaScript frontend implementation for ComfyUI-Manager, providing the user interface components that interact with the backend API.

Core Components

  • comfyui-manager.js: Main entry point that initializes the manager UI and integrates with ComfyUI.
  • custom-nodes-manager.js: Implements the UI for browsing, installing, and managing custom nodes.
  • model-manager.js: Handles the model management interface for downloading and organizing AI models.
  • components-manager.js: Manages reusable workflow components system.
  • snapshot.js: Implements the snapshot system for backing up and restoring installations.

Sharing Components

  • comfyui-share-common.js: Base functionality for workflow sharing features.
  • comfyui-share-copus.js: Integration with the ComfyUI Copus sharing platform.
  • comfyui-share-openart.js: Integration with the OpenArt sharing platform.
  • comfyui-share-youml.js: Integration with the YouML sharing platform.

Utility Components

  • cm-api.js: Client-side API wrapper for communication with the backend.
  • common.js: Shared utilities and helper functions used across the frontend.
  • node_fixer.js: Utilities for fixing disconnected links and repairing malformed nodes by recreating them while preserving connections.
  • popover-helper.js: UI component for popup tooltips and contextual information.
  • turbogrid.esm.js: Grid component library - https://github.com/cenfun/turbogrid
  • workflow-metadata.js: Handles workflow metadata parsing, validation and cross-repository compatibility including versioning, dependencies tracking, and resource management.

Architecture

The frontend follows a modular component-based architecture:

  1. Integration Layer: Connects with ComfyUI's existing UI system
  2. Manager Components: Individual functional UI components (node manager, model manager, etc.)
  3. Sharing Components: Platform-specific sharing implementations
  4. Utility Layer: Reusable UI components and helpers

Implementation Details

  • The frontend integrates directly with ComfyUI's UI system through app.js
  • Dialog-based UI for most manager functions to avoid cluttering the main interface
  • Asynchronous API calls to handle backend operations without blocking the UI

Styling

CSS files are included for specific components:

  • custom-nodes-manager.css: Styling for the node management UI
  • model-manager.css: Styling for the model management UI

This frontend implementation provides a comprehensive yet user-friendly interface for managing the ComfyUI ecosystem.