diff --git a/lib/config/wrapper.go b/lib/config/wrapper.go index edd37757..774016f8 100644 --- a/lib/config/wrapper.go +++ b/lib/config/wrapper.go @@ -501,8 +501,6 @@ func (w *wrapper) MyName() string { } func (w *wrapper) AddOrUpdatePendingDevice(device protocol.DeviceID, name, address string) { - defer w.Save() - w.mut.Lock() defer w.mut.Unlock() @@ -524,8 +522,6 @@ func (w *wrapper) AddOrUpdatePendingDevice(device protocol.DeviceID, name, addre } func (w *wrapper) AddOrUpdatePendingFolder(id, label string, device protocol.DeviceID) { - defer w.Save() - w.mut.Lock() defer w.mut.Unlock() diff --git a/lib/model/model.go b/lib/model/model.go index 7e87b5ab..848c896d 100644 --- a/lib/model/model.go +++ b/lib/model/model.go @@ -1075,6 +1075,7 @@ func (m *model) ClusterConfig(deviceID protocol.DeviceID, cm protocol.ClusterCon continue } m.cfg.AddOrUpdatePendingFolder(folder.ID, folder.Label, deviceID) + changed = true events.Default.Log(events.FolderRejected, map[string]string{ "folder": folder.ID, "folderLabel": folder.Label, @@ -1769,6 +1770,7 @@ func (m *model) OnHello(remoteID protocol.DeviceID, addr net.Addr, hello protoco cfg, ok := m.cfg.Device(remoteID) if !ok { m.cfg.AddOrUpdatePendingDevice(remoteID, hello.DeviceName, addr.String()) + _ = m.cfg.Save() // best effort events.Default.Log(events.DeviceRejected, map[string]string{ "name": hello.DeviceName, "device": remoteID.String(),