From a7769606502d0332ea1cf2c1c8140d7a6b1755a8 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sat, 13 Jun 2026 16:42:31 +0200 Subject: [PATCH] fix(camera): full roll no longer discards the newest photo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the roll hit CAMERA_ROLL_LIMIT the capture path alerted "full" then did clone.pop() (dropping the NEWEST photo) and pushed the new one — so once full the roll was pinned at the limit and every further shot just replaced the most-recent picture. Block the shot instead (return after the alert). --- src/components/camera/views/CameraWidgetCaptureView.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/camera/views/CameraWidgetCaptureView.tsx b/src/components/camera/views/CameraWidgetCaptureView.tsx index 45657e0..56b06aa 100644 --- a/src/components/camera/views/CameraWidgetCaptureView.tsx +++ b/src/components/camera/views/CameraWidgetCaptureView.tsx @@ -46,9 +46,11 @@ export const CameraWidgetCaptureView: FC = props = if(clone.length >= CAMERA_ROLL_LIMIT) { + // Roll is full — block the shot (the old code did clone.pop(), which + // discarded the NEWEST photo and pinned the roll at the limit forever). simpleAlert(LocalizeText('camera.full.body')); - clone.pop(); + return; } PlaySound(SoundNames.CAMERA_SHUTTER);