nextcloud / android

📱 Nextcloud Android app
https://play.google.com/store/apps/details?id=com.nextcloud.client
GNU General Public License v2.0
4.25k stars 1.76k forks source link

Choosing a file using the system file picker from an app results in ENOENT error #12801

Closed Ericchi closed 6 months ago

Ericchi commented 6 months ago

⚠️ Before posting ⚠️

Steps to reproduce

  1. Open the app you want to load a Nextcloud file into
  2. Use the system file picker to choose a file from Nextcloud
  3. The result is a ENOENT error and the file briefly displays as 0 bytes on the Nextcloud app

Expected behaviour

Load the file correctly into the app

Actual behaviour

ENOENT error

Android version

14

Device brand and model

Google Pixel 8 Pro

Stock or custom OS?

Custom (explain in "additional information")

Nextcloud android app version

3.28.1

Nextcloud server version

28.0.4

Using a reverse proxy?

No

Android logs

No response

Server error logs

No response

Additional information

The ROM I'm using is GrapheneOS Stable 2024032100

0815max commented 6 months ago

Same for me. Rom is CalyxOS 5.5.3 (Android 14) Revert to app version 3.28.0 solves the issue for me (for now). I have checked the file system on my phone and there is a tmp folder next to the folder named by the NC Account and it seems for me that with version 3.28.1 the file is downloaded to the tmp folder but the external app will grab it from the folder named like the account. Maybe this helps.

github-k8n commented 6 months ago

Same here on 3.28.1, was very afraid when seeing that it shows "new version created" in the details with 0 B filesize. Reverted back to 3.28.0 (F-Droid). Hope this is fixed soon in a new version in case some less technically inclined users might experience this and maybe lose files due to this...

ps-gill commented 6 months ago

I use Nextcloud to synchronize my KeePassXC database across various devices. However, after upgrading to version 3.28.1, I can no longer open any kdbx files. Additionally, I observed that when I access these files through the Nextcloud Android app, their size initially appears as 0 bytes. The correct file size is displayed only after I refresh the view by pulling down on the screen.

keepassdx-failure

Oclair commented 6 months ago

I have the same issue

sedrubal commented 6 months ago

I have checked the file system on my phone and there is a tmp folder next to the folder named by the NC Account and it seems for me that with version 3.28.1 the file is downloaded to the tmp folder but the external app will grab it from the folder named like the account. Maybe this helps.

I can confirm this behavior. If you copy the successfully downloaded file from the tmp folder to the corresponding directory in the folder named like your account, opening the file works again.

1023660 commented 6 months ago

I use Nextcloud to synchronize my KeePassXC database across various devices. However, after upgrading to version 3.28.1, I can no longer open any kdbx files. Additionally, I observed that when I access these files through the Nextcloud Android app, their size initially appears as 0 bytes. The correct file size is displayed only after I refresh the view by pulling down on the screen.

keepassdx-failure

The same for me.

Unpublished commented 6 months ago

Same root cause as #12775

Ronkn commented 6 months ago

I have checked the file system on my phone and there is a tmp folder next to the folder named by the NC Account and it seems for me that with version 3.28.1 the file is downloaded to the tmp folder but the external app will grab it from the folder named like the account. Maybe this helps.

I can confirm this behavior. If you copy the successfully downloaded file from the tmp folder to the corresponding directory in the folder named like your account, opening the file works again.

So are you saying everytime you modify the database, once saved you have to copy it from some directory to another? Or do you move it once and then it will work correctly?

a73s commented 6 months ago

Reverting to 3.28.0 on fdroid fixes the issue.

brianjmurrell commented 6 months ago

Reverting to 3.28.0 on fdroid fixes the issue.

Which only works if you installed with f-droid. But as much as I love f-droid and the entire concept of a FOSS marketplace the one thing that prevents me from installing more things from it (i.e. when I have a choice between f-droid and the Google Play store) is that it has no concept of remembering and restoring all of the apps I previously had installed when I have to factory reset my phone, or I get a new one.

