windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v389/Hydrus.Network.389.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v389/Hydrus.Network.389.-.Windows.-.Installer.exe
macOS
app: https://github.com/hydrusnetwork/hydrus/releases/download/v389/Hydrus.Network.389.-.macOS.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v389/Hydrus.Network.389.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v389.tar.gz
I had a great week. I fixed many small bugs, added some quality of life, and am rolling in updated downloaders for e621 and Deviant Art.
downloaders
Unfortunately, last week's e621 downloader was not getting md5 hashes reliably. This coupled with the URL format change often meant an increased bandwidth load for the subscriptions that were trying to re-find their place. Thankfully, another user has provided a more accurate one that rolls into today's update. It also pulls rating tags. If you paused your e621 subs, please resume them again.
Deviant Art have also been through a layout change recently. The existing file page parser was getting a little shaky, so I wrote a new one this week that uses their API. The default hydrus DA downloader is now wholly API-driven, so it should all be more resistant to any further changes on their frontend. If you would like to search for nsfw DA content, the default DA login still seems to work, but Hydrus Companion is also an excellent option.
For advanced users: Thanks to user contribution, there are two newer default file lookup scripts, an updated iqdb-based danbooru lookup and one for direct danbooru lookup using md5 hash.
For advanced users: The parser String Transformation system now has a 'url percent encoding' option for the encode/decode types. This lets you convert complicated text to a URL-parameter-friendly percent-encoded string, or vice versa, if you need to do something like a clever API URL transformation.
the rest
The way the new mpv.conf file was stored was failing for users with portable installs. This file is now cached in the db directory alongside your other user-configurable data. All users will reset to using the hydrus default mpv conf this week (now just in that new location), so if you have been using a different one, please re-set it just this once after you update.
Hitting Escape on a non-empty tag autocomplete text box will now clear that box. This sounds like a very small thing, but give it a go–since shift+home and ctrl+a are diverted to the list below when you have results, it feels nice to have a quick shortcut to reset. Hitting Escape on an empty tag input box continues to cause the box to first lose focus (hiding any floating dropdown list), and then, in the manage tags dialog, closes the dialog.
Short-duration media (e.g. a gif that only lasts 0.5s) now loop properly in slideshows with a longer slideshow period.
The new 'favourite searches' system now has a new 'empty page' default, which updating users will also receive. It is just a nice way to clear a page, but feel free to delete it if you do not like or need it.
The collect-by dropdown now has checkboxes again in Fusion style! It should be fixed for any other styles that had problems, but let me know if you get anything odd now.
A bug where pages created by the new 'duplicate page' command would accidentally share some data updates with their original until a client restart has been fixed.
full list
- downloaders:
- the e621 file page parser is updated again, thanks to a user's contribution. this one gets md5 and file url more reliably, and also gets rating tag
- added a 'e621 file page (old format)' url class to help match and search for files downloaded with the old format. please be aware there is no good solution to auto-convert old urls to a new format yet, so this connection does not (yet) solve the old/new comparison test
- updated deviant art file post parser to use their json api. this should be more resilient to their current layout changes
- the nijie.info login script appears no longer to function. as with exhentai last week, it has been removed to make it easier to log in with hydrus companion. please use hydrus companion if you would like to log into nijie.info
- updated file lookup scripts for 'iqdb danbooru' and 'danbooru md5' thanks to a user's contribution
- .
- the rest:
- the way the mpv.conf works changes this week. it is now correctly fully portable, stored in the db directory beside the .db files. if this file does not exist, the 'default' as stored under the install_dir/static/mpv-conf folder will auto-populate it. if you have been using a non-default mpv conf, please re-set it one time after update, and you should be good
- the code that loads mpv.conf is now more graceful on 'missing file' errors, which now means when both the db conf and the default conf are missing
- hitting escape on a tag autocomplete input that has text will now clear that text! note that hitting escape on an _empty_ a/c input will still do 'lose focus' and then 'close dialog'
- updated the slideshow logic so that if a media with duration has a shorter duration than the slideshow duration (e.g. a gif that lasts 0.5s on a 10s slideshow), the media will keep looping until the duration is up. media that has duration longer than the slideshow time will continue to play through once completely, delaying slideshow progression and then stopping promptly when it has finished
- the string transformation system now allows 'url percent encoding' under the encode/decode type!
- fixed the 'only add existing tags' filter in the tag import options, which was denying all the tested tags. it seems to have been hit by a typo in the last three months
- the 'favourite searches' defaults now include an 'empty page' entry, which is a convenient way to simply clear a page. all users will also get this on update, feel free to delete if you don't like/need it
- opening a new search page from a tag or an active search predicate ('open a new search page for…' or middle-click) now copies the file service (e.g. looking at trash) from the original page
- opening a new search page in the 'all known files' file domain when the tag domain should be 'all known tags' (a currently unsupported combination) now coerces the tag domain to 'all local tags'
- checkboxes should now appear again on the collect-by dropdown in Fusion (and hopefully any other) style
- fixed an issue where entering 'namespace:*' explicitly would show the much less efficient wildcard search rather than the efficient 'anything' namespace search
- fixed an issue where wildcard search could include multiple asterisks in a row
- fixed an issue with page duplication where the main management object was not being duplicated properly until a session reload, meaning the two pages would sometimes share signals and changes
- an old wx delayed hide/show performance hack is removed, making the floating autocomplete dropdown now update more smoothly to resize or move requests, such as when the main gui window is dragged
- the program base installation directory is now calculated more accurately, both when running from source and the frozen build, and when launched using a symlink
- install dir and db dir are now specified in the help->about window
- the petition page content checkbox list now has a taller minimum height
- improved error text reporting in hydrus service login failure, hydrus service delay reason-setting, and all 'cancelled' errors across the program
- the review services panel now has elided… text. when unusually long errors propagate up to its status texts, it now won't suddenly jump to 2,000 pixels wide. full text appears in tooltips
- code refactoring: the tag autocomplete input now now takes responsibility for the active predicate list above it
- refactored some tag lists and added typing hints to improve how current page predicates are determined
- did some prep work for tag filters supporting wildcards, but it isn't ready yet
- cleaned up some wx->Qt data fetching code
- misc code cleanup
next week
Next week is a 'cleanup' week. I want to focus on more wx->Qt code cleanup, removing more old UI hacks, improving layouts, and smoothing out how some behind-the-scenes updates are sent across the program.
I also want to have a deeper look into a bug in the duplicates system where the 'not related' relationship is not sticking when some duplicate search information is reset. I previously could not reproduce this, but I have had more reports of it in the past couple of weeks, so I expect to write some more automated test code to root it out.