Replies: 3 comments 3 replies
-
I haven't noticed a difference between external and 'owned' folders but it is possible that there are restrictions in iOS for this. If there are, I am not sure I can work around those (and Mobius should have the same issue, although possibly it reconfigures the scanning interval for these folders?). Syncthing and hence Synctrain will automatically re-scan folders every now and then regardless of file watching (the interval is configurable but the setting is not exposed in the UI - I might add that).
A rescan can be very resource intensive on large folders. The rescan interval however can be made configurable (and I could add a toggle to have the app start a rescan on foregrounding)
You can long-press a subdirectory, go to its properties and pin the whole folder. Note that this will automatically also sync files added to the folder (either locally or by peers). Also when unpinning a folder you have to manually remove the files in the folder, as the app cannot be sure they are synced / there may be files in there that are ignored on the other side.
This is just iOS being very annoying and unpredictable. I cannot really do anything to fix this. Note that if you force quit the app, iOS will not schedule background tasks until after you have opened the app again. In the beta version you can turn on notifications so you can see when it does background sync. (Note that the current beta version does seem to have an issue where it starts, but never completely finished background processing, I am looking into that).
This is fixed in the next version. It required a specific entitlement from Apple for privacy reasons.
Simply put, iOS is just very adamant on not having apps run in the background. Even with your solution, you only get a few seconds worth of processing time. The philosophy of the app is to offer on-demand syncing and selective syncing so that you actually do not need the background processing time in many usage scenarios (but of course you can still sync full folders on background sync if you want to, it will just take some time). Note that in the newer versions of the app, you can long-press the progress bar on the start screen while the app is transferring files, and enter a sort of 'screen saver' waiting mode. In this mode the device will be kept awake until the syncing has finished (iOS only allows this if we also keep the screen on...)
|
Beta Was this translation helpful? Give feedback.
-
I'm using Synctrain's own folder, not an external one. The particular app I'm seeing an issue with is KeePassium. Maybe it's doing something odd to save the file for which you don't get an event (though Möbius Sync detected changes just fine).
Ah, I completely missed this. But it doesn't look like you can do this for the top-level folders themselves?
After letting the app run for another day, all I can see in the background sync log is long processing tasks from when my phone was charging. Can iOS seriously just never dispatch app refresh tasks? I can find other developers complaining about this as well. :( IIRC you mentioned on the Syncthing forum that File Providers only offer temporary access, but are you sure? I mean, maybe I'm missing something, but the Replicated File Provider API docs seem to imply it's meant for things like Dropbox that stick around, which is what you would need here? It does look rather painful to deal with, admittedly. |
Beta Was this translation helpful? Give feedback.
-
One additional bit of feedback, it looks like the text file viewer uses ISO 8859-1 or Windows-1252 instead of UTF-8. Also, I've seen two overnight crashes on one of my devices. I've reported them via TestFlight. |
Beta Was this translation helpful? Give feedback.
-
Hi. Thanks for making this app. I've been trying it out for a few hours and have a bit of feedback.
It seems like Sushitrain never notices changes made by other applications to the synced files. I guess you must have spotted this issue because you added e2bac66. But from grepping around it seems like the rescan is never done automatically?
If there isn't a good/reliable way to monitor filesystem events on iOS, you should consider doing a rescan every time the app is foregrounded. As it is, the only way I can get it to register changes is to use the rescan button - rather inconvenient as it's buried inside folder settings - or force-close and reopen it.
Having to manually pin each file from its own detail view, without any kind of option to pin an entire folder or batch-select files, seems like a weird decision? For instance, I keep my music library in Syncthing; being able to sync particular artists or albums would be great, but there's just no way to do that other than going through every track, as far as I can tell?
Background sync doesn't seem to work? I'm seeing "Started: Never" in settings despite the app having run for hours on a couple of devices. Or does that only get updated if there are changes?
The device name is taken from its hostname and not its "given" name, e.g. "Xs-iPhone" instead of "X's iPhone".
I don't expect it considering this is a hobby project, but I'm curious to know if you've thought about a more permanent solution for background sync? You could potentially run a server that gets pings from Syncthing devices, via stfed or something like it, and sends notifications to Sushitrain through APNs.
In case it's relevant, I tested both the App Store (1.3) and TestFlight (1.4) versions, on an iPhone and iPad running iOS 17.7.
Aside from these things the app looks and feels great. Thank you for putting the effort in to create a native port. If the folder scanning issue is fixed it would be a significant improvement over Möbius Sync for me.
Beta Was this translation helpful? Give feedback.
All reactions