Replacing a photo on a field that uses a photo naming expression results in the photo not being renamed if the resulting filename is the same as the file being replaced. This can cause issues in cases where a user needs to change the photo attached to a feature where a file naming expression is being used.
Create a project that has a photo attachment field in the survey layer and at least one other field that will have a human readable name with a unique constraint (in this example it is the "name" field).
In Project>Properties>Mergin set an expression that will result in a file name that is unique to the feature but not necessarily unique if another photo is taken for the feature. In the example project we use: to_date(now())||'_'||"name"||'-photo1'
Sync the project from QGIS and download it in the mobile app
Record a new feature and attach a photo in the photo widget then save the feature
Go to More>Local changes to check that the correct photo name has been used for the photo
Select the feature on the map and click 'Edit'
Delete the existing photo and take a new one
Save the feature and go to More>Local changes and the new photo should not have the correct photo name
Replacing a photo on a field that uses a photo naming expression results in the photo not being renamed if the resulting filename is the same as the file being replaced. This can cause issues in cases where a user needs to change the photo attached to a feature where a file naming expression is being used.
To recreate the issue, you can use this project.
"name"
field).to_date(now())||'_'||"name"||'-photo1'