Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.30.6 - Missing permission "all files access" #14135

Open
4 tasks done
BluePixel4k opened this issue Dec 5, 2024 · 69 comments
Open
4 tasks done

3.30.6 - Missing permission "all files access" #14135

BluePixel4k opened this issue Dec 5, 2024 · 69 comments
Labels

Comments

@BluePixel4k
Copy link

BluePixel4k commented Dec 5, 2024

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. Install version 3.30.6
  2. Press the upload button inside the Nextcloud app
  3. Navigate into a folder with files other than pictures or videos
  4. Result: there are no other files listed

Expected behaviour

It should be possible to upload files other than pictures and videos.

Actual behaviour

The error is caused by the missing permission "all files access".
It was possible in previous versions.

Android version

15

Device brand and model

Google Pixel 8

Stock or custom OS?

Custom (explain in "additional information")

Nextcloud android app version

3.30.6

Nextcloud server version

30.0.2

Using a reverse proxy?

Yes

Android logs

No response

Server error logs

Additional information

My phone is running GrapheneOS.

@BluePixel4k
Copy link
Author

@alperozturk96 I think we need a patch for this bug asap.

@BluePixel4k BluePixel4k changed the title Missing permission "all files access" 3.30.6 - Missing permission "all files access" Dec 9, 2024
@BluePixel4k
Copy link
Author

It's look like only the gplay release is affected.
With the fdroid, release it's possible to grand the "all files permission".
For the gplay release, the permission is not available anymore.

@AndyScherzinger
Copy link
Member

Google forced us to remove the permission and blocked all updates to the app store since July because of this. We can't bring it back for GPlay I am afraid...

@BluePixel4k
Copy link
Author

Oh, that's really sad.
I didn't know that, because the changelog only lists that:
Due to new restrictions imposed by Google, the auto-upload feature will no longer be able to automatically remove uploaded files.

@Adam-D-Lewis
Copy link

Adam-D-Lewis commented Dec 13, 2024

This is not a great solution, but FWIW as a workaround I was able to get around the issue of uploading a non image file by changing my pdf file extension to "png" and then back after uploading.

@cybercroft
Copy link

@AndyScherzinger so what you are saying is that Google decided to impose restrictions on the kind of data we are able to synchronize without user permission? Consequently any document files can no longer be sent to the Nextcloud server when using an android device? This indeed is concerning. I would consider this issue to be of high priority. Is there any other workaround?

@tobiasKaminsky
Copy link
Member

The "workaraound" aka the real way Android wants it is like this

  • open native Files app
  • go to your desired file
  • share it to Nextcloud App
    --> choose desired upload folder and upload it

And yes, Google decided this, as F-Droid is remained untouched.
There we are still allowed to use this permission.

A bit of lengthy background:
Other apps were not allowed to use this permission at all, once it was introduced in 2022.
I could convince them back then, that we need this.
But nowadays they are more strict on it and thus we needed to remove this permission.
Thus is, why it feels now like a regression / problem in UX, while it was only an exception that they allowed it for ~2 years.

@JimmyKater
Copy link

how sad this is...
though a big thank you for 2 years of additional functionality.

Awww... and as this issue isn't really solvable... I think it can be marked closed.

@Whisprin
Copy link

Whisprin commented Dec 18, 2024

thanks for this insightful background information @tobiasKaminsky .
With this it seems that this issue mixes several related, yet not identical problems:

  1. the app being unable to auto upload files other than pictures and videos (afaik users are not informed that this is the case and why)
  2. the app being unable to auto upload pictures and videos (may or may not be related to this, workarounds suggest removing and adding file and folder permission or set up of a custom folder for the already existing camera folder)
  3. the app being unable to move or remove files after they have been uploaded (currently users are informed about this "[...] , the auto-upload feature will no longer be able to automatically remove uploaded files")

For 1. auto upload of other files
If the upload for files other than pictures and videos is currently expected to be broken, then user should be a) informed that this is broken in the Google build variant and b) the user should be prompted to remove the broken custom auto upload folder pairs to make sure no wrong expectations arise going forward.
If other apps, especially the ones from Google themselves, are able to do this, it sounds like another antitrust issue and stifling competition. But I don't know if that's the case.

For 2. auto upload of pictures and videos
Would be great to understand if this is related or not, and whether auto upload of pictures and videos is currently expected to work flawlessly or not after updating the app from Google Play.

For 3. (re)moving files after auto upload
The auto upload folder setting "Original file will be..." kept/moved is grayed out and can't be changed for picture and video folders only. However, that setting can be changed for other folders by the user, e.g. Documents. Clarification if this should apply to all or only some folders would be helpful.

@drhirn
Copy link

drhirn commented Dec 18, 2024

And I would love to know, if the F-Droid version will always be working.

(when switching from g-play to f-droid I realised, an export function for settings would be nice. had to configure all upload-folders again, which are many in my case)

@GuyFromMars365
Copy link

GuyFromMars365 commented Dec 19, 2024

Google forced us to remove the permission and blocked all updates to the app store since July because of this. We can't bring it back for GPlay I am afraid...

So Google declined Permission Declaration Form you submitted? Did they explain why? Doesn't Google Drive, One Drive, Box, Dropbox all have these permission? I assume that without this permission, Nextcloud can no longer delete ANY file on Android, including files it creates? If so, what is Goolgle's expected way of handling file sync?

For reference, I also discussed this here: https://github.com/nextcloud/android/pull/14099#issuecomment-2552716882

@tobiasKaminsky
Copy link
Member

And I would love to know, if the F-Droid version will always be working.

As long as Android itself does not remove this permission at all, then Fdroid stays "safe", as Fdroid does not restrict this.

So Google declined Permission Declaration Form you submitted? Did they explain why?

They said that our app can use other more privacy friendly options, like their new photo/video picker.
But this is just wrong, as it is not only about accessing files, but also deleting them, which cannot be possible with their proposed way.

Nextcloud can no longer delete ANY file on Android, including files it creates?

That is luckily not the case. Our app can delete all files that it created within its own data storage.
Our app can also read most of the files, but is (and that is the big drawback) cannot move/delete them.

@tobiasKaminsky
Copy link
Member

You can also click "+" button and then choose "upload content from other apps" and use the Android's internal file picker.
Then all files should show up again.

@branleb
Copy link

branleb commented Dec 20, 2024

Just encountered this issue, switched from gplay to fdroid version as recommended here.

Can't confirm switching to the fdroid version is a working solution.
There is still no way to add "All files Permission" on Android 15 (Pixel 8a) and therefore no way to use the InstantUpload Feature for files other than media (audio and video) file types. So it's not only about moving/deleting, but also about reading which seems not possible/not to be working at the moment.

//EDIT: Note: was my error, see below my later post. it works, can confirm

Is there any way this still can be archieved?
Manual chosen upload of single files by way of the "upload content from other apps" is obviously no solution here.

I used to autoupload e.g. my entire Downloads folder (which I used to do e.g. on a G60 with Android 12) so I could download for example a PDF file on the phone (because I received it there via an App, got the link easy via a mobile first/only App etc.) and access the file almost instantly on a bigger screen device.

Another usecase would be backing up WhatsApp to something that is not Google Drive.

Both usecases seem now impossible.

@drhirn
Copy link

drhirn commented Dec 20, 2024

There is still no way to add "All files Permission" on Android 15 (Pixel 8a) and therefore no way to use the InstantUpload Feature for files other than media (audio and video) file types. So it's not only about moving/deleting, but also about reading which seems not possible/not to be working at the moment.

Can't confirm this. Android 15 on Pixel 8. Nextcloud app is able to upload anything and delete files. Working as expected.
Uninstalled the G-Play Version and installed the one from F-Droid. Started the app and it asked me for permissions. Configured auto-upload-folders and everything was working like before.

I'm using it a lot to auto-upload created PDF files.

@BluePixel4k
Copy link
Author

BluePixel4k commented Dec 20, 2024

There is still no way to add "All files Permission" on Android 15 (Pixel 8a) and therefore no way to use the InstantUpload Feature for files other than media (audio and video) file types.

For me, it's working fine with the fdroid version.
You can grant the permission in the Android settings:
Settings -> Apps -> Special app access -> All files access -> Nextcloud

@branleb
Copy link

branleb commented Dec 20, 2024

There is still no way to add "All files Permission" on Android 15 (Pixel 8a) and therefore no way to use the InstantUpload Feature for files other than media (audio and video) file types.

For me, it's working fine with the fdroid version. You can grant the permission in the Android settings: Settings -> Apps -> Special app access -> All files access -> Nextcloud

Thanks for the explicit instruction. Now I found and enabled the permission with the fdroid version and I can confirm, works for me too.

Previously I had looked in the wrong place. I had found this comment in issue #2036 #2036 (comment) and hat misinterpreted the » Settings > Apps > "..." > Special access > All files access.« as »Settings -> Apps ->Nextcloud -> (Permissions ->) Special Access -> All files access« and because I didnt find any such option in the Setting -> App -> Nextcloud menu or the Permissions submenu, I concluded it was still not available while I just was looking in the wrong place. My Bad.

@Wikinaut
Copy link
Contributor

