diff --git a/src/components/skills/RepoManager.tsx b/src/components/skills/RepoManager.tsx index 83e110782..69fee8d9f 100644 --- a/src/components/skills/RepoManager.tsx +++ b/src/components/skills/RepoManager.tsx @@ -74,15 +74,11 @@ export function RepoManager({ } try { - const repoToAdd: SkillRepo = { + await onAdd({ owner: parsed.owner, name: parsed.name, branch: branch || "main", enabled: true, - }; - await onAdd({ - ...repoToAdd, - count: getSkillCount(repoToAdd), }); setRepoUrl(""); diff --git a/src/components/skills/RepoManagerPanel.tsx b/src/components/skills/RepoManagerPanel.tsx index 4cb28b5f4..a264d6d2f 100644 --- a/src/components/skills/RepoManagerPanel.tsx +++ b/src/components/skills/RepoManagerPanel.tsx @@ -61,15 +61,11 @@ export function RepoManagerPanel({ } try { - const repoToAdd: SkillRepo = { + await onAdd({ owner: parsed.owner, name: parsed.name, branch: branch || "main", enabled: true, - }; - await onAdd({ - ...repoToAdd, - count: getSkillCount(repoToAdd), }); setRepoUrl(""); diff --git a/src/components/skills/SkillsPage.tsx b/src/components/skills/SkillsPage.tsx index c26e634ac..0bdcd3b4c 100644 --- a/src/components/skills/SkillsPage.tsx +++ b/src/components/skills/SkillsPage.tsx @@ -164,11 +164,20 @@ export const SkillsPage = forwardRef( const handleAddRepo = async (repo: SkillRepo) => { try { await addRepoMutation.mutateAsync(repo); + // Await discovery so we can report the real count + const { data: freshSkills } = await refetchDiscoverable(); + const count = + freshSkills?.filter( + (s) => + s.repoOwner === repo.owner && + s.repoName === repo.name && + (s.repoBranch || "main") === (repo.branch || "main"), + ).length ?? 0; toast.success( t("skills.repo.addSuccess", { owner: repo.owner, name: repo.name, - count: repo.count || 0, + count, }), { closeButton: true }, ); diff --git a/src/lib/api/skills.ts b/src/lib/api/skills.ts index 1f6bc1d9c..151090773 100644 --- a/src/lib/api/skills.ts +++ b/src/lib/api/skills.ts @@ -67,7 +67,6 @@ export interface SkillRepo { name: string; branch: string; enabled: boolean; - count?: number; } // ========== API ==========