Working on polishing up debug-me's features to not just work, but work well.

On Monday, I spent much longer than expected on the problem that when a debug-me session ended, clients attached to it did not shut down. The session shutdown turned out to have worked by accident in one case, but it was lacking a proper implementation, and juggling all the threads and channels and websockets to get everything to shut down cleanly was nontrivial.

Today, I fixed a bug that made debug-me --download fail while downloading a session, because the server didn't relay messages from developers, and so the proof chain was invalid. After making the server relay those messages, and handling them, that was fixed -- and I got a great feature for free: Multiple developers can connect to a debug-me session and all interact with it at the same time!

Also, added timing information to debug-me messages. While time is relative and so it can't be proved how long the time was between messages in the debug-me proof chain, including that information lets debug-me --download download a session and then debug-me --replay can replay the log file with realistic pauses.

Started on gpg signing and signature verification, but that has a user interface problem. If the developer connects after the debug-me session has started, prompting the user on the same terminal that is displaying the session would not be good. This is where it'd be good to have a library for multi-terminal applications. Perhaps I should go build a prototype of that. Of perhaps I'll make debug-me wait for one developer to connect and prompt the user before starting the session.