misc
- for all the normal page sidebars, the sections above the taglist (e.g. 'search' on a search page, or 'gallery downloader' and 'highlighted query' on a gallery download page) are now collapsible (there's a little up/down arrow button in the corner). if you want to do some taglist work, you can now make it really big. this is just a hacky test though, so let me know how it feels
- the 'eye' icon in the media viewer now has 'always start new media viewers always on top' (which works nice generally) and 'always start new media viewers without titlebar/frame' (which is a little flickery since I schedule it to happen 100ms after window init because of technical gubbins). neither plays very well with start-fullscreen mode. I also reworded the titlebar option logical grammar from 'show titlebar (default on)' to 'hide titlebar/frame (default off)'
- the 'pause network/subs' menu items in the system tray icon are now checkbox items. the ugly 'unpause x' grammar is gone!
- if you do not have a file, the file info lines that appear in the thumbnail flyout menu and the main gui status, which normally say stuff like 'imported 3 days ago' now explicitly say "you do not have this file, (but you did once|but your client has heard a bit about it|and you have never had it)". I hope this will forestall some confusion these advanced media results cause (usually under a 'all known files' search)
- the unhelpful and incorrect 'archived: unknown time' statement no longer appears for non-local files
- if a site delivers
451: Unavailable For Legal Reasons, the file and gallery download objects now catch this and assign an 'ignored' state with an appropriate note. previously this was counting as an ugly uncaught error and causing subs to break and so on (this caused my 'do not use NGUGs here' 'edit subscription' warning label last week). if you have been hit by this (seems like danbooru is doing it?), I don't know if it is because of your region or certain queries (e.g. 'do not post' artists); let me know how the workflow is with these results now being ignored--maybe we want this to be an outright errorthat will auto-pause subs and such, just with the now-nicer error description? I've been thinking about making subs cleverer about region-based captcha blocks, recognising that this is a temporary block that should cause hydrus to stop talking to the domain entirely, but not considering it an error per se and backing out of the current job non-destructively so it can try resuming where it left off again later, so if this is part of that, we'll want to throw it in the mix
Client API
- with thanks to a user for the skeleton, I fleshed out and added
/manage_pages/get_media_viewersto the Client API. this thing fetches all the current open media viewers, tells you an id and type for each, and says what media is currently in view. this also clears issue #1583 - wrote a (bad) unit test for this and some documentation
- Client API version is now 84
Client API deprecation
- I am formalising my Client API deprecation schedule since I have been procrastinating on this cleanup yet don't want to suddenly delete something mysteriously two years after the fact
- if you send
hide_service_keys_tags=falseto afile_metadataClient API call, the user now gets aFutureWarningdeprecation log entry. the behaviour this parameter supports will be deleted on v668 (three months from now) - same for the
set_user_agentcommand. you'll get aFutureWarningif a script calls it, and it will be deleted in v668 hide_x=trueis ugly logic, so we'll go withuse_deprecated_x=falsedefault going forward- I am going to add a
use_deprecated_services_structure=falsedefault to theservicescall in v668, to hide the old service structure. it will similarly get a warning and a three month timeout, to be deleted in v681
boring file storage cleanup
- an early 'umbrella' experiment for dynamic file storage prefix-length is removed and some validity checking is simplified
- in prep for the move to a storage system with three-character prefix (4096 folders), moved a bunch of prefix-handling to a central location and made it length-agnostic
- KISSed some of this code. it is still a bit of a mess though tbh
- wrote a method to 'granularise' a file storage structure, moving a base location from subfolders in the form '/f83' to '/f83/0' - '/f83/f', with file migration and handling weird files and stuff. when we move to three-character storage, we'll not only be granularising our main storage, but we'll want to do this one-time manually on our backups as well
other boring stuff
- the 'edit default duplicate metadata merge options' button in the duplicates page is shuffled down to the 'duplicate filter' box
- fixed a quiet layout sizing warning in the petition processing page when the checkboxlists have no content
- added a note to 'help my db is broke.txt' about a clone crashing
future build
- I am making another future build this week. This is a special build with new libraries that I would like advanced users to test out so I know they are safe to fold into the normal release.
- in the release post, I will link to this alternate build (it is here!). if you are experienced and would like to help me, please check it out
- special notes for this time: nothing crazy, we'll see if the new Qt kicks up a fuss anywhere strange
- the specific changes this week are--
requests2.32.4to2.32.5mpv(the python wrapper that talks to the dll)1.0.7to1.0.8PySide6(Qt) normal6.8.3to6.9.3PySide6(Qt) test6.9.3to6.10.1