Only add members to group members list once

This commit is contained in:
Jon Staab
2025-11-13 15:17:34 -08:00
parent 3920e67bfb
commit d30d33bb33
+4 -4
View File
@@ -184,21 +184,21 @@ func (g *GroupStore) GetMembers(h string) []nostr.PubKey {
}, },
} }
members := make([]nostr.PubKey, 0) members := make(map[nostr.PubKey]struct{})
for _, event := range Reversed(slices.Collect(g.Events.QueryEvents(filter, 0))) { for _, event := range Reversed(slices.Collect(g.Events.QueryEvents(filter, 0))) {
for tag := range event.Tags.FindAll("p") { for tag := range event.Tags.FindAll("p") {
if pubkey, err := nostr.PubKeyFromHex(tag[1]); err == nil { if pubkey, err := nostr.PubKeyFromHex(tag[1]); err == nil {
if event.Kind == nostr.KindSimpleGroupPutUser { if event.Kind == nostr.KindSimpleGroupPutUser {
members = append(members, pubkey) members[pubkey] = struct{}{}
} else { } else {
members = Remove(members, pubkey) delete(members, pubkey)
} }
} }
} }
} }
return members return Keys(members)
} }
func (g *GroupStore) UpdateMembersList(h string) error { func (g *GroupStore) UpdateMembersList(h string) error {