From 1ba0aef385780781f691c40128f0de08e82faa5f Mon Sep 17 00:00:00 2001 From: David Florness Date: Thu, 31 Mar 2022 20:51:32 -0400 Subject: [PATCH] Ensure we process the start message before processing evals This is why we've sometimes seen panics when FinalJoinIDs is nil --- election/msg.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/election/msg.go b/election/msg.go index 9e5b839..1aae082 100644 --- a/election/msg.go +++ b/election/msg.go @@ -598,7 +598,15 @@ func (elections *ElectionsMap) onEvalsMessage(evt *event.Event) (success bool) { return } - // here to find bugs + if len(content.KeysIDs) == 0 { + warnf("the key IDs list is empty") + return + } + + // process the start message so FinalJoinIDs is set + elections.EventStore.GetKeysEvent(evt.RoomID, content.KeysIDs[0]) + + // should never happen if el.FinalJoinIDs == nil { errorf("FinalJoinIDs is nil") return -- 2.38.4