fix: Upload generated models to cloud storage in onPushToApp to prevent blob URL fetch failures on save
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user