From a77bcaccd0377e2c410a72c7541532919579dba4 Mon Sep 17 00:00:00 2001 From: David Florness Date: Mon, 18 Jan 2021 20:44:38 -0500 Subject: [PATCH] Always parse raw events --- election/msg.go | 10 ++++++++++ election/voter.go | 14 +++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/election/msg.go b/election/msg.go index 46ed119..9d87d0b 100644 --- a/election/msg.go +++ b/election/msg.go @@ -113,6 +113,11 @@ func getElection(client *mautrix.Client, roomID id.RoomID, createEventId id.Even log.Debug("election redacted") return nil } + err = createEvent.Content.ParseRaw(CreateElectionMessage) + if err != nil { + log.Errorf("couldn't parse create event: %s", err) + return nil + } OnCreateElectionMessage(createEvent, elections) el, exists = elections.GetOk(createEventId) if !exists { @@ -137,6 +142,11 @@ func getVoter(client *mautrix.Client, roomID id.RoomID, joinEventId id.EventID, log.Debug("join redacted") return nil } + err = joinEvent.Content.ParseRaw(JoinElectionMessage) + if err != nil { + log.Errorf("couldn't parse join event: %s", err) + return nil + } OnJoinElectionMessage(client, joinEvent, elections) voter, exists = elections.Joins[joinEventId] if !exists { diff --git a/election/voter.go b/election/voter.go index 3a848d8..22ec082 100644 --- a/election/voter.go +++ b/election/voter.go @@ -59,6 +59,10 @@ func CreateElection(client *mautrix.Client, candidates []Candidate, title string if err != nil { return nil, err } + err = createEvt.Content.ParseRaw(CreateElectionMessage) + if err != nil { + return nil, err + } OnCreateElectionMessage(createEvt, elections) el, exists := elections.GetOk(resp.EventID) @@ -95,6 +99,10 @@ func (el *Election) JoinElection(client *mautrix.Client) error { if err != nil { return err } + err = joinEvt.Content.ParseRaw(JoinElectionMessage) + if err != nil { + return err + } el.LocalVoter = &LocalVoter{ Voter: NewVoter(client.UserID, input, pubKey, joinEvt), @@ -136,8 +144,12 @@ func (el *Election) StartElection(client *mautrix.Client) error { if err != nil { return err } + err = startEvt.Content.ParseRaw(StartElectionMessage) + if err != nil { + return err + } el.StartEvt = startEvt - return err + return nil } func (el *Election) WaitForVoters(client *mautrix.Client) error { -- 2.38.4