aboutsummaryrefslogtreecommitdiff
path: root/setup/mscs/msc2946/msc2946.go
diff options
context:
space:
mode:
Diffstat (limited to 'setup/mscs/msc2946/msc2946.go')
-rw-r--r--setup/mscs/msc2946/msc2946.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/setup/mscs/msc2946/msc2946.go b/setup/mscs/msc2946/msc2946.go
index a2d801e4..accdbd39 100644
--- a/setup/mscs/msc2946/msc2946.go
+++ b/setup/mscs/msc2946/msc2946.go
@@ -333,7 +333,12 @@ func (w *walker) references(roomID string) (eventLookup, error) {
}
el := make(eventLookup)
for _, ev := range events {
- el.set(ev)
+ // only return events that have a `via` key as per MSC1772
+ // else we'll incorrectly walk redacted events (as the link
+ // is in the state_key)
+ if gjson.GetBytes(ev.Content(), "via").Exists() {
+ el.set(ev)
+ }
}
return el, nil
}