[ / / / / / / / / ] [ b / news+ / boards ] [ operate / meta ] [ ]

/hydrus/ - Hydrus Network

Bug reports, feature requests, and other discussion for the hydrus network.

Catalog

Name
Email
Subject
Comment *
File
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options
Password (For file and post deletion.)

Allowed file types: jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 8 MB.
Max image dimensions are 10000 x 10000.
You may upload 1 per post.


http://hydrusnetwork.github.io/hydrus/

YouTube embed. Click thumbnail to play.

 No.531

win32
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v151/Hydrus.Network.151.-.Win32.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v151/Hydrus.Network.151.-.Win32.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v151/Hydrus.Network.151.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v151/Hydrus.Network.151.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v151/Hydrus.Network.151.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v151.tar.gz

I had a good week. I cleaned and wrote a lot of code. Most of my time went into boring things that are good but don't change the look or feel of the program, but I did also fix a couple of important bugs, and I made tag archives more powerful.

no booru api integration

I wanted to extend my booru parsers to interface with The Booru API™. After some research, I decided not to do it yet because:

1) Although the different boorus that have APIs are obviously trying to follow a few distinct standards, in practise some of them use different calling urls and parameters, and they serve their data in different markup languages and in different layouts. In order to support any decent number, I would have to write a very generalised API that would take a whole load of work.

2) The one thing they all did do was serve tags without namespaces! Most boorus, of course, do not explicitly label their namespaces, and instead colour them on the webpage. I currently harvest this information by looking through the HTML for the CSS class and prepending the contained text with 'series:' or whatever. So, absent some overly complicated scheme like parsing a booru's master taglist and swapping tag aliases like hydrus does siblings, in order to get namespaces from booru API information, I would have to parse the html page the image was on, which is what I do already. This means any booru interface I wrote would only save a bit of time on the initial gallery page parsing, and that's it.

Ultimately, I decided my time was best spent on other things. If the boorus get a bit more standardised, and if they include namespace information in their APIs, I'll revisit this topic.

bugs

If you have been getting full program crashes after navigating the media viewer with the manage tag dialog's new previous/next buttons, I am fairly confident I have fixed it.

Also, I introduced an odd bug a week or two ago when I collapsed some constants together that meant opening the import files dialog would bork a lot of future gui layout and sizing. I had planned to look at this problem next week, but then I encountered it while making this build, and seeing it was so easy to replicate, I made a quick fix. This means the import files dialog looks a bit ugly right now, but it won't break anything else. I will make it look neater next week.

Import folders will now ignore zero-length files (which are sometimes set up by backup/sync software), so if you have these, you shouldn't get any more error spam from them.

tag archives

Under services->review services->tag service->perform a service-wide operation, there is a new button to one-time add or delete an external tag archive's tags, by namespace. The same dialog already lets you export to tag archives, so I hope this makes one-shot mass-tagging a bit easier for everyone!

This is also useful if you want to quickly copy your local tags from one client to another.

You can only delete tag archive tags if the service is 'local tags' or it is a tag repository and you are a janitor (i.e. you have 'resolve petitions' permission). This is because doing a normal user's mass delete would need to create petitions for every tag->files mapping, and the current admin workflow is not set up to quickly deal with 300,000 petitions!

I have added a couple of useful functions to the hydrus tag archive class and also optimised the hydrus client database's code that interacts with them; doing a large operation will now take a few more seconds to calculate, but the actual sync should be a lot faster, and it will also include non-local files, which were not previously being checked.

full list

- added a possible solution to the manage tags dialog next/previous buttons crash
- completely overhauled temporary file management throughout client and server
- removed old temp folder
- copy files to clipboard will now copy the database's exact file paths (rather than copying to a temp folder beforehand), making it a lot quicker
- the import folders daemon will no longer attempt to import (and hence spam errors about) zero-length files
- added one-time tag archive sync button to the 'perform a service-wide operation' dialog in review services. this lets you add or delete the archive's tags by namespace
- revised the tag archive sync code a little so it syncs to non-local files as well, if the hashes can be lined up
- added hash cross-referencing to archive sync code before maina processing step, often saving a huge amount of time
- fixed a parsing error with advanced content updates at the gui-end
- added GetName and IterateHashes to hydrus tag archives
- added default 'similar to' max hamming distance to file system predicate defaults in client options
- fixed up the default text display of the file service system predicate
added some text to the sort/collect options panel to better explain what the big listbox is for
- fixed a popup numerical typo when uploading files to a repository
- fixed an utterly bizarre bug caused by the import files dialog that was screwing up subsequent dialogs' layout and size, apparently by wx voodoo
- refactored all the functions and classes of hydrusconstants to better locations
- misc other refactorisation
- misc cleaning
- renamed hydrusdownloading to clientdownloading
- changed all default { } and [ ] parameters to None. I don't think it mattered, but just in case for the future
- moved some ugly global variable stuff to better places, hoping to do more in future
- cleaned up many unused imports

next week

I really want to rework my media viewer so the background tags and text float above the current media as you move the mouse. I'd also love for interactable elements like the tags dialog to be more fluid as well, so a simple mouse gesture lets you start managing tags. This is likely too complicated for one week's work, but I think I can get the floating done.

