Thanks everyone for your patience with these frequent mini-updates. We're focusing on database optimisation at the moment and performing the upgrades incrementally to ensure each period of downtime is as short as possible. Each set of database updates can take a long time to complete as the Inkbunny database is quite large now! There are millions of rows of data affected each time we run these changes.
Updates
* Fixed: An edge-case was discovered in the auto remove function for unread notices and unread submissions that could have lead to incorrect unread notice counts for some users. Hopefully this means we've found the cause of a long-running bug that very occasionally causes users to see things like "1 unread notice" when they in fact have no unread notices in their inbox, or generally incorrect notice counts. Thanks to dahan for suggesting that the auto remove code could be the culprit!
* Optimised: Dropped a whole bunch of unused indexes in our database. This saves space and speeds up writes to the affected tables.
* Optimised: Changed a bunch more database column data types to smaller more appropriate ones such as bigint → int where we don't need to be able to store such huge numbers.
* Fixed: Alignment issues with links at top of gallery pages in Chrome.
* Fixed/Removed: Removed "includeSubDomains" option in HTTP STS header which was incorrectly appended with a comma instead of a semicolon and was superfluous anyway. Another one dahan pointed out!
* Improved: Better sanity checking of the site config file when it is loaded into memory.
* Improved: Some of our custom database management functions have been upgraded to provide progress information rather than leaving us to guess how long they'll take to complete. This is a great help when some functions like "recalculate all unread counts for all users" can take over 6 hours to complete, even on our beast of a main server.