Same issue on all of the phones here:

Samsung A54, Android 14

@programmer-61
Copy link

I have noticed this issue because my photos auto uploaded were missing the GPS information. After switching to the F-Droid Version now the GPS information ist back in the auto uploaded photos.
So I would guess that the new way to acces the files which Google offers removes GPS information from the photos....

@Beer17HWAM
Copy link

I have noticed this issue because my photos auto uploaded were missing the GPS information. After switching to the F-Droid Version now the GPS information ist back in the auto uploaded photos.
So I would guess that the new way to acces the files which Google offers removes GPS information from the photos....

Exactly the same here. Running F-Droid version now and happy again. Hope it stays that way.

@BluePixel4k
Copy link
Author

I have noticed this issue because my photos auto uploaded were missing the GPS information.

Oh, yes, the GPS information missing, if you only grand the photo and video permission. The bug is also present in the 3.30.6 fdroid version and 3.29.3 gplay version too. But if the permission for all files are granted, then it's working fine.

It's also mentioned in another issue:
#14199 (comment)

It's look like, the permission ACCESS_MEDIA_LOCATION is necessary to upload pictures with GPS info in connection with picture and video only permission.

But I think we need to open another issue for this bug.

@AndyScherzinger
Copy link
Member

It's look like, the permission ACCESS_MEDIA_LOCATION is necessary to upload pictures with GPS info in connection with picture and video only permission.

cc @tobiasKaminsky @alperozturk96

But I think we need to open another issue for this bug.

That be appreciated and helps fixing the various aspects in an isolated piece by piece manor 👍

@koying
Copy link
Contributor

koying commented Dec 26, 2024

For 2. auto upload of pictures and videos
Would be great to understand if this is related or not, and whether auto upload of pictures and videos is currently expected to work flawlessly or not after updating the app from Google Play.

I had the same issue and fixed it by going to "accounts-<my nextcloud-account>" on my phone, and (re-?) enabling "Files" synchronization, which was disabled for whatever reason.
Likely due to 3.30.6 as my last auto-uploaded photos dated from end November.

@sol8712
Copy link

sol8712 commented Dec 26, 2024

Just because there is no technical way to solve this issue doesn't mean there's no way to make progress towards a solution.

#13871 (comment)
Unless anyone can find a better solution for pushing this issue foreword, this may be the best bet at one day solving it.

@tobiasKaminsky
Copy link
Member

It's look like, the permission ACCESS_MEDIA_LOCATION is necessary to upload pictures with GPS info in connection with picture and video only permission.

cc @tobiasKaminsky @alperozturk96

But I think we need to open another issue for this bug.

That be appreciated and helps fixing the various aspects in an isolated piece by piece manor 👍

https://developer.android.com/training/data-storage/shared/media#media-location-permission

We can add this.
They say "Your app requires explicit user consent to gain access to this information." and I hope, this is getting remembered, and does not need to be done for every folder/file.

@tobiasKaminsky
Copy link
Member

I assume that you understand that I cannot disclosure any conversation/mails with Google.
But I tried to convince them, via sending video, describing in length how (auto) upload will break, how others app are still using the same permission, that we had the permission since 2 years without any problems.

But, no luck.

@Wikinaut
Copy link
Contributor

Wikinaut commented Jan 7, 2025

Try harder, otherwise it breaks the neck of Nextcloud.

It looks as if Google will now finally kick off Nextcloud as a competitor to their cloud business.

@tobiasKaminsky
Copy link
Member

If you have any idea, how, I am happy to hear.
We can only appeal against their decision and they always answered the same text blocks.
It was literally always 1:1 copy.
So it seems that they do not even try to listen to the arguments.

@koying
Copy link
Contributor

koying commented Jan 7, 2025

I don't think not being able to sync non-photos/videos from Android is a threat to Nextcloud 😉
I'd be really happy to get back GPS info on photos, though...

@Wikinaut
Copy link
Contributor

Wikinaut commented Jan 7, 2025

It's a case for Schrems.

@Wikinaut
Copy link
Contributor

Wikinaut commented Jan 7, 2025

I don't think not being able to sync non-photos/videos from Android is a threat to Nextcloud 😉
I'd be really happy to get back GPS info on photos, though...

It is. You cannot even share upload pdf, odt or similar files now.

This is Google monopoly power which needs to be attacked now by Karlitschek and Schrems.

@koying
Copy link
Contributor

koying commented Jan 7, 2025

You cannot even share upload pdf, odt or similar files now

You totally can share, at least with the f-droid version. I just tested it.
If I understand correctly the issue, you cannot sync anymore.

@Tasketo
Copy link

