- added swf thumbnail support--it works ok for most swfs!
- thumbs for existing swf files will generate on db update for both client and server
- the server will also generate thumbnails for video on update, which it seems it was not doing before
- rewrote some hash comparisons in thumbnail downloading and thumbnail counting code to be a lot faster and memory efficient
- fixed thumbnail count invalidation after service sync
- in certain cases, fetching autocomplete tag results from the db will be slightly less laggy
- if the autocomplete dropdown has cached or otherwise quickly fetchable results, it will refilter for current input as you type, ignoring the normal character delay (i.e. typing through autocomplete is far less laggy now)
- fixed a couple of autocomplete tag-parsing bugs for tags with more than one colon character
- fixed some key event selection bugs in the autocomplete taglist when there are no results in the list
- if there are no results in the autocomplete taglist, the typically caret-moving key events up/down/home/end will move the caret (rather than being uselessly passed on to the empty taglist)
- all profiling now goes through a single location
- profiling now also prints extensive information on explicit code callers
- fixed db profile mode printing display for the new logger
- added new pubsub_profile_mode (AKA log-killer)
- all menu popup display and explicit memory cleanup is done through a single location
- hover windows will now not show whenever a menu is open
- hover windows will now not hide whenever a menu is open (useful when trying to go 'copy tag' off the hover taglist's menu!)
- a keyerror bug when force_idle_mode was hit right at program start is fixed
- unexpected serverside client disconnections are now caught and further request processing is cancelled
- middle clicking on an 'empty' system predicate in the a/c dropdown now will throw up the dialog to enter a value and then pass that filled in system pred onto the new search page
- duplicate parents (which can occur with overlapping grandparents) are now collapsed
- the upload pending popup message cancels properly after 'server busy' events
- whenever the client's services are iterated at the view-level, it will now be in random order, to stop sync bottlenecks choking other services (and anything else like this that might have been occuring)
- fixed a bug with double-clicking a tag selection on the the tag censorship taglist
- fixed the too-fast frame timings on some videos opencv had a problem parsing
- loading many video types will now be just a little faster
- remote files will no longer present the right-click menu option to share->copy->file
- hitting a shortcut for manage ratings from the media viewer canvas will no longer work if you have no ratings services
- the base scripts (client.pyw, server.py and test.py) now have a shebang line to facilitate non-Windows use
- laid groundwork for external client_files locations
- plenty of misc cleaning and refactoring