mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-11 16:13:10 -06:00
Refine SenderID/UserID usage for push rules
This commit is contained in:
parent
d81b63f556
commit
26ef0246e8
|
|
@ -113,7 +113,11 @@ func ruleMatches(rule *Rule, kind Kind, event gomatrixserverlib.PDU, ec Evaluati
|
|||
return rule.RuleID == event.RoomID(), nil
|
||||
|
||||
case SenderKind:
|
||||
return rule.RuleID == event.SenderID(), nil
|
||||
sender, err := event.UserID()
|
||||
if err != nil {
|
||||
return false, nil
|
||||
}
|
||||
return rule.RuleID == sender.String(), nil
|
||||
|
||||
default:
|
||||
return false, nil
|
||||
|
|
|
|||
|
|
@ -682,7 +682,7 @@ func (rse *ruleSetEvalContext) UserDisplayName() string { return rse.mem.Display
|
|||
|
||||
func (rse *ruleSetEvalContext) RoomMemberCount() (int, error) { return rse.roomSize, nil }
|
||||
|
||||
func (rse *ruleSetEvalContext) HasPowerLevel(userID, levelKey string) (bool, error) {
|
||||
func (rse *ruleSetEvalContext) HasPowerLevel(senderID, levelKey string) (bool, error) {
|
||||
req := &rsapi.QueryLatestEventsAndStateRequest{
|
||||
RoomID: rse.roomID,
|
||||
StateToFetch: []gomatrixserverlib.StateKeyTuple{
|
||||
|
|
@ -702,7 +702,7 @@ func (rse *ruleSetEvalContext) HasPowerLevel(userID, levelKey string) (bool, err
|
|||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return plc.UserLevel(userID) >= plc.NotificationLevel(levelKey), nil
|
||||
return plc.UserLevel(senderID) >= plc.NotificationLevel(levelKey), nil
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue