windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v339/Hydrus.Network.339.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v339/Hydrus.Network.339.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v339/Hydrus.Network.339.-.OS.X.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v339/Hydrus.Network.339.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v339.tar.gz
I had a good week. I fixed some bugs and finished one part of the Client API.
client api
(This is only for advanced users for now.)
The Client API is now ready for some experimentation! Although most of this work has gone much faster than I expected, the last step of actually writing the server commands along with some half-decent test code and help documentation is proving a little slower. This week rolls out 'set up API access' and 'add urls' functionality. In the coming weeks, I will roll out 'add file', 'add tags', and 'search files' commands.
The basic (under construction) outline is here:
https://hydrusnetwork.github.io/hydrus/help/client_api.html
If you are interested in writing a script to talk to the Client API, please have a play with the new service under manage services and review services and see if you can get some fun going. I am interested to hear your feedback and to help if you run into trouble.
misc
I messed up several things last week, thank you for the quick reports. The bugs with ratings service sorting, the manage import folder dialog, and setting a UPnP port on the local booru/client api are now all fixed.
I also added a button to the ratings' review services panel that allows you to delete ratings en masse based on several file categories. If you have wanted to clear all the ratings for your deleted files, check it out!
full list
- client api:
- wrote some ui to handle client api permissions adding and editing
- wrote a 'catch a permissions request' mini-dialog for external api permissions adding
- wrote api calls:
- GET
- /api_version
- /request_new_permissions
- /verify_access_key
- /add_urls/get_url_info
- POST
- /add_urls/add_url
- and made a new 'client api' help page to describe in detail what these do
- wrote fairly comprehensive unit tests for the new client api
- refactored a bunch of 'hydrus network' specific stuff away from general server code that the client api now uses
- neatened up 401 vs 403 error handling across the program, and replaced some clientside error handling that was inelegantly borrowing these network errors
- deleted very old prototype file/thumbnail client server fetch code, which was no longer in use
- .
- misc and bug fixes:
- added a 'clear ratings' button to the ratings service 'review services' panels. it can clear out ratings for deleted, non-local, or _all_ files
- the '3 downloaders are working, is it ok to close the client?' message is now folded into the 'confirm client exit (auto-yes in 15s)' dialog. this merged dialog will still appear for users who have the regular confirm client exit dialog turned off (and still auto-yeses in 15s)
- the file url downloader now reports 'downloading file' and 'importing url' text status separately
- fixed a typo bug from last week that was breaking asc/desc ratings service sorting
- fixed a typo bug from last week that was stopping manage import folders from opening
- fixed a typo bug from last week that was breaking setting upnp port on the local booru/client api service management panel
- the advanced file reparse-and-re-thumbnailing routine now correctly moves a file to its new extension if its mime changes (e.g. png->apng, or webm/mkv distinctions)
- the client file manager now silently detects and auto-repairs instances of missing files where the file actually does exist, just with the wrong extension
- fixed a url parsing issue that was normalise-mangling url classes with no path but some query parameters
- the network engine now uses utf-8 decoding when no specific encoding is set (previously ISO-8859-1)
- fixed an ffmpeg video parsing bug when the video included Shift-JIS metadata. it should work for other unusual encodings as well
- maybe cleaned up some menubar management code
- the filename tagging dialog now uses a notebook for service choice, like the manage tags dialog, rather than the janky old listbook
- fixed a py2-to-3 issue with the admin-only 'is server currently busy' check while a backup is running
- improved some dialog button event handling. it may completely fix the 'trytoendmodal' issue some users run into
- improved some JSON db serialisation error reporting code, trying to pin down an issue several users have seen with session save
- improved thread-safety of serialisable objects as they serialise
- misc improvements and cleanup
next week
More Client API stuff. I did 'add urls' this week because it was the simplest. I think I can do 'add file' and 'add tags', and we'll see how much of 'search files' I can do as well.
I had meant to try out some high-resolution support for the OS X release this week, but it kept getting put off. I realised I had missed it again just now and tried to slip it in, but my first attempt did not go perfectly. Rather than try to rush it together in the last moments of the week, I have decided to instead give it another go for 340. Sorry for the delay!