diff --git a/gui/default/syncthing/core/syncthingController.js b/gui/default/syncthing/core/syncthingController.js index dd6716753..1450f07fa 100755 --- a/gui/default/syncthing/core/syncthingController.js +++ b/gui/default/syncthing/core/syncthingController.js @@ -1388,7 +1388,9 @@ angular.module('syncthing.core') _addressesStr: 'dynamic', compression: 'metadata', introducer: false, - selectedFolders: {} + selectedFolders: {}, + pendingFolders: [], + ignoredFolders: [] }; $scope.editingExisting = false; $scope.deviceEditor.$setPristine(); diff --git a/lib/config/config_test.go b/lib/config/config_test.go index dd9946436..1383cd5b5 100644 --- a/lib/config/config_test.go +++ b/lib/config/config_test.go @@ -1073,6 +1073,26 @@ func TestFilterURLSchemePrefix(t *testing.T) { } } +func TestDeviceConfigObservedNotNil(t *testing.T) { + cfg := Configuration{ + Devices: []DeviceConfiguration{ + {}, + }, + } + + cfg.prepare(device1) + + for _, dev := range cfg.Devices { + if dev.IgnoredFolders == nil { + t.Errorf("Ignored folders nil") + } + + if dev.PendingFolders == nil { + t.Errorf("Pending folders nil") + } + } +} + // defaultConfigAsMap returns a valid default config as a JSON-decoded // map[string]interface{}. This is useful to override random elements and // re-encode into JSON.