diff --git a/syncapi/notifier/notifier.go b/syncapi/notifier/notifier.go index d2b79b63f..e1fca34bd 100644 --- a/syncapi/notifier/notifier.go +++ b/syncapi/notifier/notifier.go @@ -509,6 +509,7 @@ func (s userIDSet) remove(str string) { } func (s userIDSet) values() (vals []string) { + vals = make([]string, 0, len(s)) for str := range s { vals = append(vals, str) } @@ -529,6 +530,7 @@ func (s peekingDeviceSet) remove(d types.PeekingDevice) { } func (s peekingDeviceSet) values() (vals []types.PeekingDevice) { + vals = make([]types.PeekingDevice, 0, len(s)) for d := range s { vals = append(vals, d) } diff --git a/syncapi/streams/stream_presence.go b/syncapi/streams/stream_presence.go index a24edad59..7b4cf982e 100644 --- a/syncapi/streams/stream_presence.go +++ b/syncapi/streams/stream_presence.go @@ -68,10 +68,9 @@ func (p *PresenceStreamProvider) IncrementalSync( // TODO: SharedUsers might get out of sync sharedUsers := p.notifier.SharedUsers(req.Device.UserID) - sharedUsersMap := map[string]bool{ - req.Device.UserID: true, - } // convert array to a map for easier checking if a user exists + sharedUsersMap := make(map[string]bool, len(sharedUsers)) + sharedUsersMap[req.Device.UserID] = true for i := range sharedUsers { sharedUsersMap[sharedUsers[i]] = true }