Conflict resolver dialog cannot be created
⚠️ Before posting ⚠️
- [x] This is a bug, not a question or an enhancement.
- [x] I've searched for similar issues and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's Code of Conduct.
Steps to reproduce
- Create a file upload conflict situation. These are fairly easy to set up - you don't even have to touch the file on the nextcloud side. In my case, the file was likely modified on the Android side during the upload.
- Expand the "File upload conflict notification".
- Click "Resolve conflict".
- Instead of the conflict resolver dialog, I just get a toast that says "Conflict resolver dialog cannot be created".
I used to get the conflict resolver until fairly recently.
Expected behaviour
Conflict resolver should open
Actual behaviour
Toast that says "Conflict resolver dialog cannot be created".
Android version
15 (BP1A.250405.007.B1)
Device brand and model
Pixel 7
Stock or custom OS?
Stock
Nextcloud android app version
3.31.1
Nextcloud server version
31.0.4
Using a reverse proxy?
I don't know
Android logs
Todo
Server error logs
Additional information
No response
Same issue, except the device is a Pixel 9 with Graphene OS
Same here, Pixel 8 Pro on Android 16
I also have the same problem - OnePlus 8T/Lineage OS 22.2
Same here, Pixel 9 Pro XL, Android 15, Nextcloud app 3.31.4
Same issue here, Pixel 6 Pro, Android 15, Nextcloud app 3.31.4 (F-Droid). I also experienced the same from the Google Play version and believe that was version 3.32.0.
I'm not sure if this information will be useful, but the issue appears to come from an error in ConflictResolveActivity.kt, when it calls storageManager.fileExists(remotePath). If I remove that check and rebuild, the dialog pops up fine. I am not familiar with SQL in the slightest, so I unfortunately don't know how to fix anything beyond that, but I assume it's an issue with how fileDao.getFileByEncrypedRemotePath() (called by fileExists()) works.
Same issue, except the device is a Pixel 9 with Graphene OS
It magically fixed itself... 🤷🏼♂️
I just wanted to add, I still have no clue why it didn't work initially, but if I trigger the conflict resolution dialog from the app in the uploads section (all the way at the bottom), instead of from the notification, the dialog works. What's super weird is that after I triggered the dialog from the app, now the notifications open the dialog just fine.
I know next to nothing about the inner workings of the app, so I am just speculating, but I wonder if it has something to do with the issue spawning the process mentioned in a similar issue (https://github.com/nextcloud/android/issues/10581#issuecomment-1213753391). I did not see this in the logs when I tried, but I also wasn't specifically looking for it, and I didn't think to save the logs when I was looking through them.