github hydrusnetwork/hydrus v394
Version 394

latest releases: v599, v598, v597-future-1...
4 years ago
  • autocomplete cleanup:
  • the text you type into tag autocomplete is now parsed in a unified object. all the variants of empty text, invalid text, valid text, namespace text, and wildcard text are all tested and fetched in one simple location with better code
  • autocomplete results caching is now a unified object that tracks and filters results in one location. wildcard searches are now never cached by accident, and switching from tag cache to system predicate cache and to non-initialised cache is instant and more reliable
  • when an autocomplete, either in a search page or a context that manages tags, has results include multiple sibling variants of the typed text, they are now all elevated to the top of the list. the ideal is at the top, the entered text is next, and any known siblings follow
  • the search character 'collapse' that ensures quote marks and hyphens and other odd characters are unified across tags now applies uniformly to all non-complicated-wildcard search tags, with namespace not collapsed and subtag always collapsed
  • when entering an explicit wildcard search, both strict and autocomplete versions (whether they end with an asterisk) are now displayed
  • the way tag results are filtered is now more accurate for some unusual wildcards
  • it is now more difficult to slip cpu-killer search tags (weird asterisk combinations) through
  • the quick-broadcast that happens when the user hits enter before any results have started loading now uses the unified object and chooses a safer and more reliable broadcast value. the test whether to do the quick-broadcast is also more reliable, particularly in unusual situations where a recent search was cancelled or delayed. note that for many users, the cache and search tech is fast enough that this very rarely triggers
  • searching with a wildcard below the autocomplete threshold can no longer trigger a full search, nor an invalid exact-text search
  • namespace count merging is now unified across db tag fetches and media fetches
  • include current/pending buttons now filter down to media-based tag autocomplete counts
  • namespace tag autocomplete queries will no longer show up some unusual siblings below the 'anything' tag
  • deleted a whole bunch of old a/c and caching code
  • added comprehensive unit tests for the new parsed autocomplete text object
  • added comprehensive unit tests for the new predicate results cache object
  • .
  • the rest:
  • fixed a stupid typo bug in the new domain checking code that was stopping subscriptions with incomplete file queues from starting. I apologise for this
  • network error responses 502 (Bad Gateway) and 503 (Service Unavailable) are now treated as a retryable. the 503 is assuming it is not a CF challenge page. if they fail all retries, they are considered a network infrastructure error
  • all other misc 5xx http responses are now treated as instant network infrastructure errors and will be logged in the new domain health tracker
  • the exit splash screen now opens a bit earlier, so you now shouldn't have any momentary uncertainty where no windows are open
  • clients that start minimised to system tray should be better about restoring splitter positions on first show
  • the various 'management panels', the panels on the left of main gui pages, now have smaller minimum width where available. the gallery and watcher panels are still the widest, which is a limitation of the current list tech. when it gets better column sizing code and selection memory, this will improve
  • fixed an issue loading gifs with some OpenCV versions
  • brushed up some running from source help
  • deleted the Py2To3 script that attempts to detect a legacy python 2 install
  • improved all the gui files' import order
  • cleaned up and refactored some subscription code
  • added a bunch of type hints to edit panel code
  • misc code cleanup
  • .
  • environment updates:
  • did second step of hydrus project structure improvement--now the project is split into subdirectories for core/client/server/misc and some client subdirs. work here will continue
  • linux build gets some new libraries, cv is up to 4.2.0
  • it isn't important, but hydrus is now built in python rather than directly from command line. my build scripts now include cloudscraper and the new hydrus source code tree in the build as they are, rather than hardcoded copying

Don't miss a new hydrus release

NewReleases is sending notifications on new releases.