Sorry Brent, but I don’t follow…
Are we talking bug 4302 here, the one about global hotkeys in network play jumping the queue? Why are we talking about Space Empires? Unless Seth mentioned it relative to this bug, maybe? Sorry, but I don’t know anything about that game/module. Also, not sure which practical situation Seth was referring to when he originally reported the bug.
My own problems with this bug appear in various circumstances in my own module Marvel Heroes and they do not concern simple unit movement reporting. Unfortunately, my module is rather complex and it’s no simple matter to follow the full logic behind it. However, we did some tests with Seth back then and he agreed I could indeed be hitting bug 4302.
I wrote some details down below, but if you prefer you can avoid reading them and just hook up with me on the Vassal server for 10 minutes when you have a chance and I will show them in action.
(details)
Basically in Marvel Heroes they are related to the turn counter (which itself is probably innocent, though): when a network player initiates game setup or signals that his turn ended etc etc then the module will do various operations - setting global properties, moving pieces, dealing cards, reporting in the log etc etc - and it will then issue a global hotkey to advance the Turn Counter. In turn, advancing the turn counter will do various things, like moving a turn tracking piece on the main map and updating various global properties, such as currentPlayer, with the name of the side whose turn it now is.
However, in the latter case bug 4302 intervenes: initiating the game setup by one player will update currentPlayer correctly for him but not for the remote player(s). This is because the global hotkey to advance the turn counter happens on the remote clients too fast, I think, and they will not yet know which side was selected to go first in the game (there is a random playing order selection procedure done at setup time).
Moreover, bug 4302 is clearly visible by looking at the report action trait fired by players ending their turn: on the remote client(s) they will incorrectly appear after the report action trait(s) triggered by the turn counter itself (as in the “Tank fired - New Turn” vs “New Turn - Tank fired” mock scenario I imagined).