Whereas Google Play store apps that I had installed all get re-installed on the new/reset device.

So alas, given that I had a choice to install the NC app from f-droid or Google Play, I chose the latter, as much as I would have preferred the former. So now don't get any option to revert. Well, other than removing it, re-installing it from f-droid, rolling it back and then forgetting to re-install it manually the next time I have to restore my phone.

Ronkn commented 6 months ago

Reverting to 3.28.0 on fdroid fixes the issue.

And @brianjmurrell this works, however you have to uninstall the current version and will lose all locally synced data. I have 8gb worth so this is not an option since I'm traveling all this week. I've got family pictures on my phone of this trip and now I'm concerned if they'll somehow get lost or corrupted. So I'm having to uninstall nextcloud from my device for the moment.

Currently considering something like syncthing moving forward as it may meet the use case that I actually use nextcloud for: syncing photos and documents from my phone to my home server. And it would be far less likely to break.

josenj commented 6 months ago

I use Nextcloud to synchronize my KeePassXC database across various devices. However, after upgrading to version 3.28.1, I can no longer open any kdbx files. Additionally, I observed that when I access these files through the Nextcloud Android app, their size initially appears as 0 bytes. The correct file size is displayed only after I refresh the view by pulling down on the screen.

keepassdx-failure

I too use KeePassDX on Android and got the same error. I downgraded to NextCloud version 3.28.0 and the issue is not there.

josenj commented 6 months ago

Same here. Downgraded to Nextcloud 3.28.0 and the issue is not there.

nariwaa commented 6 months ago

Same issue on a google pixel 6 with android 14

tobiasKaminsky commented 6 months ago

We have a fix and will release a new 3.28.2 today.

Ronkn commented 6 months ago

We have a fix and will release a new 3.28.2 today.

Thank you and whomever else jumped on this so quickly. It's greatly appreciated.

Markus872 commented 6 months ago

ok then i wait with fdroid. I have the same issue with KeePassXC

sedrubal commented 6 months ago

Guys, this is an issue tracker, not a community forum. Please keep it clean and don't share your stories about your family pictures, your future plans about which apps you want to use, or when you want to update or not, on GitHub. Only post new information that might help the developer or if you found a workaround. Use reactions and the subscribe button if you want to say "I'm affected, too".

krichter722 commented 6 months ago

Can this be released as a hotfix, please? Waiting for https://github.com/nextcloud/android/pull/12823 which blocks the milestone 3.28.2 and is still in draft mode seems unnecessary. This is a high-impact bug and since choosing versions in Google Play Store isn't possible, Nextcloud users are denied access to and sync of their password databases (without workarounds).

brianjmurrell commented 6 months ago

I have to agree. There is NOTHING that should prevent this fix from causing a new hotfix release to made to the Google Play store. This is an ABSOLUTE showstopper bug for everyone using this client on Android. Getting it fixed should not have to wait for forty-eleven other bug fixes to be landed.

vimpostor commented 6 months ago

There is NOTHING that should prevent this fix from causing a new hotfix release to made to the Google Play store. This is an ABSOLUTE showstopper bug

If I understand correctly, the 3.28.2 release was already made a week ago: https://github.com/nextcloud/android/releases/tag/stable-3.28.2

Maybe the delay is just on Google's PlayStore side.

@tobiasKaminsky Can you confirm that 3.28.2 has been published to the PlayStore?

krichter722 commented 6 months ago

Thank you. I could get 3.28.2 through F-Droid today (maybe it was available earlier). Not through Google Play Store, though.

Note: The milestone 3.28.2 is still open even though the version is released.

AndyScherzinger commented 6 months ago

Hi all,

let me give some answers until @tobiasKaminsky can comment on it.

vimpostor commented 6 months ago

3.28.2 seems to be published now for me on the Google Playstore, and everything is working again.