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 {