Also, I have decided to move from YAML to JSON for my general storage and transmission protocol. I did some 'normal usage scenario' tests this week, and JSON was sometimes 200 times faster. JSON isn't as flexible as YAML, but it means tag update processing will spend all that much less time on the 'parsing update' step. I want to make a plan for moving over, and also for improving how the whole system works, making it easier to do db updates when something I am storing changes between versions.

 No.532

Oh hey, I had just been wondering about something like IterateHashes to save some ETA calculation time in the FA sanitizer. Should be much faster than IterateMappings for what I was doing. Thanks for reading my mind, I think? :P

Also, the extra control on tag archives is perfect, thanks. Will allow for easy versioning and upgrading of tag archives, as I'd thought about.

 No.534

Also I was all set to report that I found a PNG that completely stroked out the client when you fullviewed it, but I updated and now that doesn't happen, so I'm guessing you fixed it with this blip in 150:

>- removed looping error reporting on certain static image rendering errors


Curse you for being efficient like that! Clearly I have to get off my ass and narrow these things down faster.

 No.535

File: 1427355559622.png (20.83 KB, 212x988, 53:247, too many effing tags.PNG)

>>531

While I'm spamming this thread, a thought on the floating tags and text: Floating them over the image would be great, but having them stuck to my mouse would be terrible, since I'm using giant onscreen buttons matched to a touchscreen for filtering so they'd hop around like mad. Is it possible to have options for, say, "snap to top left/top right/bottom left/bottom right/mouse position"?

Also, just from a use case analysis standpoint, tag archives give us the possibility of having files with *many* tags, because booru communities are nothing if not obsessively specific. A large portion of the e621 rip is hashes with 30+ tags; I checked my client and I have 80 files at over 100 tags and 10 files at over 150. Pic related is one of the worst; it's cut off because that is the height of my screen. The highest number of tags I found was over 300, and while I suspect that particular file is an outlier (because it's a flash game with megabytes of fetish text content), it illustrates the point.

Especially as you rework this to float, it might be useful to create some kind of scroll/wrap/cutoff/something that handles this sort of (frankly) silliness.

 No.546

File: 1427576245946.jpg (194.95 KB, 1151x1362, 1151:1362, 902c44fa5e7beaae86aa73f141….jpg)

>>532
>>534

I've had a good couple of weeks. I don't remember when I fixed the png problem, but it was started by this 10/10 bug report:

https://twitter.com/Scrxtchy/status/574571844788838400

It was OpenCV not being able to resize certain pngs for some reason, so the canvas was getting stretched all over the place and causing weird memory errors.

>>535

I kind of want it to be that when you move your mouse to the left ~100px of the screen, the manage tags dialog pops up, or something like that. Maybe make it smaller 'hover' buttons. Something fluid and not annoying. I have a bunch of files with a million tags as well, and I really want to window-ize that list so I can stick a scrollbar on it. I figured that if I was doing that, I might as well add edit abilities to the list, and then why not just chuck the whole dialog in there, if I can do it cleverly.

 No.549

>>546

This makes sense. I'd appreciate an option to hold it open, though, rather than only on hover. My main concerns are a) the overflow and b) images with the same aspect ratio as the viewer cutting off the tags. b) would be nicely solved by making it a window with transparency.

Making that into the whole manage tags dialog is a neat idea too.

 No.566

File: 1427687043519.jpg (783.65 KB, 1920x1080, 16:9, AaronPaul-JessePinkman-Nee….jpg)

>avast detects a part of the program as malware on tablet
>kaspersky does absolutely nothing and leaves it be on laptop
>laptop runs fine
>avast deletes part of program and wont let me even select "add to exclusions"
>can attempt to run on tablet, but it just sits there, a process starts, but nothing pops up, no loading gui, nothing
its a win8 pro btw
pain to work with will see if i can figure out what file it was that triggered it

 No.567

File: 1427687434718.jpg (66.24 KB, 561x581, 561:581, 1427358900357.jpg)

>>566
>open hydrus from the rar before copying over previous install
>avast runs a scan of some sort
>says "all good"
>hydrus opens
>copy folder over old one
>"woah bad error during startup" …DatabaseError: database disk images is malformed

fug

 No.568

File: 1427687796833.png (1.23 MB, 1280x876, 320:219, jesse_pinkman_by_amandatol….png)

>>567
>drag and drop update folder over to update one more time
>hydrus works fine now
hydrus sometimes your weird
I blame avast though

Sorry to spam up the thread with three posts on the same issue, expected i wouldn't actually figure it out so quick.

The one thing probably worth looking into is hydrus flagging avast, I don't have time to replicate sadly, but somebody else might encounter that issue and hopefully see these posts

 No.583

File: 1427924606118.jpg (218.52 KB, 1134x1001, 162:143, a05bc8705dc95625cb3b10d9d4….jpg)

>>566
>>567
>>568

Thank you for these reports. I don't think my release has anything too weird in it that might trip off an anti-virus detector, but I'm no expert at that stuff. I put in an updated sqlite3.dll recently–if Avast messed around with that, that might cause the db error, unless it actually locked a sector of the db itself.

If you see which files cause problems in future, I'd love to know!

I bang on about this a lot, but think about backing up your db regularly. I do it just before I test the new release on my laptop on Wednesday, so that if something fucks up with the update code, I can rollback without losing anything. This kills the fug.



Delete Post [ ]
[]
[Return][Go to top][Catalog]
[ / / / / / / / / ] [ b / news+ / boards ] [ operate / meta ] [ ]