syncthing-android icon indicating copy to clipboard operation
syncthing-android copied to clipboard

Can't set a share on the internal storage to "Send & Receive"

Open UtkarshVerma opened this issue 2 years ago • 10 comments

I can't set a share to "Send and Receive" through the app. It shows the following error:

WhatsApp Image 2023-09-06 at 15 27 09

The share is on my internal storage and not on the SD card. I can change this setting through the Web GUI though. Please let me know if you need any logs.

Version Information

Syncthing Version: v1.23.7
Android Version: Android 13

UtkarshVerma avatar Sep 06 '23 10:09 UtkarshVerma

Same on Pixel 8 (Android 14)

dfgweb avatar Oct 14 '23 14:10 dfgweb

Same on Pixel 7a. Changing the option in the web GUI does not change the readout in the native application, but it does in fact allow for receiving changes and writing them to internal storage.

KerryCerqueira avatar Oct 19 '23 15:10 KerryCerqueira

I'd encourage anyone who faces this issue to make sure to select a folder in a non-restricted location. In the OP, even though quite out-dated by now, ~ is used, which is quite tricky on Android as that probably directs to the app's home(?). Afaik there is not really a linux-like home directory. I'd avoid using it at least.

er-pa avatar Oct 19 '23 15:10 er-pa

OnePlus 9, Android 13.1, syncthing version 1.23.7 Folder and .stfolder were created at /storage/emulated/0 but I'm also getting the "read only" message :shrug:

aluchuk4c avatar Oct 29 '23 02:10 aluchuk4c

Running into the same thing on my Pixel 8. Sync was working fine and then recently (in the last week or so?) two folders changed to "Send only". The folders are in /storage/emulated/0/sync.

In the Android GUI, Folder Type is grayed out, if I tap it, a toast message appears: "Your Android version only grants Syncthing readonly access to the selected folder." I just opened the Web UI (from the Android app main menu), and there I'm able to change the folders back to "Send & Receive" and then they resync successfully!

The Android app seems to be incorrectly detecting the readonly problem, since it actually can sync just fine now. In fact, the folders still show as "Send only" in the Android UI, even though the web UI is now showing "Send & Receive" for them.

Pixel 8 Pro / Android 14 / Syncthing 1.27.2

mmueller avatar Jan 10 '24 21:01 mmueller

Running into the same thing on my Pixel 8. Sync was working fine and then recently (in the last week or so?) two folders changed to "Send only". The folders are in /storage/emulated/0/sync.

In the Android GUI, Folder Type is grayed out, if I tap it, a toast message appears: "Your Android version only grants Syncthing readonly access to the selected folder." I just opened the Web UI (from the Android app main menu), and there I'm able to change the folders back to "Send & Receive" and then they resync successfully!

The Android app seems to be incorrectly detecting the readonly problem, since it actually can sync just fine now. In fact, the folders still show as "Send only" in the Android UI, even though the web UI is now showing "Send & Receive" for them.

Pixel 8 Pro / Android 14 / Syncthing 1.27.2

Thank You So Much Web UI Worked 💓

XBEAST1 avatar Feb 01 '24 04:02 XBEAST1

I experienced this and the web ui workaround worked.

For developers: Although my error log says permission denied, it seems like running a shell command is testing more than just writing a file. Why not use new File(...).createNewFile() ?

wrobbins avatar Feb 03 '24 04:02 wrobbins

Same on Samsung A54 5G, Android 14. I created a folder as Send/Receive in internal storage, it worked well, and randomly changed itself to "Send Only" with this warning text. I was able to change it in the Web GUI back to Send/Receive and all is well.

combs avatar Feb 05 '24 04:02 combs

I experienced this and the web ui workaround worked.

For developers: Although my error log says permission denied, it seems like running a shell command is testing more than just writing a file. Why not use new File(...).createNewFile() ?

Yes I strongly agree: if not root, the app should just use the standard Java interface...

joel-bourquard avatar Feb 05 '24 07:02 joel-bourquard

No need to report any more that this happens, it's clear it does. Something in whatever test/heuristic we use to determine if the location is writable is not working as expected. There's no additional info needed, just an investigation/fix.

imsodin avatar Feb 10 '24 19:02 imsodin