windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v258/Hydrus.Network.258.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v258/Hydrus.Network.258.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v258/Hydrus.Network.258.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v258/Hydrus.Network.258.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v258/Hydrus.Network.258.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v258.tar.gz
I had a great week. I have finished the duplicate system.
duplicates clear
Thumbnails will now tell you about their duplicates when you right-click on them. You can see how many of which sort of duplicates they have and then see those groups in a new page. You can also mass-set 'these are all alternates' and so on. This is a powerful tool, so be careful! I may end up hiding this and some other things behind an 'advanced mode' in some way, but let me know how it works for you.
This final feature means that–other than some help page polishing and ui grammar improvements and so on–I am done with the duplicates system. From now on, I will fold any requests or bug fixes into my normal time that I spend on all the other systems in the program. I am really pleased with how this has gone and the positive feedback it has received. It took a lot of planning and work to go from the bare mathematics of it to something humans can actually use, but thankfully none of it proved impossible.
If you have been waiting for the duplicate system to be finished before you jump into it, now is a good time. The starter help is here:
https://hydrusnetwork.github.io/hydrus/help/duplicates.html
more webms supported
I have added basic support for video with variable framerate. They won't render completely correctly in the client–they'll go at an average frame rate–but they will have the correct duration and number of frames. From the broken files people have helpfully submitted, this seems to mostly mean webms. The ones I have seen look fine at constant framerate, but let me know if you discover any interesting exceptions.
Anyway, if you have a folder of broken webms that wouldn't previously import, give them another go in v258. It worked for most of mine!
some setbacks
There are several ongoing problems as well. I am also fairly IRL busy and a bit stressed, although I expect that to clear up in a couple of weeks.
When I updated to the new service system, I accidentally broke the 'advanced content update' panel (launched from manage tags or review services as 'advanced service-wide update'. It was unable to discriminate by namespace, so it seems it would sometimes do nothing and sometimes include all namespaces, including unnamespaced tags. If you were affected by this, I apologise. I will write some more unit tests to make sure it doesn't happen again.
And while I got around to having a closer look at a neat new IPFS option, 'nocopy', as I had been meaning to for a while, it is unfortunately not yet compatible with the IPFS http API, which requires the file encoded with a POST FORM and, as far as I can figure out, will not otherwise accept a simple file path. In order to support this experimental feature, I will have to expand the existing hydrus-IPFS interface to support command-line interaction. I intend to do this, but the parts of it will have to be spread out over a longer time.
You also may have noticed my server has been giving ssl errors on-and-off in the past couple of weeks. This has been frustrating, requiring a reboot on my end to fix, but I now know the cause of the problem (not ssl, as it turns out), and have put some time into trying to fix it. I may have cracked it this week, but we will have to see as I do not completely understand the exact timings that cause the server to lock up. If you run a server, you probably want to update this week, and if I haven't quite fixed it yet, perhaps in the near future again as well.
full list
- added a duplicate entry to the thumbnail right-click menu
- the new duplicate menu will now attempt to fetch known duplicate counts for the focused file for the current file domain (if the db is locked, it will say so rather than block)
- the new duplicate menu's counts in the thumbnail menu can be clicked to show those files in a new page
- the new duplicate menu allows you to set the four main dupe statuses (with default merge options), or a customised verson of the same, or set unknown/potential, or delete dupe status completely, for all the possible pairs in the current selection
- added tentative support for variable framerate files, manually counting up their frames and displaying them with an averaged constant framerate in the client renderer. this now permits a number of webms that were previously 'mime unsupported'. let me know how it works for you!
- cleaned some server locking code, hopefully fixing the ssl handshake issue (which is actually a deadlocking issue)
- export file dialogs will remember the last value of 'export tags to .txt files?', and clicking that checkbox will always launch the dialog for editing (rather than clearing if there are some set)
- fixed the advanced content update (as used by service-wide update), which was not able to differentiate namespaces since the recent service changes. I apologise to anyone affected by this–I will add some unit tests to make sure it doesn't happen again
- reworked and cleaned some canvas event handling code
- the canvas will now accept mouse wheel events even when it does not have focus
- the canvas frame will no longer accept keyboard events (and hence activate fullscreen_switch) if the mouse is over a flash window
- hydrus servers now respond to /robots.txt with a 'disallow all'
- servers will now provide mappings petitions to admins in groups of similar size, rather than mixing petitions of weight 5000 with a hundred of weight 1
- fixed the back/skip buttons in the archive/delete filter's top hover window
- the file path tagging dialog's namespace and regular regexes now support parenthesis groups, and in that case will take each of those submatches instead of the wider match
- hence regexes with groups will now compile in that dialog
- you can now 'new page here' on the final (rightmost) page tab
- fixed an issue where media-viewer-launched manage tags frames would yield focus to the main gui if they had opened a sub-dialog while they were open
- the tag censorship edit panel now has a 'help here →' label in blue text
- file imports will fail properly when the final temp_path->client_files file copy operation fails (due, for instance, to the destination being on a removable medium that was recently disconnected)
- fixed serverside upnp maintenance, which was silently failing early, and also updated it to the new server object code
- wrote a new checklistbox dialog that handles the underlying data explicitly rather than messing around with external text->data maps
- replaced all the old string checklistbox dialog instances with the new one
- subscriptions will now correctly clear their 'recent error' status on a successful sync
- refactored and cleaned how basic mediaresult objects store and consult simple file information
- locationsmanager objects now handle inbox status and the related content update events that affect it
- fixed a bug in HydrusTagArchive when attempting to figure out hash type from an existing hash
- removed the obsolete servertoclientcontentupdatepackage object
- misc duplicate code cleanup
- misc serverside service code improvements
- misc small fixes
- misc cleanup
next week
Now the duplicate system is done, I will be moving on to the downloader engine overhaul. This will completely update all the behind-the-scenes of every downloader in the program, making it all more capable, flexible, reliable, shareable, diagnosable and maintainable. The first thing will be adding a proper sense of 'state' to the downloaders so they are cookie-aware and generally more polite to the servers they talk to. With luck (cross your fingers, as this may in the end be out of our control!), I'll have sankaku and hentai foundry working again in a few weeks.