Tasketo commented Jan 7, 2025

Also with the play store version.

You still can share files via the App.

You still can use Auto Upload (Just turn it on again), at least Images and videos in my case. The files will retain on the android device rather being deleted automatically, if configured so in the past. That's not that cool, but can be cleaned manually from time to time

@DragonQ
Copy link

DragonQ commented Jan 7, 2025

Also with the play store version.

You still can share files via the App.

You still can use Auto Upload (Just turn it on again). The files will retain on the android device rather being deleted automatically, if configured so in the past. That's not that cool, but can be cleaned manually from time to time

But they also have to be manually downloaded or moved to be in the correct Nextcloud folder structure.

@Whisprin
Copy link

Whisprin commented Jan 7, 2025

If you have any idea, how, I am happy to hear. We can only appeal against their decision and they always answered the same text blocks. It was literally always 1:1 copy. So it seems that they do not even try to listen to the arguments.

Maybe conciser these steps to regain the "all files access" permission:

  1. Improve the app name and Play Store listing to make the intend clear
  • Suggested app name: "Nextcloud: Files & Sync" or "Nextcloud: Storage & Backup"
  • Suggested content for "About this app and features": The Open Source Nextcloud Android app allows you to access, store and backup all your files on your Nextcloud. Features: Automatically backup files to your Nextcloud
  • Add a screenshot with other than photos Auto upload to the Play Store listing
  • Goal: leave no doubt to Google and to the user that synchronizing arbitrary files in the background is a core feature of the app, submit the app for review again
  1. Conduct and publish a security audit of the app
  2. Connect with developers of other apps that have the "All files access" permission and see what's different
  3. Escalate further: Involve @karlitschek, the Nextcloud legal team and external help

Until then maybe this overview of known issues helps:

1. Problem: Existing Auto uploads fail silently after app upgrade (photos, videos and other files)

Currently the "photos and videos" permission is requested only after the user manually navigates to "Auto uploads" in settings. Without this backups fail silently until the user notices and fixes manually.

Proposed solution

Display a push notification right after the app upgrade:

  • Inform the user that
    • Auto uploads of other files are not working and won't be working with the Google Play Store build
    • the photos and videos permissions need to be granted so that their auto upload works again (but no other file types)
    • the location permission is required if the user wants to keep the location tags in their uploaded photos
  • ask the user to grant access to photos and videos
  • ask the user to grant access to location

Status

Several user reports about Auto upload not working:
- #14199
- #14330
- #14331
- #14333

2. Problem: Location metadata of uploaded photos is removed silently

Proposed solution

  • Inform the user that location data of uploaded photos is removed and/or
  • Request location permission from user

Status

3. Problem: Moving and removing of files (photos, videos and other files) doesn't work

Proposed solution

  • Inform the user, nothing else can be done at the moment

Status

Informative

  • Only the Google Play Store build is affected, the F-Droid build works just like before including auto uploads of arbitrary files
  • Manual uploads of arbitrary files still work in the Google Play Store build variant
    • tested with .wav, .pdf, .p12, .txt and more unusual file types using a clean install of app version 3.30.7 and an upgraded 3.30.7
    • sharing a file from the Android file manager to Nextcloud results in the file being uploaded
    • picking a file from within Nextcloud using "Upload files" or "Upload content from other apps" results in the file being uploaded

(also see the email I sent you yesterday with the same points)

@BrianJKoopman
Copy link

  • Manual uploads of arbitrary files still work in the Google Play Store build variant
    • sharing a file from the Android file manager to Nextcloud results in the file being uploaded
    • picking a file from within Nextcloud using "Upload files" or "Upload content from other apps" results in the file being uploaded

This wasn't true for me for whatever reason. I was unable to upload .wav files using either the share from the Android file manager or by picking the file within Nextcloud's file upload/content from other apps. I've since moved to the F-droid build and it's working again.

@n8falke
Copy link

n8falke commented Jan 7, 2025

This wasn't true for me for whatever reason. I was unable to upload .wav files using either the share from the Android file manager or by picking the file within Nextcloud's file upload/content from other apps.

Same on my Pixel 6 Pro: No upload (file or from other app) / share / view / download of i.e. pdf.

@Whisprin
Copy link

Whisprin commented Jan 7, 2025

  • Manual uploads of arbitrary files still work in the Google Play Store build variant

    • sharing a file from the Android file manager to Nextcloud results in the file being uploaded
    • picking a file from within Nextcloud using "Upload files" or "Upload content from other apps" results in the file being uploaded

This wasn't true for me for whatever reason. I was unable to upload .wav files using either the share from the Android file manager or by picking the file within Nextcloud's file upload/content from other apps. I've since moved to the F-droid build and it's working again.

