The other bug is that yesterday I got assigned two games: automatch had assigned me to SM.SM and I was waiting for confirmation. It took a really long time so I went to another tab to check f.ds (I had Goko open only in one tab, fwiw), when I got back that "waiting for opponent to confirm" window had disappeared. I then did some random clicking on that automatch status thing and possibly updated my game by untick-ticking the automatch option, and eventually I got automatched to Mic Qsenoch.
So far so good...
However, just after the game loaded, I got a message that SM.SM had accepted my game, and before I could click "Abort" the window was gone. Nothing happened for 20 seconds or so, and then suddenly I got the "You quit" end of game screen from Goko, and right after that the game with SM.SM began to load. Halfway through that game I again got that "You quit" screen out of nowhere, and I was brought back to Outpost where I found the entire interface unresponsive (chat messages from others showed up, but I could not do anything myself until I had logged in from a new tab).
Yikes! Has this happened to anyone else?
I think I've managed to work out how this happened. It looks like you accepted the match with SM.SM, but it didn't start because he was afk. Then you got briefly disconnected from automatch, which made your offer dialog disappear. Somehow SM.SM's dialog didn't disappear, however, and when he accepted the game, automatch tried to start it. The rest was Goko's reaction to an impossible condition: starting a game while already in one.
So the bugs were:
1. Your getting disconnected from automatch. That really shouldn't happen unless your connection is terrible and/or you're logging in to multiple tabs.
2. SM.SM's offer dialog not going away when you got disconnected. It's possible for this to happen by messages crossing each other, but the timing in the log suggests that this isn't what happened.
3. Automatch let you join a table with SM.SM even though you were already in a game.
Bug #1 is probably a hangover from my shoddy way of dealing with logins from multiple tabs. It's going to take some real work for me to get this completely right. Allowing multiple logins is just such a horrible, horrible thing.
Bug #2 is quite mysterious. I'll look into it but it may be hard to find.
Bug #3 is because Automatch isn't doing any error-checking. It's trusting my server, Goko, and the rest of the extension to give it a sane environment to work in. So it's not responding well to insane requests like "go start a game even though you're already in one."
It would be much better to fix the causes of the insane requests (bugs #1 & #2) than to make automatch responsible for verifying that the rest of the system isn't talking madness to it. But realistically, insane requests are going to happen... the extension is amateur software under active development written in a horrible language and running on an utterly unreliable game server. And the stakes are relatively high, as making players forfeit games is a really, really bad thing.
So even though it's sort of the wrong solution, I'm going to start adding some error-checking to automatch anyway. Hopefully this bug and the next similar one will both go away.