I use S-F to sync two Android tablets with two Windows PCs. This has been working well for some time. However, S-F has started to give me the error message:
Folder path missing (on both Android devices)
S-F is looking in [int]/syncthing/folder-name
and the folders are configured at
~/folder-name (and always have been. Physically they are at storage/emulated/0/folder-name)
As far as can see the string assigned to ~ has been changed from
storage/emulated/0/
to
storage/emulated/0/syncthing/
Is there any way I can change what S-F assigns to ~?
We’re talking about around 120GB of files so I don’t want to change anything that will cause a complete recopy!
Details
Syncthing 1.29.7:
Wrapper 1.29.7.4:
Android versions 6.0.1 and 14
You cannot change the path represented by ~, however, you could go to the Advanced Configuration in the Web GUI (accessible from the left-slide out menu in the app) and change your folder paths there, without using ~ this time.
Thanks, I’ll give that a try. I hadn’t realised that the “Advanced” menu accessed in that way was different to the “Advanced” one available under the Edit option at the bottom of the folder details.
I wonder why the string assigned to ~ was changed and why no one else has, apparently, had this problem?
This was not supported for a long time and was recently added. I’ve already explained on the github issue why I made a terrible mistake at first pointing ~ the intStorage root folder. This was bad design and corrected asap. A minority of users in the meantime added folders using this path and did so by using the “not fully supported” web UI way method. The wrapper does not use ~ .
I think it might be more future proof to assume we have read/write access to our own folder and subfolder structure instead of the whole user data partition (which I feel gets more limited what apps may do there as Android versions increase …). E.g. some file manager apps ask for readWrite permission once via Android SAF, store the token and then use the subfolder tree without trouble. If Android /would/ restrict use more in the future, I hope to react by implementing this way of getting write access for incoming files.
Plus, I avoid clutter on the storage root when users auto accept folders using ~ .
Thanks @Catfriend1. I wonder if my problem may have arisen because I migrated from the “official” Android version of Syncthing to your fork and copied the config across. Is that possible? Or have I misunderstood?
In the underlying Syncthing, ~ will always be set to something. On Android it looks like it’d be the value of $HOME when that is set and otherwise just /sdcard (whatever that means).
If I remember correctly, ~ in the official app did default to /storage/emulated/0. This means that configs imported from the official app, which include ~ in their paths, may break in the Fork.
/sdcard is the same as /storage/emulated/0. It’s called like that, because early Android versions did use actual SD cards as their primary storage .