Thanks, that's interesting. I just uploaded a .wav file with Nextcloud 3.30.7 that I installed from Google Play Store.
It's a fresh install (not an upgrade). I updated my comment above to make this more explicit.

Did you upgrade from an older app version? And are you testing with the latest app version installed through Google Play? @Wikinaut @BrianJKoopman @n8falke

@n8falke
Copy link

n8falke commented Jan 7, 2025

I had an updated version.

Browsing remote files and pressing on a pdf caused a download error. Pictures can still be viewed.

Upload causes a copy error.

Sharing: After choosing of target folder no upload and no error message.

@Whisprin
Copy link

Whisprin commented Jan 7, 2025

I tried this

  • Manually install Nextcloud app 3.30.5 (gplay release which still has the "all files access" permission)
  • Grant "Full access" to storage
  • Upload a .wav file using "share" -> it works
  • Upgrade Nextcloud through Play Store from 3.30.5 to 3.30.7 ("all files access" permission is removed)
  • Upload the same .wav file and other files using "share" -> it still works
  • Upload an .apk file using "Upload content from other apps" -> it works
  • Trying to pick the .apk file using "Upload files" -> doesn't work, only image files are visible

@BrianJKoopman
Copy link

Did you upgrade from an older app version? And are you testing with the latest app version installed through Google Play? @Wikinaut @BrianJKoopman @n8falke

I was on v3.30.6, and yes upgraded from an older version, I've had the app on my phone for years at this point. Some more details in #14135 (comment).

My nextcloud server version is quite out of date at the moment, so maybe that contributed. Interesting to hear .wav upload works for you in those scenarios.

@DragonQ
Copy link

DragonQ commented Jan 8, 2025

I deleted storage then uninstalled the GPlay version, then installed the F-Droid version. Lost all my locally synced files but working fine now.

However, GPlay still insists on trying to update the app even though it wasn't installed from GPlay. How do I get it to stop trying to update it? I know I can tell it to stop automatically updating it, but it still tries every time I check for updates!!

@thgoebel
Copy link
Contributor

thgoebel commented Jan 8, 2025

On Android 14 and above, there is the concept of "update ownership". A recent F-Droid client should request this, afaik. On older Android versions, you'll have to deal with this trying-to-update behaviour 🤷

@DragonQ
Copy link

DragonQ commented Jan 8, 2025

On Android 14 and above, there is the concept of "update ownership". A recent F-Droid client should request this, afaik. On older Android versions, you'll have to deal with this trying-to-update behaviour 🤷

* https://source.android.com/docs/setup/create/app-ownership

* https://f-droid.org/2024/04/18/twif.html

Thanks. Stuck on Android 12 until someone releases a phone I actually want so sucks for me!

@gpayer
Copy link

gpayer commented Jan 9, 2025

I got automatic photo uploading working again by doing the following steps:

  • In the Nextcloud App navigate in "All files" to your normal upload folder
  • Click the "+" button and select "Camera" as source. During this step I was asked to grant media and files permissions to the app! (this is the important part)
  • Select photos and videos not uploaded yet and send it

Afterwards the automatic upload worked again. Additionally I deactivated "automatically remove permissions for unused apps" for the Nextcloud App in the app settings.

However I'm still using Android 11, so this might not work for later versions.

@Whisprin
Copy link

Whisprin commented Jan 9, 2025

thanks @gpayer Could you please check if any photos that have been taken before (without the media permission) are automatically uploaded after you granted the permission?

@patvdleer
Copy link

In my case it didn't, it did start uploading again but not the missing/old one taking between mid december and the permission fix

@gpayer
Copy link

gpayer commented Jan 9, 2025

@Whisprin unfortunately that can't be tested anymore, I already uploaded all missing photos.

@alperozturk96
Copy link
Collaborator

alperozturk96 commented Jan 10, 2025

I have noticed that multiple issues have been created regarding the same discussion. To ensure we address everything efficiently and maintain clarity, I kindly request that we consolidate all discussions under the main issue. May I also kindly ask for your assistance in closing this one?

@silas229
Copy link

Since last night I encounter the same problem.

App version: 3.30.8 RC1
Android version: 13
Device: OnePlus Nord 2

Image

Image

@ados8
Copy link

ados8 commented Jan 18, 2025

Can say no solution I've tried works.
Tried the proposed older APK and FDroid but only get a single sync on setup and then any new files will not sync.

@daggerplusplus
Copy link

The android app Megasync works by letting you point to a directory that it should sync and this works with all file types. Can you consider changing the strategy for Android to how Megasync does it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests