mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-06-24 00:39:30 +08:00
feat: wire model-downloader routes and feature flags into the server
Register the routes at PromptServer startup and advertise the server_side_model_downloads and hf_auth_eligible capability flags so the frontend can detect support and gate the HF login UI. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fdd84d04a0
commit
bb7efb8fd6
@ -98,12 +98,24 @@ def _parse_cli_feature_flags() -> dict[str, Any]:
|
|||||||
|
|
||||||
|
|
||||||
# Default server capabilities
|
# Default server capabilities
|
||||||
|
def _hf_auth_eligible_at_startup() -> bool:
|
||||||
|
"""Snapshot eligibility once at feature-flag init time.
|
||||||
|
|
||||||
|
Imports lazily because the flags module loads very early in the
|
||||||
|
server boot sequence — earlier than the model_downloader package.
|
||||||
|
"""
|
||||||
|
from app.model_downloader.hf_auth.eligibility import is_hf_auth_eligible
|
||||||
|
return is_hf_auth_eligible()
|
||||||
|
|
||||||
|
|
||||||
_CORE_FEATURE_FLAGS: dict[str, Any] = {
|
_CORE_FEATURE_FLAGS: dict[str, Any] = {
|
||||||
"supports_preview_metadata": True,
|
"supports_preview_metadata": True,
|
||||||
"max_upload_size": args.max_upload_size * 1024 * 1024, # Convert MB to bytes
|
"max_upload_size": args.max_upload_size * 1024 * 1024, # Convert MB to bytes
|
||||||
"extension": {"manager": {"supports_v4": True}},
|
"extension": {"manager": {"supports_v4": True}},
|
||||||
"node_replacements": True,
|
"node_replacements": True,
|
||||||
"assets": args.enable_assets,
|
"assets": args.enable_assets,
|
||||||
|
"server_side_model_downloads": True,
|
||||||
|
"hf_auth_eligible": _hf_auth_eligible_at_startup(),
|
||||||
}
|
}
|
||||||
|
|
||||||
# CLI-provided flags cannot overwrite core flags
|
# CLI-provided flags cannot overwrite core flags
|
||||||
|
|||||||
@ -47,6 +47,7 @@ from app.assets.seeder import asset_seeder
|
|||||||
from app.assets.api.routes import register_assets_routes
|
from app.assets.api.routes import register_assets_routes
|
||||||
from app.assets.services.ingest import register_file_in_place
|
from app.assets.services.ingest import register_file_in_place
|
||||||
from app.assets.services.asset_management import resolve_hash_to_path
|
from app.assets.services.asset_management import resolve_hash_to_path
|
||||||
|
from app.model_downloader.api.routes import register_routes as register_model_downloader_routes
|
||||||
|
|
||||||
from app.user_manager import UserManager
|
from app.user_manager import UserManager
|
||||||
from app.model_manager import ModelFileManager
|
from app.model_manager import ModelFileManager
|
||||||
@ -256,6 +257,7 @@ class PromptServer():
|
|||||||
else:
|
else:
|
||||||
register_assets_routes(self.app)
|
register_assets_routes(self.app)
|
||||||
asset_seeder.disable()
|
asset_seeder.disable()
|
||||||
|
register_model_downloader_routes(self.app)
|
||||||
routes = web.RouteTableDef()
|
routes = web.RouteTableDef()
|
||||||
self.routes = routes
|
self.routes = routes
|
||||||
self.last_node_id = None
|
self.last_node_id = None
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user