~edwargix/tallyard

a77bcaccd0377e2c410a72c7541532919579dba4 — David Florness 4 years ago afd718e
Always parse raw events
2 files changed, 23 insertions(+), 1 deletions(-)

M election/msg.go
M election/voter.go
M election/msg.go => election/msg.go +10 -0
@@ 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 {

M election/voter.go => election/voter.go +13 -1
@@ 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 {