aboutsummaryrefslogtreecommitdiff
path: root/federationsender/consumers/roomserver.go
diff options
context:
space:
mode:
Diffstat (limited to 'federationsender/consumers/roomserver.go')
-rw-r--r--federationsender/consumers/roomserver.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/federationsender/consumers/roomserver.go b/federationsender/consumers/roomserver.go
index efeb53fa..ef945694 100644
--- a/federationsender/consumers/roomserver.go
+++ b/federationsender/consumers/roomserver.go
@@ -87,6 +87,12 @@ func (s *OutputRoomEventConsumer) onMessage(msg *sarama.ConsumerMessage) error {
case api.OutputTypeNewRoomEvent:
ev := &output.NewRoomEvent.Event
+ if output.NewRoomEvent.RewritesState {
+ if err := s.db.PurgeRoomState(context.TODO(), ev.RoomID()); err != nil {
+ return fmt.Errorf("s.db.PurgeRoom: %w", err)
+ }
+ }
+
if err := s.processMessage(*output.NewRoomEvent); err != nil {
// panic rather than continue with an inconsistent database
log.WithFields(log.Fields{