Fix bug so that we don't override the push rules unnecessarily

This commit is contained in:
Neil Alexander 2022-02-18 17:56:05 +00:00
parent 0d928c6d7a
commit 6ad6b9de5a
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -720,15 +720,17 @@ func (a *UserInternalAPI) QueryPushRules(ctx context.Context, req *api.QueryPush
// Legacy Dendrite users will have completely empty push rules, so we should // Legacy Dendrite users will have completely empty push rules, so we should
// detect that situation and set some defaults. // detect that situation and set some defaults.
var rules struct { var rules struct {
G struct {
Content []json.RawMessage `json:"content"` Content []json.RawMessage `json:"content"`
Override []json.RawMessage `json:"override"` Override []json.RawMessage `json:"override"`
Room []json.RawMessage `json:"room"` Room []json.RawMessage `json:"room"`
Sender []json.RawMessage `json:"sender"` Sender []json.RawMessage `json:"sender"`
Underride []json.RawMessage `json:"underride"` Underride []json.RawMessage `json:"underride"`
} `json:"global"`
} }
if err := json.Unmarshal([]byte(bs), &rules); err == nil { if err := json.Unmarshal([]byte(bs), &rules); err == nil {
count := len(rules.Content) + len(rules.Override) + count := len(rules.G.Content) + len(rules.G.Override) +
len(rules.Room) + len(rules.Sender) + len(rules.Underride) len(rules.G.Room) + len(rules.G.Sender) + len(rules.G.Underride)
ok = count > 0 ok = count > 0
} }
} }