From 9807b9622b91cb393c293f3ed8b3db02f580e14c Mon Sep 17 00:00:00 2001 From: AI Bot Date: Thu, 3 Sep 2026 13:57:19 +0530 Subject: [PATCH] fix: Upload generated models to cloud storage in onPushToApp to prevent blob URL fetch failures on save --- src/pages/Editor.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/Editor.tsx b/src/pages/Editor.tsx index 1f88cd5..4f7a99a 100644 --- a/src/pages/Editor.tsx +++ b/src/pages/Editor.tsx @@ -5232,11 +5232,12 @@ export default function Editor() { } }); - // Save model data for scene persistence const modelBlob = await fetch(modelUrl).then(r => r.blob()); - const blobUrl = URL.createObjectURL(modelBlob); - setBlobURLs(prev => [...prev, blobUrl]); - setModelData({ name: "Generated_Model.glb", data: blobUrl, extension: 'glb' }); + setImportStatus("Uploading to cloud storage... 0%"); + const cloudUrl = await uploadAssetToStorage(modelBlob, 'assets', `models/${user?.id || 'guest'}_${Date.now()}_Generated_Model.glb`, (prog) => { + setImportStatus(`Uploading to cloud storage... ${prog}%`); + }); + setModelData({ name: "Generated_Model.glb", data: cloudUrl, extension: 'glb' }); const boundingBox = new THREE.Box3().setFromObject(object); const center = new THREE.Vector3(); @@ -5290,7 +5291,6 @@ export default function Editor() { } setLoadedModel(object); - setBlobURLs(prev => [...prev, modelUrl]); setSceneObjects(prev => [ ...prev.filter(obj => obj.type !== 'cube'), ...newSceneObjects