misc
- when you paste queries into the edit subscription window, it now shows you the pending changes, i.e. which are new/already in/DEAD, before you say yes/no. if you have DEAD, it asks with a yesyes/no if you want to revive or not
- the 'rescue off-screen window' system now tries to slide windows down and/or right before falling back to 'topleft of primary screen'. for instance, if the off-screen dialog's originally proposed bottom-left corner would be in view on a particular screen, it now just slides the guy down a bit and adds any fuzzy padding. this makes the new 'put dialog over the mouse' mode nicer to work with near screen edges, although I need to do some more work to better handle particularly short dialogs and those that span across a multi-monitor border
- for the new 'put the dialog over the mouse' mode, if the dialog would appear off-screen, it no longer gives you a 'woah, that was offscreen' popup
- for the new 'put the dialog over the mouse' mode, if the current mouse cursor is so invalid it is seemingly not on any current screen, it falls back to 'topleft of parent mate'
- if you run from source with a normal-looking 'venv' directory, any update that includes new package versions is now going to say, 'hey, looks like you are running from source. this is a good time to update your venv' when you update. this will happen in this release
- thanks to a user, the F13-24 keys are now mappable in the shortcuts system
tag suggestions
- in 'manage tags', on the 'related tags' panel, the 'do it just for my files/all known files' flipswitch is now visible on local tag services
- the 'related tags' panel now has a tag service selector, so you can say 'hey provide related suggests from the PTR' for your 'my tags' and so on
- the 'related tags' panel now has a 'searching through/not searching siblings and parents' button. this involves some black magic and I don't really know how well it works, but the tech seemed to be done db side so I just wired it up
- this is mostly experimental. if you use this a lot, give it a go and let me know if any of it is useful. if you find you are setting something one way or another over and over, it might be nice to have it remember the last settings
- the 'related tags' panel now displays sibling and parent relationships, like the other tag suggestion panels
- if you hit either of the 'related tags' search-type buttons, or the media changes, the 'related tags' search now refreshes using the same duration that was last searched (or 'quick' if none has been done yet)
- on tag menus, the 'favourites' sub-menu has been overhauled. for KISS, it now only appears when you have one tag selected, and it provides add/remove options for the general favourites and, now, all the 'most used' tag suggestion columns that appear in the manage tags dialog. ten points to anyone who can come up with a better names than 'most used tags' and 'favourite tags' that represents what they do while not confusing one for the other
- on tag menus, an empty 'search' sub-menu no longer appears in contexts without any search-page stuff (e.g. manage tags was doing this)
curl_cffi test
- a user pointed me at the
curl_cffilibrary this week, which provides http/2 and http/3 support with arequests-like interface. I have written a very small and basic shim to test this out with our network engine, and a new test mode is underhelp->debug->network actions->curl_cffi test mode. it asks for some test details and then switches the whole network engine over. - very advanced source users can now add
curl_cffito their venvs and give it a whirl. if we discover it solves some problems that requests at http/1 can't handle, I'll formalise the test and plan out how to integrate this into a future domain manager so we can shape things to particular network contexts as needed - I cleaned a bunch of session code and figured out some nicer session switching/reinitialising-tech and cookie-migration tech. I feel even more optimistic about also playing with
httpx, which is a comprehensiverequests-like replacement that offers http/2
boring import options work
- wrote out a draft of a help document for import options at
https://hydrusnetwork.github.io/hydrus/getting_started_import_options.html. I'll populate this with nice diagrams and screenshots and insert it properly as this becomes real. if you have been following along here, feel free to have a look and let me know where I'm making mistakes
boring cleanup
- added a little note to the 'running from source' help regarding ffmpeg on LTS Linux flavours--you probably have an old system ffmpeg, for good reason, so I now say how to find a newer one for hydrus if you like
- added a small section to the backing up help on how to set up a wineprefix for ToDoList. if you try it, let me know if you have a different mfc experience
- cleaned up how mouse coordinates are fetched across the program; everything now goes through one place. Wayland has some issues with this (generally, in Wayland, I only get the last place the mouse was seen over my UI panels), so I may end up inserting some DEBUG recoveries for when this gives crazy answers
- decoupled a bunch of session and cookie code. the way cookies are fetched, inspected, and edited is a good bit cleaner and more centralised and abstract now
- 'session' cookies are now cleared faster and each session maintains its connection pool less redundantly
- misc refactoring to tidy up the initial import as the main controller boots. still lots to do
- pulled
ClientMediaapart and cleaned up some inheritance mess. this whole thing is still awful, but this was a good step - cleared out more linting issues with client media and friends, and in continuing a very long rewrite, a bunch of MediaSingle stuff is replaced with MediaResult, and a bunch of edge-case 'we wanted to show a collection, but it just lost its last member' bugs are fixed
- fixed 'copy thumbnail bmp' for collections, which wasn't falling back to a nice default behaviour before
future build committed
- This release commits the changes tested with the recent future build. The test went well, and there are no special instructions for the update. Source users are encouraged to rebuild their venvs this week. Update as normal, and you will get--
- requests from
2.32.5to2.33.1(security fix) - chardet from
chardet>=3.0.4,<6tochardet>=3.0.4,<8(requests dependency issue resolved in the new version) - OpenCV from
4.11.0.86to4.12.0.88(normal update) - dateparser from
1.2.1to1.4.0(had a build problem before) - adds tldextract
5.3.1, which provides for more sensible '.co.jp' top level domain recognition - setuptools no longer pinned at
78.1.1for the builds (an old hack removed), seems to now be ~82.x - pyinstaller
6.14.1to6.16.0for the builds (normal update, and by the hand of fate it worked) - test version of OpenCV from
4.13.0.90to4.13.0.92(build dependency fix that'll hit us later) - test version of PySide6 (Qt) from
6.10.1to6.10.3(normal update, but we discovered a fun bug yesterday in 6.10.1 that broke several lists and widgets) - Windows mpv dll from
2023-08-20to2024-08-18(cautious update; we've had many issues trying newer mpv dlls over the years) action-gh-releasefrom v2 (Node 20) to v3 (Node 24) in the Linux and Windows build scripts- thanks to a user, the Docker package build files are also now Node 24 compatible