From d7bc1bcfb5abd3e87dab5a478707908351c44af8 Mon Sep 17 00:00:00 2001 From: Xubin Ren <52506698+Re-bin@users.noreply.github.com> Date: Fri, 29 May 2026 13:17:32 +0800 Subject: [PATCH] fix(apps): use registry logos --- nanobot/apps/cli/service.py | 5 +++++ tests/cli_apps/test_service.py | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/nanobot/apps/cli/service.py b/nanobot/apps/cli/service.py index 7273bbdbf..02c7ab2cb 100644 --- a/nanobot/apps/cli/service.py +++ b/nanobot/apps/cli/service.py @@ -302,6 +302,11 @@ def _brand_candidates(app: dict[str, Any]) -> list[str]: def _brand_payload(app: dict[str, Any]) -> tuple[str | None, str | None]: + declared_logo = str(app.get("logo_url") or "").strip() + if declared_logo.startswith(("https://", "/")): + declared_color = str(app.get("brand_color") or "").strip() + return declared_logo, declared_color or None + brand = None domain_brand = None for candidate in _brand_candidates(app): diff --git a/tests/cli_apps/test_service.py b/tests/cli_apps/test_service.py index a25547186..1c68f2ec0 100644 --- a/tests/cli_apps/test_service.py +++ b/tests/cli_apps/test_service.py @@ -216,6 +216,8 @@ def test_payload_includes_nanobot_extension_registry(tmp_path: Path) -> None: "npm_package": "hyperframes", "install_cmd": "npm install -g hyperframes", "entry_point": "hyperframes", + "logo_url": "https://raw.githubusercontent.com/heygen-com/hyperframes/main/assets/logo.png", + "brand_color": "#111827", "skill_md": "skills/hyperframes/SKILL.md", } ], @@ -228,6 +230,8 @@ def test_payload_includes_nanobot_extension_registry(tmp_path: Path) -> None: app = payload["apps"][0] assert app["name"] == "hyperframes" assert app["source"] == "extensions" + assert app["logo_url"] == "https://raw.githubusercontent.com/heygen-com/hyperframes/main/assets/logo.png" + assert app["brand_color"] == "#111827" assert app["install_supported"] is True assert app["manifest"]["source"] == "nanobot-extension" assert app["manifest"]["trust"]["registry"] == "nanobot-extension"