From 858674c9d4cbb2deef486d1f9fe914e7c253493b Mon Sep 17 00:00:00 2001 From: orfelorfel23 Date: Sun, 31 May 2026 20:46:06 +0200 Subject: [PATCH] Add deep debugging logs to PreviewScreen to trace fatal crashes during render/image load --- src/screens/CameraScreen.tsx | 4 +++- src/screens/PreviewScreen.tsx | 33 ++++++++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/screens/CameraScreen.tsx b/src/screens/CameraScreen.tsx index e2cc9504..64f817c6 100644 --- a/src/screens/CameraScreen.tsx +++ b/src/screens/CameraScreen.tsx @@ -10,7 +10,8 @@ import { TouchableWithoutFeedback, } from 'react-native'; import { CameraView, useCameraPermissions } from 'expo-camera'; -import { File, Paths } from 'expo-file-system'; +import * as FileSystem from 'expo-file-system'; +import { File, Paths } from 'expo-file-system/next'; import * as ImageManipulator from 'expo-image-manipulator'; import { LinearGradient } from 'expo-linear-gradient'; import Animated, { @@ -282,6 +283,7 @@ export default function CameraScreen({ capturedUri = path; } else { // Fallback Camera Capture + logger.log(`Capturing from built-in camera fallback. Size constraint: ${pictureSize || 'default'}`); console.log('Capturing from built-in camera fallback...'); if (expoCameraRef.current) { const photo = await expoCameraRef.current.takePictureAsync({ diff --git a/src/screens/PreviewScreen.tsx b/src/screens/PreviewScreen.tsx index 2778613c..bd0d7193 100644 --- a/src/screens/PreviewScreen.tsx +++ b/src/screens/PreviewScreen.tsx @@ -65,6 +65,10 @@ export default function PreviewScreen({ const [layout, setLayout] = useState('single'); const [isProcessing, setIsProcessing] = useState(false); const [statusMessage, setStatusMessage] = useState(''); + + React.useEffect(() => { + logger.log('PreviewScreen: render function executed'); + }); // Sticker state const [stickers, setStickers] = useState([]); @@ -320,7 +324,14 @@ export default function PreviewScreen({ {photoUris.slice(-3).map((uri, idx) => ( - + logger.log(`Image loaded successfully: ${uri}`)} + onError={(e) => logger.error(`Image load failed: ${uri}`, e)} + /> ))} @@ -334,7 +345,14 @@ export default function PreviewScreen({ {photoUris.slice(-4).map((uri, idx) => ( - + logger.log(`Grid Image loaded successfully: ${uri}`)} + onError={(e) => logger.error(`Grid Image load failed: ${uri}`, e)} + /> ))} @@ -347,7 +365,14 @@ export default function PreviewScreen({ {photoUris.slice(-2).map((uri, idx) => ( - + logger.log(`Duo Image loaded successfully: ${uri}`)} + onError={(e) => logger.error(`Duo Image load failed: ${uri}`, e)} + /> ))} @@ -362,6 +387,8 @@ export default function PreviewScreen({ source={currentPhoto} style={styles.singleImage} contentFit="cover" + onLoad={() => logger.log(`Single Image loaded successfully: ${currentPhoto}`)} + onError={(e) => logger.error(`Single Image load failed: ${currentPhoto}`, e)} /> );