MerginMaps / MerginMaps/mobile

Warning dialog for photo deletion does not inform user about impact on other features sharing the same photo via Reuse Last Entered Value

Open
#4,534 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement ui/ux
Dominant language
C++
Stars
388
Forks
87
Avg merge
2d 7h
Merged PRs (30d)
20

Description

Descripton
----------------------------------------

- When the Reuse Last Entered Value functionality is enabled for a photo field, all subsequently created features share a reference to the same physical photo file. When the user attempts to delete a photo, a warning dialog is displayed with the following message:
_"Would you like to delete or unlink the photo? Deleting removes the photo from your project entirely, while unlinking keeps the photo in your project but removes it from this specific feature."_
- While this dialog exists, it **is not sufficient for this scenario**. The warning does not inform the user that deleting the photo will also affect all other features that reference the same photo file via Reuse Last Entered Value. **This is a high-risk action that can result in irreversible data loss across multiple features with a single tap, without the user being aware of the full consequences.**
- Additionally, after deletion, all affected features **display a broken photo icon** instead of an appropriate missing photo indicator.
- T**his behavior is not documented** in the Mergin Maps documentation,** specifically on the [How to Reuse Last Entered Values](https://merginmaps.com/docs/field/reuse-last-values/)

Application:
--------------------------------------
Device/OS/APP: Samsung Galaxy A53 / Android 15 / MM app. 2026.3.0 build 818751
Device/OS/APP: IPhone 15 / iOS 26.5 / MM app. 2026.3.0 - build 26.6.912911

Project & Layer
-------------------------------------
Project: tc04_recording
Layer: Multiphoto layer
Feature form setting: Reuse Last Entered Value enabled for photo field

Steps to Reproduce
-----------------------------------------

1. Open the project tc04_recording in the Mergin Maps mobile app.
2. Navigate to Settings and enable Reuse Last Entered Value.
3. Create Feature 1: add two photos, check the checkbox next to the photo field to enable reuse, and save.
4. Create Feature 2: photo fields are pre-filled automatically. Save without changes.
5. Create Feature 3: photo fields are pre-filled automatically. Tap on a photo and select Delete photo from the dialog.
6. Open Feature 1 and Feature 2 and observe the photo fields.

Actual Result
--------------------------------------

The warning dialog is displayed but only describes the general difference between Delete and Unlink. It does not mention that other features (Feature 1 and Feature 2) share the same photo reference and will also be affected. After confirming deletion:
- The photo is permanently removed from the project
- Feature 1 and Feature 2 display a broken photo icon instead of the original image
- The user has no way to recover the deleted photos

Expected Result
-----------------------------------------

- The warning dialog clearly states that deleting the photo will permanently remove the file from the project and will affect all other features that reference the same photo, including previously created features where Reuse Last Entered Value was used.
- **The dialog should explicitly list the risk of data loss across multiple features** and require a stronger confirmation (e.g. a separate confirmation step or displaying the number of affected features).
**- The high-risk action (Delete photo) should be positioned as the last option in the dialog hierarchy** — below the lower-risk option (Unlink photo) to reduce the chance of accidental irreversible deletion. Currently, Delete photo is displayed as the primary/first action button, which increases the risk of unintended data loss.

Attachments
---------------------------------------
Screen recording showing the deletion of photos from Feature 3 and the resulting empty photo fields in Feature 1 and Feature 2.

https://github.com/user-attachments/assets/75132a20-74af-452e-86dc-dee9a4293071

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in the tc04_recording project with Reuse Last Entered Value enabled, then trace the mobile photo deletion dialog and the handling of shared photo references. Done means the dialog explains the impact on other features, uses a stronger confirmation with Delete as the last option, affected features show an appropriate missing-photo state, and the Reuse Last Entered Values documentation describes this behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios
Domain
documentation, mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.