- added 'all known files' autocomplete caches, so manage tags dialogs' autocompletes should now always appear quickly
- the now caches will be created on startup, which may take a few minutes
- deleted the old tag autocomplete cache
- wrote a faster initialisation routine for all known files caches
- fixed an ac_cache cleanup typo
- the client's (usually gigantic) mappings table is temporarily extracted to an external db file, which should have numerous benefits and perhaps a few drawbacks for now
- the update will take a few more minutes, and will need lots of disk space, to extract the mappings
- the server has a very similar external mappings table, so it will also need a while to update, but future admin backup calls will be a lot quicker, due to a much smaller vacuum
- greatly optimised a mass-membership calculation in tag processing
- reduced some db check-spam timer that was adding up idle cpu time because of recent ac_cache additions
- fixed predicate parent sorting
- if swfrender fails to generate a swf thumbnail within 60 seconds, the client will now dump out (rather than hanging indefinitely)
- fixed some string-selection dialog layout rules
- optimised some 'all known files' search queries
- subscriptions will now append new urls in oldest->newest order, roughly preserving that order in the internal url cache
- the 8chan thread watcher now accepts .json API urls directly
- the repository processing routine will handle server_busy errors more gracefully
- cleaned and refactored most media viewer 'canvas' code, dejankifying a whole bunch of related stuff and generally improving the object hierarchy
- cleaned up and unified a lot of logic and responsibility for idle checking and shutdown maintenance stop time for some big jobs
- misc cleanup
- misc dialog cleanup