syncthing-android
syncthing-android copied to clipboard
Various config elements lost on config change through wrapper UI
Description of the issue
Introducer's Device ID get's lost if any syncthing core settings are changed through the wrapper's UI.
Reproducer
- Setup an introducer device and mark it as introducer on the android.
- Share a folder with the introducer device and a third device.
- Mark the introducer device as introducer on the third device.
- The third device gets "introduced" and thus added to the android.
- Change any syncthing "config.xml" related setting through the wrapper's UI.
- BAM - You'll lose the introducedBy="[device_id"] in config.xml.
Version Information
App Version: <= 0.10.15 (most recent version)
I just noticed that the android app doesn't remove peers when the introducer removes them, seems this is likely why.
The problem is that the representation of the config as java classes is outdated and any change causes the entire config to be posted to the API. Ideally the latter is changed to do finegrained changes with the new /rest/config/... endpoints and PATCH method (and of course classes updated where necessary).