From 460f776e6fc84af59150f5dd936be32f4ed7a23b Mon Sep 17 00:00:00 2001 From: Alex Khomenko Date: Fri, 19 Sep 2025 16:50:47 +0300 Subject: [PATCH] Provisioning: Skip folder sync when repository is empty (#111371) * Provisioning: Skip folder sync when repository is empty * Simplify condition * Fix condition --- .../app/features/provisioning/Wizard/ProvisioningWizard.tsx | 4 ++-- .../features/provisioning/Wizard/hooks/useResourceStats.ts | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/public/app/features/provisioning/Wizard/ProvisioningWizard.tsx b/public/app/features/provisioning/Wizard/ProvisioningWizard.tsx index 717400785fc..0a7d0cf7ca6 100644 --- a/public/app/features/provisioning/Wizard/ProvisioningWizard.tsx +++ b/public/app/features/provisioning/Wizard/ProvisioningWizard.tsx @@ -101,14 +101,14 @@ export function ProvisioningWizard({ type }: { type: RepoType }) { handleSubmit, } = methods; - const [repoName = '', repoType] = watch(['repositoryName', 'repository.type']); + const [repoName = '', repoType, syncTarget] = watch(['repositoryName', 'repository.type', 'repository.sync.target']); const [submitData] = useCreateOrUpdateRepository(repoName); const [deleteRepository] = useDeleteRepositoryMutation(); const { shouldSkipSync, requiresMigration, isLoading: isResourceStatsLoading, - } = useResourceStats(repoName, isLegacyStorage); + } = useResourceStats(repoName, isLegacyStorage, syncTarget); const { createSyncJob, isLoading: isCreatingSkipJob } = useCreateSyncJob({ repoName: repoName, requiresMigration, diff --git a/public/app/features/provisioning/Wizard/hooks/useResourceStats.ts b/public/app/features/provisioning/Wizard/hooks/useResourceStats.ts index edf90010ce4..4afc252e0e5 100644 --- a/public/app/features/provisioning/Wizard/hooks/useResourceStats.ts +++ b/public/app/features/provisioning/Wizard/hooks/useResourceStats.ts @@ -6,6 +6,7 @@ import { GetRepositoryFilesApiResponse, GetResourceStatsApiResponse, ManagerStats, + RepositoryView, ResourceCount, useGetRepositoryFilesQuery, useGetResourceStatsQuery, @@ -76,7 +77,7 @@ function getResourceStats(files?: GetRepositoryFilesApiResponse, stats?: GetReso /** * Hook that provides resource statistics and sync logic */ -export function useResourceStats(repoName?: string, isLegacyStorage?: boolean) { +export function useResourceStats(repoName?: string, isLegacyStorage?: boolean, syncTarget?: RepositoryView['target']) { const resourceStatsQuery = useGetResourceStatsQuery(repoName ? undefined : skipToken); const filesQuery = useGetRepositoryFilesQuery(repoName ? { name: repoName } : skipToken); @@ -96,7 +97,7 @@ export function useResourceStats(repoName?: string, isLegacyStorage?: boolean) { }, [resourceStatsQuery.data]); const requiresMigration = isLegacyStorage || resourceCount > 0; - const shouldSkipSync = !requiresMigration && resourceCount === 0 && fileCount === 0; + const shouldSkipSync = !isLegacyStorage && (resourceCount === 0 || syncTarget === 'folder') && fileCount === 0; // Format display strings const resourceCountDisplay =