Repository navigation
File picker forces permission for parent folder when selecting nested folder #211
Description
Activity
- addedbugSomething is not workingSomething is not workingneeds triageIssue is not yet ready for PR authors to take upIssue is not yet ready for PR authors to take up
on May 17, 2024 - changed the title
[-]When selecting a backup location which is not a direct child of Internal, the user is coerced into granting permission to its parent or ancestor instead[/-][+]When selecting a backup location which is not a direct child of Internal, the user is coerced into granting access to its parent or ancestor instead[/+]on May 17, 2024 - addeddevice/software specificIssues concerning devices with some specific hardware/softwareIssues concerning devices with some specific hardware/software
on May 17, 2024 - removedneeds triageIssue is not yet ready for PR authors to take upIssue is not yet ready for PR authors to take up
on Oct 9, 2024 I think that this related bug is missing from here: [https://github.com/FossifyOrg/Contacts/issues/144]. If a consistent file selection with just an intent is possible, then it would solve many other problems with: GrapheneOS, Fariphone, etc.
Reacted by Seth R. and Mr. BeansAny workaround on the issue?
I need automatic backups to use fossify apps.Open source Tasks app does the thing, maybe copy the solution?
the user is coerced into granting access to its parent or ancestor instead
It seems to me that this was done to handle the following not-so-valid edge-cases:
- Having access to
Internal > Backupsinstead ofInternal > Backups > Notesallows the app to create theNotesfolder if it is missing (system/user error). The app still saves files toInternal > Backups > Notes, notInternal > Backups. - Slightly reduces the number of dialogs one has to go through to select another folder in the same parent (see Improve file/folder selection UX #131)
copy the solution?
It rarely is as simple as that. The solution is always more or less obvious, implementation requires consideration and time.
Reacted by Guri- Having access to
For clarity, do note that this issue also applies to selecting a backup folder further down the directory hierarchy; if you pick e.g.
Internal > Backups > Local > Fossify > Notes, you will also be asked to grant access toInternal/Backupsand all files and folders below it, giving the Fossify app access to all kinds of sensitive backup data that you don't want the Fossify app to have access to (i.e. be able to wipe), no matter if it has internet access or not.Reacted by Hoggy-1- marked I cannot select camera folder for storing the photos Camera#58 as a duplicate of this issue
on Apr 2, 2025 - changed the title
[-]When selecting a backup location which is not a direct child of Internal, the user is coerced into granting access to its parent or ancestor instead[/-][+]File picker forces permission for parent folder when selecting nested folder[/+]on Apr 2, 2025 - removeddevice/software specificIssues concerning devices with some specific hardware/softwareIssues concerning devices with some specific hardware/software
on Apr 2, 2025 Well, I've figured out a temporary workaround for choosing the correct directory on GrapheneOS (as long as it's on internal storage at least). Here's what I did:
- Temporarily rename
Backupsfolder. (I went withBackupss) - Enable automatic backups in fossify app.
- Tap the folder field and tap
Internal - Tap the
+to add a folder. Now you can addBackupsas a child ofInternal - If you want the backup in a directory within your
Backupsfolder ie:Internal > Backups > Calendar, just tap the folder field again and you should be able to add a new folder within the one you just created. - Once you've set up your folder(s) and the backups have been enabled, you can now copy everything in your
Backupssfolder back to the actualBackupsfolder and delete theBackupssfolder.
Reacted by Jerry- Temporarily rename
@dcikpeama You still had to grant the Fossify app permission to access
Backupsafter step 4, right? I don't understand how this is a workaround to the issue we're discussing here.@dcikpeama You still had to grant the Fossify app permission to access
Backupsafter step 4, right? I don't understand how this is a workaround to the issue we're discussing here.It seems I must have misunderstood what was being discussed since I initially came to this thread because this issue was closed in favor of the current thread. I was addressing what seems to be the related problem of GrapheneOS not presenting a directory tree to local storage (one of the problems alluded to here). Apologies if this is the wrong thread for my previous post.
I have this issue, app v1.11.0 from F-droid using GrapheneOS build 2026091900. Would be lovely if this could be fixed. I want to centralize my app backups location and it's a little annoying having this one exception out in /Downloads/ for example.
Reacted by tobse91 and userbiter
Checklist
Affected Android/Custom ROM version
Android 13 / LineageOS 20
Affected device model
Pixel 4a
How did you install the apps?
F-Droid / IzzyOnDroid
Which apps are affected?
Calendar, Contacts, Notes, possibly others
Steps to reproduce the bug
Enable automatic backupsFolderfield and pick a folder that's not a direct child ofInternal, e.g.Internal > Backups > NotesOKthe Android file picker opens at said location. A security-minded user will navigate to the folder they actually want to grant access to and tapUSE THIS FOLDERfollowed byALLOWWrong folder selected, please select path 'Internal/Backups'Expected behavior
I always feel a bit silly answering these two questions, since it should be clear by now, so I'll let ChatGPT answer them.
Internalwithout being coerced into granting permission to its parent or ancestor folder.Actual behavior
Internal, the user is prompted to grant permission to its parent or ancestor folder (Internal/Backupsin this case) instead of the intended folder.Internal/Backups, which is not the folder the user intended to select.Screenshots/Screen recordings
The behavior was coincidentally showcased in the video in #131, where the user actually goes along with granting the Fossify app wider access. He then remarks under Expected behavior:
Although this was not the main point of the feature request (it was also not a bug report).
Additional information
If you pick e.g.
Internal > Backups > Local > Fossify > Notes, you will also be asked to grant access toInternal/Backups, hence me also mentioning ancestors in addition to parents.Possibly related: