- right clicking on a tag/predicate in the 'selection tags' box or the 'search' list of active predicates provides new intelligent menu options to discard/require/permit/exclude the selected tags from the current search. try it out!
- this system also works for namespace and wildcard and system predicates
- 'predicate a' and its inverse '-predicate a' are no longer considered the same!
- namespace and wildcard predicates will now remove their inverts if they are added to the list of active predicates
- the way inverse predicates are generated and compared is generalised and improved
- fixed 'open a new search page for tag x', which might have been broken?
- quick-entering a tag in the 'read' tag autocomplete entry will now always replace with a sibling if one exists
- quick-entering a tag in the 'write' tag autocomplete entry will now not replace with a sibling--you will get the option of what you want to do
- when this happens, the preferred sibling is labelled on the 'what do you want to do?' popup in the manage tags dialog
- also when this happens, the affected file count for add/pend the preferred sibling should now be correct
- fixed client support for tags that begin with ':', such as many emoticons. these should now be parsed correctly from websites and keyboard input, keep their leading colon through network and db conversions, and display correctly (for the most part!), despite a little bit of magic to make them work
- created a new TimeDelta control to handle finer tuning of optional periods
- improved timedelta->pretty string code to support >60s times
- manage subscriptions dialog now supports day and hour period, with min period of four hours
- manage export folders dialog now supports day/hour/minute period, and the parent dialog displays that time delta appropriately
- manage import folders dialog now supports day/hour/minute period, and the parent dialog displays that time delta appropriately
- the thread watcher now supports hour/minute/seconds check period
- folded 'search' and 'download' menus into 'view' and renamed it 'pages'
- 'sessions' moved from 'file' to the new 'pages'
- moved 'admin' menu to 'services->administrate services'
- added 'forced system:limit' to options->speed and memory panel
- if several system:limits exist in a search, the minimum will be used
- added a checkbox to options->downloading to replace the traffic light waiting politely indicator with text
- subscriptions with failed files will say 'x urls in cache, y failed' on their dialog panel
- at the gui level, media that superfluously receives a 'pend tag' instruction for a tag that is already current will discard the instruction (this improves the accuracy of the pending tag count during and after the manage tag dialog)
- and the same thing for 'petition tag' when the tag isn't already current
- any accidentally added 'namespace:'-type tags will be deleted on update
- fixed a bad merge in the manage tag siblings dialog's autocomplete dropdown lists
- the thread watcher can now deal with urls with a #54951495 post anchor at the end
- refactored some controller manager code
- removed some useless old code
- cleaned some misc code
- improved some bad old orphan deletion code
- deleted some old code
- finished off some old media result streaming code
- refactored a bunch of search stuff from clientdata to clientsearch
- rewrote some subs gui/help text to be a bit clearer, and added a help link to the dialog