- added a db table to track when a file was sent to trash
- added an option for whether trashed files are removed from view
- added a max age to trashed files
- added a max size to the trash
- added a daemon to maintain the trash
- improved some generic deleted shortcut logic, so delete key will present option to delete from trash if appropriate
- shift+delete will now undelete
- misc trash code improvements
- thumbnails deleted from the trash will accurately remove their inbox status icons
- images downloaded from file repositories will accurately add inbox status icons
- reduced chance of problems when trying to delete media from the trash when it is currently being rendered
- further reduced this chance
- removed redundant undelete code, folded it into add/delete code
- the media viewer will now remove files deleted from the trash in all cases, even when launched from a file repository search
- significantly improved how animations figure out when to put frames on screen. these timings should be much more accurate, slowing down only if your CPU can't keep up
- 8chan thread watcher now parses all files from multiple file posts
- if a booru provides a link starting with 'Download PNG', which refers to the original source png, that will be preferred over the jpg (konachan and yande.re, which run Moebooru, do this)
- booru parser is now a little more liberal in parsing for the image link
- yande.re booru support is added by default
- fixed some local/remote state code, which was breaking file repository searches in several ways
- improved error handling in repository file download daemon
- cleaned up manage options dialog code
- reduced min size of the media caches in manage options dialog
- moved thumbnail size to 'maintenance and memory'
- added better error handling to repositories that cannot find an update file during processing
- repositories that have such errors will pause to give the user a chance to figure out a solution
- misc code improvements
- fixed a bug where file repository downloads were not importing if the file had once been deleted
- dropped the clever indices from last week--sqlite had too much trouble with them. I will reform my db tables next week to get around the whole issue. for now, I have reintroduced the bulky index and forced sqlite to use it where appropriate
- added a test for collecting pending tag data
- tags in the form 'text:', which would sometimes slip through when typing quickly, are now not processed
- improved tag cleaning error reporting
- improved when special wildcard and namespace predicates are provided
- namespace predicates now display as 'namespace:anything'
- fixed a bug when launching the media viewer from collected results
- fixed a command hover window layout bug that was putting namespace text in incorrect places
- fixed a bug that was causing the new client-wide processing phase option not to work because, ironically, its calculation was out of phase
- review services will now state how many updates have been processed
- review services will specify if an update is imminently due, rather than saying the repo is fully synched
- fixed a review services layout bug that was misaligning text after an account or data usage update
- fixed a bug in system:similar_to serialisation, so pages with this predicate can now be saved to a session
- fixed the same bug for system:hash
- vacuum should be a bit politer about waiting for its popup message to appear
- database maintenance won't run while a repository is synchronising