- 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