From 669bcb748fdb8a3dba23b2abe9e75fc9499aab6f Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sat, 27 Jul 2019 12:05:00 +0200 Subject: [PATCH] lib/config, lib/model: Don't save on every pending folder/device update (fixes #5888) (#5890) Wrapper methods generally don't save by themselves. --- lib/config/wrapper.go | 4 ---- lib/model/model.go | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) 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(),