From a6d4f6bf69ce02eecd721edd1d2eb319d14b44bf Mon Sep 17 00:00:00 2001 From: David Florness Date: Sun, 17 Jan 2021 22:08:52 -0500 Subject: [PATCH] Ignore redacted events --- cmd/tallyard/main.go | 25 +++++++++++++++++++++++++ election/msg.go | 4 ++++ 2 files changed, 29 insertions(+) diff --git a/cmd/tallyard/main.go b/cmd/tallyard/main.go index c992627..565553d 100644 --- a/cmd/tallyard/main.go +++ b/cmd/tallyard/main.go @@ -5,6 +5,7 @@ import ( "os" "github.com/kyoh86/xdg" + log "github.com/sirupsen/logrus" "maunium.net/go/mautrix" "maunium.net/go/mautrix/event" @@ -60,25 +61,49 @@ func main() { syncer.OnEvent(client.Store.(*mautrix.InMemoryStore).UpdateState) syncer.OnEventType(election.CreateElectionMessage, func(source mautrix.EventSource, evt *event.Event) { DebugCB(source, evt) + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } election.OnCreateElectionMessage(evt, elections) }) syncer.OnEventType(election.JoinElectionMessage, func(source mautrix.EventSource, evt *event.Event) { DebugCB(source, evt) + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } election.OnJoinElectionMessage(client, evt, elections) }) syncer.OnEventType(election.StartElectionMessage, func(source mautrix.EventSource, evt *event.Event) { DebugCB(source, evt) + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } election.OnStartElectionMessage(client, evt, elections) }) syncer.OnEventType(election.EvalMessage, func(source mautrix.EventSource, evt *event.Event) { DebugCB(source, evt) + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } election.OnEvalMessage(client, evt, elections, data.LocalVoter) }) syncer.OnEventType(election.SumMessage, func(source mautrix.EventSource, evt *event.Event) { DebugCB(source, evt) + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } election.OnSumMessage(client, evt, elections) }) syncer.OnEventType(election.ResultMessage, func(source mautrix.EventSource, evt *event.Event) { + if evt.Unsigned.RedactedBecause != nil { + log.Debug("redacted") + return + } DebugCB(source, evt) election.OnResultMessage(client, evt, elections) }) diff --git a/election/msg.go b/election/msg.go index 5ffd711..b9bd08e 100644 --- a/election/msg.go +++ b/election/msg.go @@ -108,6 +108,10 @@ func getElection(client *mautrix.Client, roomID id.RoomID, createEventId id.Even log.Warnf("couldn't retrieve election create event: %s", err) return nil } + if createEvent.Unsigned.RedactedBecause != nil { + log.Warnf("election redacted") + return nil + } OnCreateElectionMessage(createEvent, elections) el, exists = elections.GetOk(createEventId) if !exists { -- 2.38.4