Fix Shopify video preview propagation on save
Updates logic to detect processing state (including READY-but-no-sources race condition) and propagates contentUrl updates to the frontend immediately.
This commit is contained in:
@ -106,6 +106,8 @@ export class MediaService {
|
||||
if (props['custom_thumbnail_id']) customThumbnailId = props['custom_thumbnail_id'];
|
||||
if (props['parent_video_id']) parentVideoId = props['parent_video_id'];
|
||||
|
||||
console.log(`[DEBUG] File ${f.getName()} Props:`, JSON.stringify(props));
|
||||
|
||||
} catch (e) {
|
||||
console.warn(`Failed to get properties for ${f.getName()}`)
|
||||
}
|
||||
@ -239,6 +241,21 @@ export class MediaService {
|
||||
console.log(`[MediaService] Using Sidecar Thumbnail for ${d.file.getName()}`);
|
||||
thumbnail = sidecarThumbMap.get(d.file.getId()) || "";
|
||||
isProcessing = true; // SHOW HOURGLASS (Request #3)
|
||||
} else if (match && (
|
||||
match.status === 'PROCESSING' ||
|
||||
match.status === 'UPLOADED' ||
|
||||
(match.mediaContentType === 'VIDEO' && (!match.sources || match.sources.length === 0) && match.status !== 'FAILED')
|
||||
)) {
|
||||
// Shopify Processing (Explicit Status OR Ready-but-missing-sources)
|
||||
console.log(`[MediaService] Shopify Media is Processing: ${d.file.getName()} (Status: ${match.status}, Sources: ${match.sources ? match.sources.length : 0})`);
|
||||
isProcessing = true;
|
||||
// Use Drive thumb as fallback if Shopify preview not ready
|
||||
if (!thumbnail) {
|
||||
try {
|
||||
const nativeThumb = `data:image/jpeg;base64,${Utilities.base64Encode(d.file.getThumbnail().getBytes())}`;
|
||||
if (nativeThumb.length > 100) thumbnail = nativeThumb;
|
||||
} catch(e) {}
|
||||
}
|
||||
} else {
|
||||
// 2. Native / Fallback
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user