Compare commits

...

3 Commits

Author SHA1 Message Date
Hunter
e01fec96af
Merge 8d7087a7a9 into 6880614319 2026-07-07 21:36:21 -04:00
Hunter Senft-Grupp
8d7087a7a9 test: assert comfy_api_base_url + comfy_platform_base_url are exposed via /features 2026-05-31 13:45:07 -04:00
Hunter Senft-Grupp
fd41506b75 feat: expose comfy-api/platform base URLs via /features
Adds --comfy-platform-base CLI flag mirroring --comfy-api-base, and
surfaces both through the existing /features endpoint as
comfy_api_base_url and comfy_platform_base_url. Lets the frontend
discover at runtime which backend the local server expects it to talk
to, so an ephemeral or self-hosted comfy-api deployment can be wired up
without rebuilding the frontend bundle.

Companion frontend change consumes these keys.
2026-05-31 13:31:04 -04:00
3 changed files with 20 additions and 0 deletions

View File

@ -235,6 +235,13 @@ parser.add_argument(
help="Set the base URL for the ComfyUI API. (default: https://api.comfy.org)",
)
parser.add_argument(
"--comfy-platform-base",
type=str,
default="https://platform.comfy.org",
help="Set the base URL for the ComfyUI Platform. (default: https://platform.comfy.org)",
)
database_default_path = os.path.abspath(
os.path.join(os.path.dirname(__file__), "..", "user", "comfyui.db")
)

View File

@ -104,6 +104,8 @@ _CORE_FEATURE_FLAGS: dict[str, Any] = {
"extension": {"manager": {"supports_v4": True}},
"node_replacements": True,
"assets": args.enable_assets,
"comfy_api_base_url": args.comfy_api_base,
"comfy_platform_base_url": args.comfy_platform_base,
}
# CLI-provided flags cannot overwrite core flags

View File

@ -32,6 +32,17 @@ class TestFeatureFlags:
assert "max_upload_size" in features
assert isinstance(features["max_upload_size"], (int, float))
def test_get_server_features_exposes_comfy_api_base_urls(self):
"""The frontend reads comfy_api_base_url / comfy_platform_base_url
from /features to learn which backend to talk to. The keys must be
present (with the CLI-provided or default URL) so an ephemeral or
self-hosted comfy-api can override them without a frontend rebuild."""
features = get_server_features()
assert isinstance(features.get("comfy_api_base_url"), str)
assert features["comfy_api_base_url"].startswith("http")
assert isinstance(features.get("comfy_platform_base_url"), str)
assert features["comfy_platform_base_url"].startswith("http")
def test_get_connection_feature_with_missing_sid(self):
"""Test getting feature for non-existent session ID."""
sockets_metadata = {}