Hey,
kudos for opening the source! This gives you a trustworthiness bonus right off the bat.
You enabled something that just wasn’t possible before: On demand syncing of files. This is a big deal for sharing things between devices with different use cases, for example laptop (main location for large project files) and phone (mostly doesn’t need access to them, but occasionally you want to reference something).
Your app is more than just a SwiftUI version of the Web UI, you came up with UI concepts that just make sense compared to what syncthing originally does, the biggest example probably being what you call “discovered folders” (which, btw, don’t seem to update reactively). Things are just much sensibly packaged. Your app makes the process of setting everything up feel rewarding and easy rather than dreadful and hard.
There are still some paper cuts, for example I don’t find it to make sense that the app emphasizes folder IDs instead of their labels. This was the only time I needed multiple attempts to achieve my desired result (whereas I need tons with the web ui even after years of use, lol). It’s also weird how I have to explicitly “share” a folder with the device that just offered to share it with me (I assume that’s what discovered means).
After 5-10 minutes of freezing the UI thread whenever I opened it and a few crashes while “synchronizing” my 50GiB Documents folder, downloading files on demand is actually staggeringly performant. It does occasionally feel unreliable (as syncthing does) and particularly listing directories is slow, which reduces practicality.
Over all the experience is very close to being the simplest way to share files between devices on demand! You built a pretty good iOS app here and transformed the over all accessibility and usefulness of syncthing dramatically.
But. I wish everyone could benefit from this.
Even though the web UI sucks, I like that Möbius Sync is based on it because it just uses the real desktop UI with all its exact same features, no matter how niche. That’s powerful and I think you should add an option to access it because it allows configuring things your UI doesn’t support. Personally, even as a fan of native and good-feeling apps, I would be 80% as happy of a user (and over 100% as happy in other dimensions) if I had to keep the web view, but it was designed more closely to your UI principles.
I especially think that on-demand sync should be available to everyone. I know it’s some effort to implement a sensible UI for each platform, but first-class support by Syncthing would make doing so comparatively easy (CLI and FUSE would be easy first targets).
I highly commend you for pushing Syncthing’s boundaries here - I really wish to see much of it being integrated right into it.