From cfb7572c118319497b8cb563cbfa65ab7ae05310 Mon Sep 17 00:00:00 2001 From: orfelorfel23 Date: Tue, 18 Aug 2026 16:51:13 +0200 Subject: [PATCH] Auto-Commit: 2026-08-18 16:51:13 --- app.json | 14 +++++++++++--- src/screens/CameraScreen.tsx | 2 +- src/services/storage.ts | 19 ++++--------------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/app.json b/app.json index 308e5c78..e134a28d 100644 --- a/app.json +++ b/app.json @@ -3,7 +3,7 @@ "newArchEnabled": true, "name": "Schnappix", "slug": "Schnappix", - "version": "23.01.25", + "version": "23.01.26", "orientation": "landscape", "icon": "./Icon.png", "userInterfaceStyle": "dark", @@ -13,7 +13,7 @@ }, "android": { "package": "de.orfel.schnappix", - "versionCode": 25, + "versionCode": 26, "usesCleartextTraffic": true, "adaptiveIcon": { "backgroundColor": "#050510", @@ -58,7 +58,15 @@ "./plugins/withUsbCamera", "./plugins/withLocalAars", "./plugins/withRemoveMediaPermissions", - "./withAndroidSigning" + "./withAndroidSigning", + [ + "expo-build-properties", + { + "android": { + "usesCleartextTraffic": true + } + } + ] ], "extra": { "eas": { diff --git a/src/screens/CameraScreen.tsx b/src/screens/CameraScreen.tsx index 4cf0ebce..3067d8f2 100644 --- a/src/screens/CameraScreen.tsx +++ b/src/screens/CameraScreen.tsx @@ -366,7 +366,7 @@ export default function CameraScreen({ await saveToGallery(capturedUri, 'Raw', eventText); logger.log('Auto-saved high-res raw capture to gallery'); } catch (e: any) { - logger.error(`Failed to auto-save raw capture: ${e?.message || e}`); + logger.error(`Failed to auto-save raw capture`, e); } // Downscale for the UI to prevent OutOfMemoryError in React Native Image diff --git a/src/services/storage.ts b/src/services/storage.ts index d5224dc5..88cb8e0e 100644 --- a/src/services/storage.ts +++ b/src/services/storage.ts @@ -53,25 +53,14 @@ export async function saveToGallery(localUri: string, type: 'Raw' | 'Collage', e const newFileName = `${safeEventName}_${timestamp}_${type}.${fileExtension}`; const newLocalUri = `${FileSystem.cacheDirectory}${newFileName}`; - logger.log(`Types: copyAsync=${typeof FileSystem.copyAsync}, createAsset=${typeof createAssetAsync}, getAlbum=${typeof getAlbumAsync}, createAlbum=${typeof createAlbumAsync}, addAssets=${typeof addAssetsToAlbumAsync}`); - - try { - // Copy the file to the new location to force the filename - await FileSystem.copyAsync({ - from: localUri, - to: newLocalUri, - }); - } catch (e: any) { - logger.error(`Error in copyAsync: ${e.message}`); - throw e; - } + logger.log(`Types: createAsset=${typeof createAssetAsync}, getAlbum=${typeof getAlbumAsync}, createAlbum=${typeof createAlbumAsync}, addAssets=${typeof addAssetsToAlbumAsync}`); let asset; try { - // 1. Create a media asset from the renamed file - asset = await createAssetAsync(newLocalUri); + // 1. Create a media asset directly from the local uri + asset = await createAssetAsync(localUri); } catch (e: any) { - logger.error(`Error in createAssetAsync: ${e.message}`); + logger.error(`Error in createAssetAsync: ${e.message}`, e); throw e; }