Skip to content

Commit 391bfc4

Browse files
committed
fix: thumbnail and scrub previews being reported as available too early
1 parent 3158b09 commit 391bfc4

File tree

1 file changed

+36
-25
lines changed

1 file changed

+36
-25
lines changed

meteor/server/publications/pieceContentStatusUI/checkPieceContentStatus.ts

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -528,31 +528,25 @@ async function checkPieceContentExpectedPackageStatus(
528528
if (!thumbnailUrl) {
529529
const sideEffect = getSideEffect(expectedPackage, studio)
530530

531-
const packageThumbnailPath = sideEffect.thumbnailPackageSettings?.path
532-
const thumbnailContainerId = sideEffect.thumbnailContainerId
533-
if (packageThumbnailPath && thumbnailContainerId) {
534-
thumbnailUrl = getAssetUrlFromExpectedPackages(
535-
packageThumbnailPath,
536-
thumbnailContainerId,
537-
studio,
538-
packageOnPackageContainer
539-
)
540-
}
531+
thumbnailUrl = await getAssetUrlFromPackageContainerStatus(
532+
studio,
533+
getPackageContainerPackageStatus,
534+
expectedPackageId,
535+
sideEffect.thumbnailContainerId,
536+
sideEffect.thumbnailPackageSettings?.path
537+
)
541538
}
542539

543540
if (!previewUrl) {
544541
const sideEffect = getSideEffect(expectedPackage, studio)
545542

546-
const packagePreviewPath = sideEffect.previewPackageSettings?.path
547-
const previewContainerId = sideEffect.previewContainerId
548-
if (packagePreviewPath && previewContainerId) {
549-
previewUrl = getAssetUrlFromExpectedPackages(
550-
packagePreviewPath,
551-
previewContainerId,
552-
studio,
553-
packageOnPackageContainer
554-
)
555-
}
543+
previewUrl = await getAssetUrlFromPackageContainerStatus(
544+
studio,
545+
getPackageContainerPackageStatus,
546+
expectedPackageId,
547+
sideEffect.previewContainerId,
548+
sideEffect.previewPackageSettings?.path
549+
)
556550
}
557551

558552
warningMessage = getPackageWarningMessage(packageOnPackageContainer, sourceLayer)
@@ -678,15 +672,32 @@ async function checkPieceContentExpectedPackageStatus(
678672
}
679673
}
680674

675+
async function getAssetUrlFromPackageContainerStatus(
676+
studio: PieceContentStatusStudio,
677+
getPackageContainerPackageStatus: (
678+
packageContainerId: string,
679+
expectedPackageId: ExpectedPackageId
680+
) => Promise<PackageContainerPackageStatusLight | undefined>,
681+
expectedPackageId: ExpectedPackageId,
682+
assetContainerId: string | null | undefined,
683+
packageAssetPath: string | undefined
684+
): Promise<string | undefined> {
685+
if (!assetContainerId || !packageAssetPath) return
686+
687+
const assetPackageContainer = studio.packageContainers[assetContainerId]
688+
if (!assetPackageContainer) return
689+
690+
const previewPackageOnPackageContainer = await getPackageContainerPackageStatus(assetContainerId, expectedPackageId)
691+
if (!previewPackageOnPackageContainer) return
692+
693+
return getAssetUrlFromExpectedPackages(packageAssetPath, assetPackageContainer, previewPackageOnPackageContainer)
694+
}
695+
681696
function getAssetUrlFromExpectedPackages(
682697
assetPath: string,
683-
assetContainerId: string,
684-
studio: PieceContentStatusStudio,
698+
packageContainer: StudioPackageContainer,
685699
packageOnPackageContainer: Pick<PackageContainerPackageStatusDB, 'status'>
686700
): string | undefined {
687-
const packageContainer = studio.packageContainers[assetContainerId]
688-
if (!packageContainer) return
689-
690701
if (packageOnPackageContainer.status.status !== ExpectedPackageStatusAPI.PackageContainerPackageStatusStatus.READY)
691702
return
692703

0 commit comments

Comments
 (0)