3 ms·
Sync in background can be achieved using Storage Access Framework APIs, where Syncthing can get access to directory trees without requesting any special extra p
by izacus 2y ago
Sync in background can be achieved using Storage Access Framework APIs, where Syncthing can get access to directory trees without requesting any special extra permissions - that's right, no need for READ_EXTERNAL_STORAGE or the one I'm guessing the OP uses, MANAGE_EXTERNAL_STORAGE.
The API is available since Android 4.4. The requirement to use it instead of asking for access to all documents, private photos, personal data and other data on the phone is there from Android 10 (that's 4 years now).
It's telling that the author isn't actually saying why they're rejecting him - I bet they're telling him the app doesn't need access all private photos just to sync a directory and that the app should use the API that's been mandated 4 years ago. There's even a fork that does exactly that and is published just fine.
- pjmlp 2y agoYes, the ecosystem is full of devs that refuse to adopt the new ways, regardless of how many years Google has been pushing for them.
- plorg 2y agoIn other GitHub Issues (I don't have the tab open, they might have closed it) the author discusses using that permission but says they are not able to because the Storage Access Framework is only available for Java/Kotlin apps, where syncthing is written in go.
- izacus 2y agoIs it really surprising that "I want access to all the private data because I don't want to make a JNI bridge for SAF" isn't an answer Google accepts? Do you think Apple would accept that excuse?
- pjmlp 2y agoThe author has chosen not to use the official programming languages and then complains it isn't a smooth experience?
- proactivesvcs 2y agoThe author of Syncthing-fork has actually said they've had similar problems with Google and believe it's only a matter of time before their app is locked in a similar way - so much so that they are planning to surrender their Play developer account: https://github.com/Catfriend1/syncthing-android#about-play-store-releases https://github.com/Catfriend1/syncthing-android#about-play-s...
- ranger_danger 2y ago> It's telling that the author isn't actually saying why they're rejecting him Have you ever tried to publish apps on the play store? They often don't give you a reason that it fails, you're just left to keep trying different things randomly until it works, and then later fails again when you changed nothing... there is a documented history of this happening to many projects. I know several FOSS projects that do not have the knowledge/time/desire to implement SAF support, and for some projects it doesn't make much sense or might be invasive to the user experience, and their play store versions have since been stuck at old versions and they just moved on to F-Droid and other appstores.
- pjmlp 2y agoAndroid is not GNU/Linux, and the use of Linux kernel could be easily replaced by something else POSIX like. Many of those FOSS projects keep thinking Android is Linux, and then act surprised when it is not.
- izacus 2y agoYes, I've been doing this for a long time now and I've also helped convert several apps to the new SAF framework when the restrictions came out. I've also helped many companies and people with these kind of issues and in most cases it's been self-inflicted. The policy there was always very clear - you need to use SAF unless you're building something that absolutely function with it (these are pretty much exclusively file explorers). Syncthing can use SAF, the author just refuses to according to their bugs. This counts as "self-inflicted" and I'm not sure why they think they can complain their way out of it.