windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v357/Hydrus.Network.357.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v357/Hydrus.Network.357.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v357/Hydrus.Network.357.-.OS.X.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v357/Hydrus.Network.357.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v357.tar.gz
I had a great week fixing bugs and cleaning up other small jobs.
shortcut and hover window fixes
The recent menubar open/close detection did not work well on OS X and some versions of Linux. It misfiring broke some shortcut processing and hover window display. The good news is that as I went into that code more closely this week, I discovered several other menu, shortcut, and hover window problems that were causing long-term issues. All clients should have less janky hover window placement and behaviour, but particularly on non-Windows.
Specifically, the OS X shortcuts-in-media-viewer issue is fixed. Also, on all platforms, hover windows should size and place better, with less flicker, and handle mouse and keyboard interaction more sensibly. A small memory-leak that was affecting OS X and some Linux versions is also cleared up, which is likely to improve some increasing menu-lag and other jank. I know there is more work to do here for certain Linux window managers, so continued feedback would be appreciated here.
Semi-relatedly, the advanced 'custom' shortcut sets are now hidden from non-advanced-mode users under file->shortcuts.
the rest
The popup toaster (on the bottom-right, where messages appear) now has a collapse/expand button! So, if your subscriptions suddenly appear and get in the way of your browsing, you can now finally hide them. As a result, the little 'dismiss all' summary bar now always appears when you have some messages up.
The duplicate filter's new jpeg quality comparison now has customisable 'weight' scores under options->duplicates. Also, it seems I messed up the default values here, swapping high vs very high values. I have fixed the defaults and set them to reset this week so all users get decent values. If you prefer these values different, please check them again after update.
Several places across the program that have 'write' tag autocomplete inputs, such as manage tag siblings and parents, now have paste buttons beside the tag input box. They let you enter tags straight from the clipboard, including the standard newline-separated format for entering multiple tags at once. It is now much easier to set up twenty tags to have a certain parent.
Downloaders now report their 'added' time without seconds, so '12 minutes' instead of '12 minutes and 23 seconds'. The continue text updates here were making large fresh download lists pretty flickery, so this should calm things down a bit.
When bandwidth is blocked, rather than just saying 'yes', the network->review bandwidth usage window now reports how long until bandwidth is free!
full list
- client api:
- the client api can now receive the access key through a GET or POST parameter rather than the header
- the client api now supports GET /session_key, which provides a temporary key that gives the same access as its permanent access key with the Hydrus-Client-API-Session-Key name through header or GET/POST param. it expires after 24 hours of inactivity or if the client is restarted
- the GET /manage_pages/get_pages call now returns the unique 'page_key' identifier that will be useful in future page management when multiple pages share a name
- the POST /add_urls/add_url command now takes 'destination_page_key' to exactly specify which page you would like a URL to end up on. if the page is not found, or it is the incorrect type, the standard page selection/creation rules will apply
- cleaned up some serverside request processing code
- cleaned up some misc client api permission checking code
- updated client unit tests to check the new changes
- updated client api help to reflect the new changes
- cleaned up some GET and POST parameter parsing
- client api version is now 8
- .
- shortcut and hover window fixes:
- moved the canvas shortcut processing code more towards the new shortcut system
- the OS X shortcut-in-media-viewer issue, which was being boshed in a similar way to the main gui last week, should now be fixed
- when the hover windows have focus, they now pass shortcuts up to the canvas parent more reliably
- removed a legacy menu highlight-tracking system that was malfunctioning and generally throwing a slow-memory-leaking wrench in several places, particularly some non-Windows situations
- the 'menubar is open' test code is now only active for Windows. the other platforms have mixed reliability with menubar open/close events
- some related OS X hover-window flickering and hiding-under the main page problems (having problems due to thinking menus were open) are also fixed
- some hover window flicker on certain focus changes due to clicking focus windows should be fixed
- hover windows now try to size themselves a little better on init, which reduces some initial flicker or false-positive single-frame display on some systems
- extended the hover report mode to report some 'ideal' pos/size info as well
- under file->shortcuts, custom shortcuts are now hidden for non-advanced-mode users
- .
- the rest:
- the popup message toaster now always shows its 'dismiss all' summary bar whenever any messages are being displayed. the summary bar now also has a ▼/▲ button to collapse/expand its messages!
- added duplicate comparison score options (under options->duplicates) for the new jpeg quality estimator
- fixed the default duplicate comparison score values, which appeared to be reversed for higher vs much higher–they will be reset to these new defaults on update, so recheck them if you prefer different
- in manage tag siblings and parents, the filename tagging dialog, and some misc options panels, tag autocomplete input controls now have 'paste' buttons to make entering many results much easier
- to reduce update flicker, the downloader and watcher pages do not list seconds in their 'added' column ('12 minutes 24 seconds ago' is now '12 minutes ago')
- improved clipboard access cleanup on in-clipboard errors, which was sometimes leading to error popups or clipboard lockup
- rather than the simple 'yes', the review bandwidth usage dialog now puts the waiting estimate (like '12 minutes 50 seconds') in the 'blocked?' column
- improved external program launch code for non-Windows to remove hydrus-specific LD_LIBRARY_PATH completely when no OS default exists to restore it to. this should fix ffmpeg connection for certain installs
- fixed a rare bug when initial media results of a page failed to load due to a subset of unexpectedly unfetchable file records
- gave the rare 'ui freezup on dialog close' event yet another pass. closing via escape key should now be immune to this
- 'remote' files that were once in the client but since deleted now have the 'trashed' icon and will state so on their right-click info summary lines
- fixed various instances where selection-from-list dialogs were failing to sort their list based on underlying data object uncomparibility. an example of this was when selecting which queries to pull from a separating subscription
- on the edit parser panels, fetching test data successfully via the quick button or the manual URL entry will now set that URL in the example parsing context
- on the edit parser panels, the subsidiary page parser's separation formula now launches with the correct example data (the original data from the parent dialog, rather than the post-separated data) on which to test separation. this should nest correctly for multiple subsidiary page parsers
- to reduce server load spikes, clientside petition processing now approves very large mapping and file petitions (such as a petition to delete one tag from 50k files) as a sequence of smaller chunks
next week
I want to do two things: moving 'potential' duplicate information to a more efficient data structure and improving some IPFS connection tech, particularly seeing if we can figure out 'nocopy' so IPFS can share without having to copy files to its own data store. These will both be fairly big jobs, so we'll see how it goes.