mirror of
https://github.com/matrix-org/sliding-sync.git
synced 2025-03-10 13:37:11 +00:00
20 lines
602 B
Go
20 lines
602 B
Go
package internal
|
|
|
|
import "github.com/tidwall/gjson"
|
|
|
|
func IsMembershipChange(eventJSON gjson.Result) bool {
|
|
// membership event possibly, make sure the membership has changed else
|
|
// things like display name changes will count as membership events :(
|
|
prevMembership := "leave"
|
|
pm := eventJSON.Get("unsigned.prev_content.membership")
|
|
if pm.Exists() && pm.Str != "" {
|
|
prevMembership = pm.Str
|
|
}
|
|
currMembership := "leave"
|
|
cm := eventJSON.Get("content.membership")
|
|
if cm.Exists() && cm.Str != "" {
|
|
currMembership = cm.Str
|
|
}
|
|
return prevMembership != currMembership // membership was changed
|
|
}
|