From 65f2a6dbf56f71560bd94c848368797fbb3b97f8 Mon Sep 17 00:00:00 2001
From: Xubin Ren <52506698+Re-bin@users.noreply.github.com>
Date: Sat, 29 Aug 2026 15:21:43 +0800
Subject: [PATCH] fix(webui): hide SkillHub install counts
---
.../components/settings/SkillsMarketplace.tsx | 28 +++++++++++--------
webui/src/tests/app-layout.test.tsx | 1 +
2 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/webui/src/components/settings/SkillsMarketplace.tsx b/webui/src/components/settings/SkillsMarketplace.tsx
index aaf148ad1..4ec1448a2 100644
--- a/webui/src/components/settings/SkillsMarketplace.tsx
+++ b/webui/src/components/settings/SkillsMarketplace.tsx
@@ -527,18 +527,22 @@ function MarketplaceSkillRow({
{skill.source}
{skill.version ? · v{skill.version} : null}
- ·
- {skill.metric === "installs_24h"
- ? t("settings.skills.marketplaceInstalls24h", {
- count: skill.installs,
- formattedCount: skill.installs.toLocaleString(),
- defaultValue: "{{formattedCount}} installs / 24h",
- })
- : t("settings.skills.marketplaceInstalls", {
- count: skill.installs,
- formattedCount: skill.installs.toLocaleString(),
- defaultValue: "{{formattedCount}} installs",
- })}
+ {skill.provider === "skills_sh" ? (
+ <>
+ ·
+ {skill.metric === "installs_24h"
+ ? t("settings.skills.marketplaceInstalls24h", {
+ count: skill.installs,
+ formattedCount: skill.installs.toLocaleString(),
+ defaultValue: "{{formattedCount}} installs / 24h",
+ })
+ : t("settings.skills.marketplaceInstalls", {
+ count: skill.installs,
+ formattedCount: skill.installs.toLocaleString(),
+ defaultValue: "{{formattedCount}} installs",
+ })}
+ >
+ ) : null}
{skill.provider === "skills_sh" ? : null}
diff --git a/webui/src/tests/app-layout.test.tsx b/webui/src/tests/app-layout.test.tsx
index 1aecd6685..736f670e1 100644
--- a/webui/src/tests/app-layout.test.tsx
+++ b/webui/src/tests/app-layout.test.tsx
@@ -1201,6 +1201,7 @@ describe("App layout", () => {
expect(screen.getAllByText("SkillHub")).toHaveLength(2);
expect(screen.getAllByText("skills.sh")).toHaveLength(2);
expect(screen.getByText(/14,481 installs \/ 24h/)).toBeInTheDocument();
+ expect(screen.queryByText(/11,831 installs/)).not.toBeInTheDocument();
fireEvent.click(screen.getByRole("tab", { name: "SkillHub" }));
expect(screen.getByText("ima-skills")).toBeInTheDocument();
expect(screen.queryByText("find-skills")).not.toBeInTheDocument();