From 52eed458f4ce3e0af2b99542b6219006f45e06c9 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Sun, 4 Jan 2026 15:29:27 -0600 Subject: [PATCH] Fix grid visibility crash - delay camera settings until initialized MijickCamera's cameraGridView is nil in onAppear, causing a crash when setGridVisibility() is called immediately. Added 100ms delay for grid, HDR, and skin smoothing settings to let MijickCamera fully initialize. --- .../Camera/Views/CustomCameraScreen.swift | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/SelfieCam/Features/Camera/Views/CustomCameraScreen.swift b/SelfieCam/Features/Camera/Views/CustomCameraScreen.swift index 360985b..783b2d8 100644 --- a/SelfieCam/Features/Camera/Views/CustomCameraScreen.swift +++ b/SelfieCam/Features/Camera/Views/CustomCameraScreen.swift @@ -179,14 +179,18 @@ struct CustomCameraScreen: MCameraScreen { } // Track initial camera position currentCameraPosition = cameraSettings.cameraPosition - // Sync grid visibility with MijickCamera (defaults to true, so we need to set it) - setGridVisibility(cameraSettings.isGridVisible) - // Apply HDR mode from settings - applyHDRMode(cameraSettings.hdrMode) - // Apply Center Stage from settings + // Apply camera settings after a brief delay to let MijickCamera fully initialize + Task { @MainActor in + try? await Task.sleep(for: .milliseconds(100)) + // Sync grid visibility with MijickCamera (defaults to true) + setGridVisibility(cameraSettings.isGridVisible) + // Apply HDR mode from settings + applyHDRMode(cameraSettings.hdrMode) + // Apply skin smoothing filter from settings + applySkinSmoothing(cameraSettings.isSkinSmoothingEnabled) + } + // Center Stage can be set immediately (system-level, not camera-view-level) applyCenterStage(cameraSettings.isCenterStageEnabled) - // Apply skin smoothing filter from settings - applySkinSmoothing(cameraSettings.isSkinSmoothingEnabled) } .onChange(of: cameraSettings.cameraPositionRaw) { _, newRaw in // Switch camera when position changes in settings