windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v257/Hydrus.Network.257.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v257/Hydrus.Network.257.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v257/Hydrus.Network.257.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v257/Hydrus.Network.257.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v257/Hydrus.Network.257.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v257.tar.gz
I had a great week. I am almost done with the new duplicate system.
dupe stuff
I have essentially finished the duplicate filter. The 'this file has a higher resolution' statements are better and the underlying database code is as efficient and productive as I can think of. I have also added some new merge option checkboxes–you can now apply 'archive' status across a processed pair or even choose to delete both files.
You can also filter which tags are merged when you say to copy or move tags between the pair. Check this out if you are interested and let me know what you think–the panel to edit this new 'tag censor' object is a little technical and I think it could do with some user-friendliness work.
And I have made a new 'system:duplicate relationships' system predicate. It finds files that have a certain number of the given kind of relationship, such as 'files that are better than at least one other file' or 'files that have alternates' or 'files that are equal to two other files'. This is not wholly useful yet, but it will be when thumbnails are dupe-aware and actionable. (Thumbnails will know their existing dupe relationships and will allow you to set new dupe relationships manually through the right-click menu.)
I believe I will have this thumbnail stuff done next week, at which point I will be done with this initial phase of the new duplicates system and I can start on the downloader engine overhaul!
some other stuff
You can now move the main gui's page tabs all the way to the left or right with their right-click menu, and you can also append or insert new pages in the same way.
The statusbar is a little more informative when it comes to db locking–it will say a bit more than 'db locked', and if you hover over it, it will report the current database job in a tooltip. If your client has been locking up from time to time, please hover over it and report to me what you now see.
full list
- the duplicate filter will now maintain zoom on files with the same ratio
- split the duplicate merge options into separate tag/rating controls–you may see some duplicate service entries, but these will be cleaned on your next shutdown
- duplicate merge options now allow syncing 'archive' status
- duplicate merge options now allow 'delete both files', which you may find use for in custom actions
- created a tag censorship object to handle and action a rich tag censorship ruleset
- tag duplicate merge options now have and use this tag censorship object to filter which tags are merged, with an initial value of 'let everything through'
- wrote a tag censorship edit panel and tied it into the duplicate action edit panel so these new tag censorship objects can be edited
- added an optimisation to the duplicate status setting code–if two files are better/worse, they are inherantly duplicates and so 'not dupe' and 'alternate' relationships apply to both equally and can be duplicated
- fixed and culled and normalised the 'this has more tags' dupe filter statements to be more accurate and useful
- added 'this has a larger filesize' type-statements to the dupe filter
- created a 'system:duplicate relationships' predicate that can find files based on how many duplicate relationships of a particular type they have
- cleaned up some misc duplicate filter code and added some tooltips to the top hover window dupe action buttons
- added 'move to left/right end' to main gui page tab right-click menu
- added 'new page' and 'new page here' to main gui page tab right-click menu
- you can now right-click for a menu from empty tab space on the main gui
- the main gui statusbar now updates more efficiently when under heavy refresh load
- the main gui statusbar now shows db read/write/commit status and sets the current db job summary as its tooltip–if you experience persistent hangs, please hover over the statusbar and report what you see!
- export tags to .txts checkbox will now default to 'all services on' when checked
- fixed the thread watcher, which was accidentally disabling its text input early
- 'similar files' searches launched from the thumbnail menu will now default to 'my files' file domain rather than 'all local files'
- downloader pages will now correctly sort their files on initialisation
- refactored and generally cleaned up some collect and sort code
- fixed some unlikely-but-possible collect/sort bugs
- fixed some bad layout in the top-right hover window that was making it grow unreasonably tall when many urls were shown
- on the different download import pages, the progress gauge that shows file download progress will now reset back to 0 as soon as the file download is complete
- fixed a problem where video imports with unicode characters in their path were failing to mime-parse
- improved the file import status update pipeline to better deal with large transactions (like skipping/deleting/retrying a thousand rows at once). all these big transactions should lag the gui far less
- improved some misc import status cache code
- made first step in a big size rewrite job that will size many elements according to local system font size rather than specific pixel values
- hydrus servers now explicitly default to TLSv1.2–we'll see if that clears up some of the handshake timeout problems we have recently seen
- cleaned up a bunch of possible pydeadobjecterrors when the new review services panel is closed
- improved and rescheduled gelbooru redirect url purge
- added a catch-and-recovery to hydrus network session initialisation, which may sometimes receive invalid data after a service deletion
- added similar catches to tag parent/sibling initialisation, which apparently can be vulnerable to a similar invalid data problem
- I think I cleaned up some more Linux ClientToScreen console errors
- refactored and cleaned some frame size event responsibility
- refactored and cleaned the panel and controls that display file import status
- did a little more menu code cleanup
- misc cleanup
- misc fixes
next week
I want to finish the thumbnail dupe stuff if I can, as I would like to start the downloader engine overhaul asap. There is also some IPFS work I accidentally missed this week, and I would like to apply the new Tag Censor object to the client's regular tag censorship system.