Add an undo button to the admin interface.
More fixes for relative move numbering after the recent refactoring.
Factor out find_halfmove_num() into its own function.
Comment DisplayLine.scores better.
Make the print_pv() logic hopefully slightly easier to understand. Using half-move logic instead of trying to keep track of white/black manually seems to be a good idea. No guarantees I didn't add extra bugs, though.
Clean up the refutation line choice logic a bit.
Remove unused entry point set_truncate_history().
Remove a small redundancy in DisplayLine.
Fix some random type annotations.
Potentially fix a move-number error in refutation lines. Or possibly just mess up everything. This is mainly because I have too many patches in trying to fix up admin mode, and none of them work, and I need to clear out a bit :-)
Preparatory refactoring.
Lowercase toplay internally, for consistency with FEN. This is for the frontend only; the backend continues with whatever it wants to do.
Remove redundant parameters to add_pv().
Remove the global move_num and toplay variables. These are redundant from the FEN, and we would like to fix so that we can use a different FEN in some cases, so remove the (semi-)hidden dependency on the board state.
Add a very crude function for manual overrides. Needed when the feed is hung but we have some other way of getting the moves. No real undo yet (you can go back in history and do other moves, but not delete anything), and it's pretty slow and sluggish.
Remove the now obsolete Lomonosov support. This was nice to have, but the service is long gone, so we can just as well clean out the code.
Drop the fade-in on initial load.
Send the first JSON inline. This removes a round-trip, although it's probably slightly less bandwidth-efficient and definitely more complex. You'll need to make Varnish rewrite / to /index-inline.html and send it to the backend. It doesn't work on the .dev version, unfortunately.
Fix an issue where two PVs would be printed.
Fix a snafu.