There was some bug which could be worked around by double emitting an event.
However that proofed to be brittle:
We send the first message here from the worker goroutine:
Then Tick() is waked in the main goroutine and calls ProcessMessage:
ProcessMessage in the main goroutine reads types.Message state with
msg.getId() and msg.InResponseTo():
Meanwhile in the worker goroutine we call PostMessage for a second
time with a pointer that points to the *same* previous message that
ProcessMessage is reading:
The second PostMessage call makes writes to message while
ProcessMessage in the main goroutine is possibly reading:
This led to a data race in the event loop
Reported-By: Wagner Riffel <firstname.lastname@example.org>
Considering that I can't reproduce the bug, let's just get rid of it until someone
complains and then investigate.
@Wagner: Happy with me including your name?