Don't notify clients when description is unchanged.
When we fixed the handling of autolocked groups, we introduced a bug where we spuriously notify clients even when the description didn't change.
This commit is contained in:
+8
-1
@@ -438,9 +438,11 @@ func add(name string, desc *Description) (*Group, []Client, error) {
|
|||||||
g.mu.Lock()
|
g.mu.Lock()
|
||||||
defer g.mu.Unlock()
|
defer g.mu.Unlock()
|
||||||
|
|
||||||
|
notify := false
|
||||||
if desc != nil {
|
if desc != nil {
|
||||||
if !descriptionMatch(g.description, desc) {
|
if !descriptionMatch(g.description, desc) {
|
||||||
g.description = desc
|
g.description = desc
|
||||||
|
notify = true
|
||||||
}
|
}
|
||||||
} else if !descriptionUnchanged(name, g.description) {
|
} else if !descriptionUnchanged(name, g.description) {
|
||||||
desc, err = readDescription(name)
|
desc, err = readDescription(name)
|
||||||
@@ -452,11 +454,16 @@ func add(name string, desc *Description) (*Group, []Client, error) {
|
|||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
g.description = desc
|
g.description = desc
|
||||||
|
notify = true
|
||||||
}
|
}
|
||||||
|
|
||||||
autoLockKick(g)
|
autoLockKick(g)
|
||||||
|
|
||||||
return g, g.getClientsUnlocked(nil), nil
|
var clients []Client
|
||||||
|
if notify {
|
||||||
|
clients = g.getClientsUnlocked(nil)
|
||||||
|
}
|
||||||
|
return g, clients, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func Range(f func(g *Group) bool) {
|
func Range(f func(g *Group) bool) {
|
||||||
|
|||||||
Reference in New Issue
Block a user