Selective Sync Feature(most important)

There is now an iOS app in beta that supports selective synchronization. It basically uses the trick mentioned a few times before in this thread, which is to ‘ignore’ all paths except those explicitly synchronized. There are indeed plenty of edge cases with this approach (and the app deals with those in specific ways, in part due to limitations of iOS, and this may or may not be desirable in all your use cases). Notably, renames are handled as delete+create (which means the file is deleted from peers, then only synced when the user accepts the ‘extra file’ in the app, which will detect it and warn about it).

Interested developers should look at folder.go in the app source code (look for methods concerning ‘selected files’, ‘selective folders’ and ‘extraneous files’).

Note that in addition to selective synchronization, the app provides on-demand (read only) access to files not stored locally (when you open a file it downloads or even streams it from another peer). This perhaps fulfills other scenarios for which selective sync is desired. (For this feature, we simply ‘ignore’ everything so nothing is synced for a folder, except for the ‘global file tree’. The feature can work in conjunction with selective sync as well - the on-demand feature works for all files that are not locally synced).

2 Likes