windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v286/Hydrus.Network.286.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v286/Hydrus.Network.286.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v286/Hydrus.Network.286.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v286/Hydrus.Network.286.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v286/Hydrus.Network.286.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v286.tar.gz
I had a great week. There are a bunch of small improvements and fixes, and you can do some important new things with sessions.
session improvements
You can now save 'page of pages' into sessions! Just right-click on a page of pages tab to see the new option. The 'save session' menu also lists the existing session names to make it easier to re-save processing sessions.
You can also append sessions from the tab menu, and they'll insert in that location. They will spawn inside 'page of pages' pages named for the session. The idea here is to allow you to load sessions in and out more easily. I have never really been happy with the clunky workflow of sessions, so I hope this helps.
I'm open to doing more on this–like perhaps adding some auto-save functionality to our new page of pages sessions. Anyway, this is a big enough change on its own, so please play with it and let me know what you think.
other highlights
The file import status window (which lists all your import paths/urls from any import context) now has an 'open sources' menu entry on its right-click menu. It will open urls in your web browser and file paths in your file explorer. (Although Linux can't do the file explorer part, unfortunately.)
While doing some booru work and talking to some users, we discovered that booru.org seem to have messed up their SSL certificate. If you go to https://booru.org in a browser, you'll get the 'add exception' page with some error about the cert being set up for hypnohub.net. I presume they mixed up their certs or something. I am not sure how new this error is–I seem to remember it working right before. In any case, if you use hydrus to download from any domains that are explicitly ***.booru.org (by default, the furry@booru.org booru does), you may get connection errors. Please go to network->manage boorus and then click restore defaults->furry@booru.org, which will correct the initial gallery search url to 'http'.
The shortcuts system now allows you to set 'content' shortcuts (tag and rating mappings, typically for the 'media' shortcut domain) to explicit 'set' in addition to the old 'flip on/off' behaviour. Set will only ever set on.
If you run in advanced mode, all thumbnails will now have a 'reparse files and regen thumbnails' right-click menu entry. This updates any old borked files that have odd rotation or resolution or duration to the best the newest code can do. It also regenerates thumbnails. I've also improved the update pipeline here, so you'll see both the new metadata and thumbnail immediately!
I have been putting more time into reducing some ui overhead. Clients that have many import pages open should find they run just slightly faster and with less ui lag jitter, particularly when several queues are actively downloading at once.
Also, clients with many files overall will now perform system:similar_to queries much much faster. These queries should now typically always come in faster than a second.
full list
- simplified how thread watcher assigns DEAD and 404 status–it should do it more reliably now
- thread watchers now publish their page names (including updating dead/404 status) right after they check
- the save session menu under pages now lists the exsting sessions for quick-save–if you select one of these, it will throw up a yes/no overwrite confirmation dialog
- 'appending' sessions now loads them in a new page of pages named as the session name!
- right-clicking on a page of pages now gives you a 'save this page of pages to a session' option
- right-clicking on the page tabs lets you append a session anywhere
- 'load' session is now 'clear and load', and it throws a yes/no dialog for confirmation
- the gallery pending queries box now allows multiple selection with ctrl/shift clicks. it'll even move up/down correctly on non-contiguous selections!
- the gallery query input is now a new combined textctrl-and-paste button control that will appear in other places across the program
- the page of images input now also uses this new control
- the page of images and raw urls queues will now ignore any input that does not start with 'http'
- pasting a list of texts from the clipboard will now typically strip the pasted content of leading or trailing whitespace
- some text and tag cleaning is a bit faster and neater
- the file import status panel now supports 'open sources' on its right-click menu–it opens in your web browser or file explorer as appropriate. (linux can't do file explorer though)
- thumbnails will no longer 'fade' when their pages are not visible, reducing CPU load in several contexts
- thumbnail fade will use less CPU overhead on very fast computers
- the timer loops that all import pages use to keep themselves updated are now harmonised into one loop at the top gui level (this should reduce some idle CPU overhead and improve some ui responsiveness)
- content (tag and rating) shortcuts can now be set to 'flip on/off' or 'set'
- the manage subscriptions dialog now waits for any currently syncing subs to cancel and save themselves before opening itself (keeping it all synced and rollback-proof)
- added a 'watchable' url class type and wrote examples for 4chan/8chan thread urls
- added 4chan/8chan file url classes to the examples, which if added will auto-hide them from the media viewer
- fixed 'add parameter' in edit url match panel
- simplified some stuff in the existing parsing system
- added preliminary 'url type' support to the parsing system
- the html formula parsing object can now return the full child html of the node it finds
- the new url and html stuff doesn't do anything yet–but it will in the new downloader engine
- added a bunch more booru entries to the url classes defaults. I will continue filling these out, hopefully setting comprehensive defaults next week
- the advanced mode thumbnail right-click menu lets you reparse and regen thumbnails for any files! if you have rotated or stretched files, you can now fix them from the menu!
- added new tools to let the client update media file metadata and thumbnails live!
- the new reparse and regen should update file metadata and thumbnails live!
- improved how some 'quiet' errors are printed to the log. they'll now have the full trace of the error as well as the stack
- added a daemon_report_mode debug mode. it throws up a popup every time a daemon fires its callable
- fixed an issue with the editstringtostringdictcontrol
- fixed an issue with loading (and updating to a new version) import pages or import folders with some kinds of unicode paths
- you can now set the 'woah, you should close some pages' warning value under options->gui. its default remains 165 pages
- system:similar_to searches should be a lot faster on clients with many files
- the manage subscriptions and edit subscription panels now both list their num_urls summary column as '22' if all done but '11/22' if not. this column also sorts based on percentage completion, then num total, then num done
- the database migration dialog now uses the new listctrl–its buttons are now also clever, and will disable when they are invalid
- misc fixes
- fixed an index bug in the new listctrl after certain types of 'setdata' call
- cleaned up some search code
- some veto code cleanup
- cleaned and harmonised how text is pulled from the clipboard
next week
I plan to spend the two weeks from the 20th to the 3rd focusing on a big ui update, so next week will be the last normal work week of the year. I would like to catch up on outstanding bugs and maybe tie up something neat for the break.