- 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