windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v417/Hydrus.Network.417.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v417/Hydrus.Network.417.-.Windows.-.Installer.exe
macOS
app: https://github.com/hydrusnetwork/hydrus/releases/download/v417/Hydrus.Network.417.-.macOS.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v417/Hydrus.Network.417.-.Linux.-.Executable.tar.gz
I had a great week working on a variety of small jobs.
The hydrus network version updates this week, so any clients that currently sync with the PTR will need to update to continue syncing. There is no rush for this.
all misc this week
First of all, the hydrus network version increments from 18 to 19 this week. Clients and servers can only talk to each other if they are running on the same version, and the PTR will update today, so if you want to keep syncing with the PTR, you will have to update. This version update was to ensure that all clients syncing with tag repositories are now on the new virtual sibling and parents systems. There is no rush to get this done, and no penalty if you delay–you will just get a polite popup saying there is a version mismatch, and your PTR service will be paused.
If you get a popup about the network version mismatch in an older version, after you update to 417, go to services->review services and make sure the PTR service panel is unpaused. You might also want to hit 'refresh account'.
I added some shortcut actions to the 'main window' shortcut set–one for 'run all export folders now', and several for navigating the current page selection. You can navigate left, right, and to the leftmost or rightmost tab of the current row. Unlike (shift+)ctrl+tab behaviour, the left/right actions jump through page of pages when you are at a boundary, letting you step through all of your tabs in a depth-first manner.
I also fixed some macOS shortcuts. Control and Command should now both be recognised and labelled correctly, and trackpad scrolling through the media viewer should be at a more appropriate pace.
The Newgrounds downloader is updated. It should now be able to get all the content for artists with more than 60 or 70 items in their galleries. Also rolled in is an updated parser for realbooru, who apparently recently changed their site format.
I messed up the UPnP error parsing last week–sorry if you got any of this! I cleaned it up, wrote some overdue tests so I won't make this mistake again, and gave the network->data->manage upnp dialog a full pass. It should do all its long-delay jobs without blocking the UI.
Advanced: URL Classes now have 'header override' settings. Any time an URL is hit, those headers will be inserted into the request! I needed this to get the updated Newgrounds gallery parser to work, if you want to see an example. Be careful with this, but it may just solve several of our more tricky problems. Also, sorry, the URL Class edit UI is increasingly a hellstack, I will rework it at some point into tabbed pages or something.
full list
- the hydrus network version is increased this week from 18 to 19. clients and servers can only talk to each other when they are on the same version, so please update your clients if you wish to keep talking to the PTR, and your own servers if you have a home network setup or similar. if a server and client are on different versions, you will get a polite error when they next try to talk, and sync will be paused
- added 'run all export folders now' shortcut command to 'main window' shortcut set
- added shortcuts to the 'main gui' shortcut set for navigating the currently selected page. you can move left, right, to the leftmost on the current row, or to the rightmost. the left and right will cycle up a page of pages layer when at left/rightmost boundaries, letting you iterate through all pages in a depth-first manner
- updated the default newgrounds parser to deal with artists with more than 60/70 items in one art gallery (essentially, some clever 'next page' fetching now occurs to get older info that in your browser is drawn in as you scroll down). if you have some subscriptions for artists where you know this is true, try doing a full reset on them
- added realbooru to the hydrus defaults. they also apparently just switched away from a gelbooru 0.2.x site, so if you have a gelbooru parser with a realbooru example URL, I remove that example URL
- updated the page initial media load routine to my new async job
- updated the imported file presentation page-publish routine to my new async job
- when drag and drop or import file presentation now wants to add files to a page that is not yet fully loaded (rare, but possible for large sessions), that page now remembers the files it should add and appends them once load is done. these files-to-be-added are also preserved through a session save, if the client is closed before this long-loading page is initialised
- updated windows mpv, the reported api version is now 1.09
- updated windows ffmpeg to 4.3.1
- updated windows release to sqlite 3.33.0
- updated windows opencv to 4.4.0
- just a little thing–I took the source links out of the release post. anyone running from source is probably pulling straight from the github repo anyway
- cleaned up some misc inelegant string code
- misc other cleanup
- .
- macOS shortcuts:
- the client's shortcut system now detects macOS-specific 'scroll start/end' states, and will not spam scrolls or errors when these states are held
- the client's shortcut system now attempts to detect artificial trackpad scroll/wheel events, and adapts the relative speed of scroll event generation according to the respective trackpad velocity. let me know how the hell this works for you in media viewer etc… (issue #710)
- the client's shortcut system now detects Control and Command as separate and reliable modifiers in macOS, with correct shortcut string rendering (issue #717)
- .
- upnp:
- fixed the awful typos in the upnp add-mapping error handling I changed last week. I am sorry for this!
- improved the async mappings and external ip fetch routines in upnp dialog. closing the dialog while a job is going on should now be completely ok
- upnp dialog add, edit, and delete actions are now async (they won't hang the UI while they work)!
- all the upnp async jobs should now disable the main list controls while they work
- fixed the 'edit' action on upnp dialog to correctly remove old and existing mappings depending on what was edited
- when adding a mapping for an (external_port,protocol) that is already mapped, the upnp dialog now asks if you want to overwrite, rather than just failing with a notification
- after an async action in upnp dialog, and a mappings refresh triggered, the cached external IP should now be properly restored to the status area
- pulled parsing code out of upnp code and wrote some proper unit tests for this so stupid typo errors should not happen again
- .
- parsing:
- subsidiary page parser separation formulae that throw an exception will now be ignored, as if they parsed nothing. in the weird case that you might receive json or html, you can now create subsidiary parsers for both types, and the one that fails will do so gracefully and silently
- URL Classes now have a key->value 'header override' value. any time one of these URLs is hit, these headers are added!!! be careful with this, but it may solve some tough problems. also, sorry, the URL Class UI is becoming a hellstack, I need to break it into tabs or similar
- .
- client api:
- added documentation for the new add_files commands, delete_files, undelete_files, archive_files, and unarchive_files
- added unit tests for the new commands
next week
I am due a 'medium size job' week, so I would like to make system predicates and OR predicates editable after they are entered.