github hydrusnetwork/hydrus v451
Version 451

latest releases: v598, v597-future-1, v597...
3 years ago

stupid anti-virus thing

  • we have had several more anti-virus false positives just recently. we discovered that at least one testbed used by these companies was testing the 'open html help' checkbox in the installer, which then launched Edge on the testbed, and then launched the Windows Update process for Edge and Skype, which was somehow interacting with UAC and thus considered suspicious activity owned by the hydrus installer process, lmao. thereafter, it seems the installer exe's DNS requests were somehow being cross-connected with the client.exe scan as that was identified as connected with the installer. taking that checkbox out as a test produced a much cleaner scan. there is a limit to how much of this nonsense I will accomodate, but this week we are trying a release without that 'open help' link in the installer, let's see how it goes
  • semi-related, I brushed up the install path message in the installer and clarified help->help will open the help in the first-start welcome popup message

misc

  • I fixed a critical bug in tag sibling storage when a 'bad' tag's mapping is removed (e.g. 'delete A->B') and added ('add A->C') in the same transaction, and in a heap of fun other situations besides, that mostly resulted in the newly added sibling being forgotten. the bug was worse when this was on a local tag service via the manage siblings dialog. this problem is likely the cause of some of our weird sibling issues on clients that processed certain repository updates extremely quickly. I will keep investigating here for more issues and trigger another sibling reset for everyone in the future
  • the 'show some random pairs' button on the duplicates page is nicer--the 'did not find any pairs' notification is a popup rather than an annoying error dialog, and when there is nothing found, it also clears the page of thumbs. it also tries to guess if you are at the end of the current search, and if so, it will not do an auto re-fetch and will clear the page without producing the popup message
  • fixed a bug that meant file order was not being saved correctly in sessions! sorry for the trouble!
  • import of videos is now a little faster as the ffmpeg call to check resolution and duration is now retained to check for presence of an audio channel
  • when files are imported, the status messages are now much more granular. large and CPU-heavy files should move noticeably from hash generation to filetype calculation to metadata to actual file copying
  • fixed a database query bug in the new processing progress tracking code that was affecting some (perhaps older) versions of sqlite
  • when you trash/untrash/etc... a file in the media viewer, the top hover text now updates to show the file location change
  • fixed a typo bug in the new content type tracking that broke ipfs pinning yet again, sorry for the trouble! (issue #955)
  • I fleshed out my database pending and num_pending tests significantly. now all uploadable content types are tested, so ipfs should not break at the db level again
  • the page tab menu now clumps the 'close x pages' into a dynamic submenu when there are several options and excludes duplicates (e.g. 'close others' and 'close to the left' when you right-click the rightmost page)
  • the page tab menu also puts the 'move' actions under a submenu
  • the page tab menu now has 'select' submenu for navigating home/left/right/end like the shortcuts
  • fixed some repository content type checking problems: showing petition pages when the user has moderation privileges on a repository, permission check when fetching number of petitions, and permissions check when uploading files
  • fixed a typo in the 'running in wine' html that made the whole document big and bold
  • across the program, a 'year' for most date calculations like 'system:time imported: more than a year ago' is now 365 days (up from 12 x 30-day months). these will likely be calendar calculated correctly in future, but for now we'll just stick with simple but just a bit more accurate
  • fixed a bug in mpv loop-seek when the system lags for a moment just when the user closes the media viewer and the video loops back to start

client api

  • expanded my testing system to handle more 'read' database parameter testing, and added some unit tests for the new client api file search code
  • fixed the 'file_sort_asc' in the new client api file search call. it was a stupid untested typo, thank you for the reports (issue #959)
  • fixed 'file_service_name' and 'tag_service_name' when they are GET parameters in the client api
  • I fleshed out the file search sort help to say what ascending/descending means for each file sort type

boring database cleanup

  • to cut down on redundant spam, the new query planner profile mode only plans each unique query text once per run of the mode
  • also fixed an issue in the query planner with multiple-row queries with an empty list argument
  • refactored the tag sibling and parent database storage and lookup code out to separate db modules
  • untangled and optimised a couple of sibling/parent lookup chain regeneration calls
  • moved more sibling and parent responsibility to the new modules, clearing some inline hardcoding out of the main class
  • cleaned up a bunch of sibling, parent, and display code generally, and improved communication between these modules, particularly in regards to update interactions and display sync
  • the similar files data tables are migrated to more appropriate locations. previously, they were all in client.caches.db, now the phash definition and file mapping tables are in master, and the similar files search record is now in main

Don't miss a new hydrus release

NewReleases is sending notifications on new releases.