mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-16 02:23: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
|
return rule.RuleID == event.RoomID(), nil
|
||||||
|
|
||||||
case SenderKind:
|
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:
|
default:
|
||||||
return false, nil
|
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) 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{
|
req := &rsapi.QueryLatestEventsAndStateRequest{
|
||||||
RoomID: rse.roomID,
|
RoomID: rse.roomID,
|
||||||
StateToFetch: []gomatrixserverlib.StateKeyTuple{
|
StateToFetch: []gomatrixserverlib.StateKeyTuple{
|
||||||
|
|
@ -702,7 +702,7 @@ func (rse *ruleSetEvalContext) HasPowerLevel(userID, levelKey string) (bool, err
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
return plc.UserLevel(userID) >= plc.NotificationLevel(levelKey), nil
|
return plc.UserLevel(senderID) >= plc.NotificationLevel(levelKey), nil
|
||||||
}
|
}
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue