Fix null check for storage in App.tsx and update type checks in starter-environment-assets.ts; add null check for storage in project-package.ts

This commit is contained in:
2026-04-15 04:27:32 +02:00
parent 3f5c2036a5
commit 2a9b6f661c
3 changed files with 10 additions and 3 deletions

View File

@@ -3431,7 +3431,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
try {
return await loadImageAssetFromStorage(storage, asset);
} catch (error) {
if (await restoreDeletedStoredAsset(storage, asset)) {
if (storage !== null && (await restoreDeletedStoredAsset(storage, asset))) {
return loadImageAssetFromStorage(storage, asset);
}

View File

@@ -174,7 +174,7 @@ export function createStarterEnvironmentAssetRegistry(): Record<
export function isStarterEnvironmentImageAsset(
asset: ProjectAssetRecord | ImageAssetRecord
): asset is ImageAssetRecord {
): boolean {
return (
asset.kind === "image" &&
asset.storageKey.startsWith(STARTER_ENVIRONMENT_STORAGE_KEY_PREFIX)

View File

@@ -346,6 +346,10 @@ export async function loadProjectPackage(
throw new Error("Project load failed: project asset storage is unavailable for asset-backed scenes.");
}
if (storage === null) {
return document;
}
const packagedAssetRecords = buildStoredAssetRecordsFromPackage(entries, document);
for (const asset of bundledAssets) {
@@ -367,7 +371,10 @@ export async function loadProjectPackage(
continue;
}
previousStoredAssets.set(asset.storageKey, await storage.getAsset(asset.storageKey));
previousStoredAssets.set(
asset.storageKey,
await storage.getAsset(asset.storageKey)
);
await storage.putAsset(asset.storageKey, packagedAsset);
writtenStorageKeys.push(asset.storageKey);
}