Skip to content

Commit f222f54

Browse files
committed
Remove left users from authors
1 parent 9e236f0 commit f222f54

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

metadata.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ func (fs *FeedServ) HandleMetadata(_ mautrix.EventSource, evt *event.Event) {
4141
log.Debug().Msg("Updated cached power levels")
4242
case event.StateMember:
4343
userID := id.UserID(evt.GetStateKey())
44-
if feed.powers.GetUserLevel(userID) > feed.powers.GetEventLevel(event.EventMessage) {
45-
profile := evt.Content.AsMember()
44+
profile := evt.Content.AsMember()
45+
if profile.Membership == event.MembershipLeave {
46+
delete(feed.authors, userID)
47+
} else if feed.powers.GetUserLevel(userID) > feed.powers.GetEventLevel(event.EventMessage) {
4648
feed.authors[userID] = JSONFeedAuthor{
4749
Name: profile.Displayname,
4850
URL: userID.URI().MatrixToURL(),
@@ -95,8 +97,8 @@ func (fs *FeedServ) InitSyncFeed(feed *FeedConfig) {
9597
feed.powers = state[event.StatePowerLevels][""].Content.AsPowerLevels()
9698
feed.authors = make(map[id.UserID]JSONFeedAuthor)
9799
for userID, level := range feed.powers.Users {
98-
if level >= feed.powers.GetEventLevel(event.EventMessage) {
99-
profile := state[event.StateMember][userID.String()].Content.AsMember()
100+
profile := state[event.StateMember][userID.String()].Content.AsMember()
101+
if level >= feed.powers.GetEventLevel(event.EventMessage) && profile.Membership != event.MembershipLeave {
100102
feed.authors[userID] = JSONFeedAuthor{
101103
Name: profile.Displayname,
102104
URL: userID.URI().MatrixToURL(),

0 commit comments

Comments
 (0)