- fixed a bug that was causing potential duplicates to be sometimes re-added between media groups that were previously set as false positive/not related. I apologise for the inconvenience this bug has caused. if you were hit by this, please reset your potential duplicate pairs (hit the cog button on the dupes page) and re-search, and the bad pairs should not be re-added again
- fixed an issue where tag autocomplete entry in the form 'namespace-blah:' was replacing the hyphen or other 'collapsable' character to space, which then was not searching correctly for the anything namespace search
- 'namespace:anything' searches now work when the namespace itself has a wildcard
- fixed 'write' autocompletes not matching inputs with UPPERCASE letters
- fixed adding tags that start with a colon (e.g. ":D") in 'write' autocompletes
- it should now impossible to enter some 'kill my cpu' queries into tag autocomplete, such as '[asterisk]:anything', even if accidentally entered through the fast-add system
- the 'cancel search' stop button that appears after a search takes three seconds is back to being neatly embedded beside the tag autocomplete input box
- hitting the cancel search button now clears the non-interactable 'Loading' thumbnail media page (with its misleading 'Loading...' statusbar) and returns you to an empty thumbnail page
- loading a favourite search with non-immediate search no longer loads the 'loading...' page. it also saves that new non-immediate status to the page session more reliably
- reworked my linux build environment (pyinstaller=3.5, virtualenv=16.1) so that you can launch the built exe using a symlink
- rolling out a first version of a requirements.txt, any feedback would be appreciated
- rolling out another version of the derpibooru file page parser that no longer duplicates namespaced tags as unnamespaced, thank you to the user who submitted this
- .
- boring stuff:
- .
- moving old pubsub system to Qt signals:
- all the 'refresh query' calls that do changes to the current file search across the program
- the current file and tag domain update calls for search pages
- the clear/set file focus calls when launching and exiting the media viewer browser or archive/delete filter
- the way thumbnails send the current focused media to the preview media window
- the way widgets with shortcuts-based tooltips are notified to update those tooltips when shortcuts change
- the way a thumbgrid sends the current tags to be displayed in the 'selection tags' list
- the way a thumbgrid adds newly imported files' tags to the 'selection tags' list as they fade in
- the way the 'searching/waiting' search button is flipped on and off by shortcut. btw what should be the correct name + label for this button? should it really be an icon?
- .
- cleanup:
- NOTE: the 'include' folder is renamed this week to 'hydrus'. if you have source patches, please update. as I further disentagle code in future, hydrus will ultimately move to typical nested folder/module structure
- decoupled the shortcuts edit ui code from the controller and db, unified how shortcuts are edited, and eliminated db wait when booting shortcuts editing
- decoupled the shortcuts manager from the controller, cleaned all the code, and moved to a nicer reference with proper typing hints
- refactored the frame and media controls of clientguicanvas into separate files
- renamed the hoverframes file to canvashoverframes and updated its classnames to 'canvas' rather than the old 'fullscreen'
- fixed two wx->Qt typo artifacts in the login script edit ui
- reduced some occasional idle memory bloat of clients that have large subscriptions
- cleaned up how media-based taglists are appended with new media
- removed some old booru object update code
- some misc setmedia/clearmedia cleanup
- misc search code cleanup
- misc typing hints to clear up pylint confusion
- misc tag autocomplete code cleanup
- misc 'global' variable cleanup
- misc gui code refactoring, cleanup and typing