[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]

/hydrus/ - Hydrus Network

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

Name
Email
Subject
REC
STOP
Comment *
File
Password (Randomized for file and post deletion; you may also set your own.)
Archive
* = required field[▶Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options

Allowed file types:jpg, jpeg, gif, png, webp,webm, mp4, mov, swf, pdf
Max filesize is16 MB.
Max image dimensions are15000 x15000.
You may upload5 per post.


This board will be deleted next Wednesday. I am moving to a General on 8chan.moe /t/. This board is archived at 8chan.moe /hydrus/!

YouTube embed. Click thumbnail to play.

5794c3 No.14364

windows

zip: https://github.com/hydrusnetwork/hydrus/releases/download/v399/Hydrus.Network.399.-.Windows.-.Extract.only.zip

exe: https://github.com/hydrusnetwork/hydrus/releases/download/v399/Hydrus.Network.399.-.Windows.-.Installer.exe

macOS

app: https://github.com/hydrusnetwork/hydrus/releases/download/v399/Hydrus.Network.399.-.macOS.-.App.dmg

linux

tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v399/Hydrus.Network.399.-.Linux.-.Executable.tar.gz

source

tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v399.tar.gz

I had a great week tidying up smaller issues before my vacation.

all small items this week

You can now clear a file's 'viewing stats' back to zero from their right-click menus. I expect to add an edit panel here in future. Also, I fixed an issue where duplicate filters were still counting viewing time even when set in the options not to.

When I plugged the new shortcuts system's mouse code into the media viewer last week, it accidentally worked too well–even clicks were being propagated from the hover windows to the media viewer! This meant that simple hover window clicks were triggering filter actions. It is fixed, and now only keyboard shortcuts will propagate. There are also some mouse wheel propagation fixes here, so if you wheel over the taglist, it shouldn't send a wheel (i.e. previous/next media) event up once you hit the end of the list, but if you wheel over some hover window greyspace, it should.

File delete and undelete are now completely plugged into the shortcut system, with the formerly hardcoded delete key and shift+delete key moved to the 'media' shortcut set by default. Same for the media viewer's zoom_in and zoom_out and ctrl+mouse wheel, under the 'media viewer - all' set. Feel free to remap them.

The new tag autocomplete options under services->tag display and search now allow you to also search namespaces with a flat 'namespace:', no asterisk. The logic here is improved as well, with the 'ser'->'series:metroid' search type automatically assuming the 'namespace:' and 'namespace:*' options, with the checkboxes updating each other.

I fixed an issue created by the recent page layout improvements where the first page of a session load would have a preview window about twenty pixels too tall, which for some users' workflows was leading to slowly growing preview windows as they normally used and restarted the program. A related issue with pages nested inside 'page of pages' having too-short preview windows is also fixed. This issue may happen once more, but after one more restart, the client will fix the relevant option here.

If you have had some normal-looking files fail to import, with 'malformed' as the reason, but turning off the decompression bomb check allowed them, this issue is now fixed. The decomp bomb test was itself throwing an error in this case, which is now caught and ignored. I have also made the decomp bomb test more lax, and default off for new users–this thing has always caught more false positives than true, so I am now making it more an option for users who need it due to memory limitations than a safeguard for all.

advanced parsing changes

The HTML and JSON parsing formulae can now do negative indexing. So, if you need to select the '2nd <a> tag from the end of the list', you can now set -2 as the index to select. Also, the JSON formula can now index on JSON Objects (the key->value dictionaries), although due to technical limitations the list of keys is sorted before indexing, rather than selecting the data as-is in the JSON document.

Furthermore, JSON formulae that are set to get strings no longer pull a 'null' value as the (python) string 'None'. These entries are now ignored.

I fixed an annoying issue when hitting ok on 'fixed string' String Matches. When I made the widgets hide and not overwrite the 'example string' input last week, I forgot to update the ok validation code. This is now fixed.

full list

- improvements:

- the media viewer and thumbnail _right-click->manage_ menus now have a _viewing stats->clear_ action, which does a straight-up delete of all viewing stats record for the selected files. 'edit' will be added to this menu in future

- extended the tag autocomplete options with a checkbox to allow 'namespace:' to match all tags, without the explicit asterisk

- tag autocomplete options now permit namespace searches if the 'search namespaces into full tags' option is set

- the tag autocomplete options panel now disables and checks the namespace checkboxes when one option overrules another

- cleaned up some tag search logic to recognise and deal with 'namespace:' as a query

- added some more unit tests for tag autocomplete options

- the html and json parsing formulae now support negative indexing, to select the nth last item from a list

- extended the '1 -> "1st"' ordinal string conversion code to deal with negative indices

- the 'hide tag' taglist menu actions are now wrapped in yes/no dialogs

- reduced the activation-to-click-accept time that the shortcuts handler uses to ignore activating clicks from 100ms to 17ms

- clicking the media viewer's top hover window's zoom buttons now forces the 'media viewer center' zoom centerpoint, so if you have the mouse centerpoint set, it won't zoom around the button where you are clicking!

- added a simple 8chan.moe watcher to the defaults, all users will get it on update

- the default bandwidth rules for download pages, subs, and watchers are now more liberal. only new users will get these. various improvements to db and ui update pipeline mean the enforced breaks are less needed

- when a manage tags dialog moves to another media, if it has a 'recent tags' suggestion list with a selection, the selection now resets to the top item in the list

- the mpv player now tracks when a video is fully loaded and only reports seek bar info and allows seeks when this is so (this should fix some seekbar errors on broken/slow-loading vids)

- added 'undelete_file' to media shortcut commands

- file delete and undelete are no longer hardcoded in the media viewer and media thumbnail grid. these actions are now handled entirely in the media shortcut set, and added to all clients by default (this defaults to (shift +) delete key, and also backspace on macos, so likely no changes)

- ctrl+mouse wheel is no longer hardcoded to zoom in the media browser. these actions are now handled entirely in the 'all' media viewer shortcut set (this defaults to ctrl+wheel or +/-, so likely no changes)

- deleted some old shortcut processing code

- tightened up some update timers to better halt work while the client is minimised to system tray. this _may_ improve some users' restore hanging issues

- as Qt is happier than wx about making pages on a non-visible client, subscriptions and various url import operations are now permitted to create pages while the client is minimised to taskbar or system tray. if this applies to your situation, please let me know how you get on here, as this may relieve some restore hanging as the pending new-file jobs are no longer queued up

- .

- fixes:

- clicks on hover window greyspace should no longer propagate up to the media viewer. this was causing weird archive/delete filter actions

- mouse scroll on hover window taglist should no longer propagate up to the media viewer when the taglist has no more to scroll in that direction

- fixed an issue that meant preview windows were initialising about twenty pixels too short for the first page loaded in a session, and also pages created within nested page of pages. also cleaned up some logic for unusual situations like hidden preview windows. one more cycle of closing and reopening the client will fix the option value here

- cleaned and unified some page sash setting code, also improving the 'hide preview window' option reliability for advanced actions

- fixed a bug that meant file viewtime was still being recorded on the duplicate filter when the special exception option was off

- reduced some file viewtime manager overhead

- fixed an issue with database repair code when local_tags_cache is missing

- fixed an issue updating a very old db not recognising that local_tags_cache does not yet exist for proper reason and then trying to repair it before update code runs

- fixed the annoying issue introduced in the recent string match overhaul where a 'fixed character' string match edit panel would not want to ok if the (now hidden) example string input did not have the same fixed char data. it now validates no matter what is in the hidden input

- potentially important parsing fix: JSON parsing, when set to get strings, no longer converts a 'null' value to 'None'

- the JSON parsing formula now allows you to select the nth indexed item of an Object (a JSON key->value dictionary). due to technical limitations, it alphabetises the keys, not selecting them as-is in the JSON itself

- images that do not load in PIL no longer cause mime exceptions if they are run through the decompression bomb check

- .

- misc:

- boosted the values of the decompression bomb check anyway, to reduce false positives. it generally now has a problem with images with a bmp > 1GB memory

- by default, new file import options now start with decompression bombs allowed. this option is being reduced to a stopgap for users with less memory

- 'MimeException' is renamed to 'UnsupportedFileException'

- added 'DamagedOrUnusualFileException' to handle normally supported files that cannot be parsed or loaded

- 'SizeException' is split into 'TagSizeException' and 'FileSizeException'

- improved some file exception inheritance

- removed the 'experimental' label from sub-gallery page url type in parsing system

- updated some advanced help regarding bad files

- misc help updates

- updated cloudscraper to 1.2.40

next week

I am taking next week off. Normally I'd be shitposting E3, but instead I think I am going to finally get around to listening to the Ring Cycle through and giving Kingdom Come - Deliverance a go.

v400 will therefore be on the 10th of June. I hope to have the final part of the subscription data overhaul done, which will mean subscriptions load in less than a second, reducing how much data it needs to read and write and ultimately be more accessible for the Client API and things like right-click->add this query to subscription "blahbooru artists".

Thanks everyone!

____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

314ca9 No.14365

File: 891759043579f41⋯.png (356.68 KB,600x623,600:623,891759043579f41e05b95e3b88….png)

thank you hydrus dev

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

bdb74f No.14375

>>14364

Found a small problem with the dupe filter's launcher. Say we have 3 copies of the same image: one from twitter, one from tumblr, and one from pixiv, all with some differing tags. The tumblr image quality is better than the twitter image quality, and the pixiv image quality is better than the tumblr image quality. All have the same resolution, it's just the file size that's better. If the launcher shows you the twitter vs tumblr pair, you'd normally select the tumblr image as better and the tags would merge to the tumblr image. But if the filter then shows you the pixiv vs tumblr pair and you select the pixiv image, whatever tags that were supposed to come from the twitter image to the tumblr image get dropped. I assume this is because decisions aren't finalized until you commit them.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

489bd0 No.14382

Is there a way to sort by source time?

I don't seem to see it, but it seems like something I figured a lot of people would be using.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14390

>>14375

Thanks, yeah, it is because everything is batched before the interstitial filtering commit. I would like in the next iteration of the dupe filter to have some kind of retroactive and 'live syncing' metadata merging, to both fix the previous holes here and make it so if you add an appropriate tag to one file, you get it for all known dupes in past or future.

But that is some way away, and doesn't fix your problem. Dupe logic can get hellish, so I don't want to try to cobble together a multi-file sync for every filtering commit, so maybe I should either not provide the same files more than once per batch fetched, or I should auto-skip any pairs that have a file previously decided on in the current batch. The former is simpler than the latter, even if it could end up being a slight pain with lower dupe numbers. I know some users want dupe filtering to have the same types of files in a row, but I think my logic just isn't there yet.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14391

>>14382

Not yet. At the moment, source time is not attached to files–it is only stored in downloaders/subscriptions for timing decisions. I want to expand the existing modified time structure to support this in the near future.

As there are many previously downloaded files that lack this useful info, I will also be planning a maintenance system for us to fill in this missing data efficiently.

>>14365

Thanks mate, keep on pushing.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

489bd0 No.14392

>>14391

One fairly interesting idea I've been thinking about is how duplicates/alternates/better quality relationships are managed.

The way metadata/tags are handled in this regard is not ideal; I think it would be better if we could leave the metadata associated with the original files, and instead have some sort of "virtual" file which can represent what you get when doing things like copying tags from one to the other.

It's probably not a great idea to associate URLs and such with files that were not actually obtained from them.

The metadata should not lie, especially since this can cause problems in the future when trying to make use of it.

My idea is to get rid of these funky association tag moving/copying things and instead store that as additional metadata inside a "group" file entry of which the other files abstracted away inside of according to whatever relationship the user decided.

(I'm being pretty verbose and making this sound much more complicated than it really is)

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

489bd0 No.14393

>>14391

>>14392

Also, arbitrary file groups could be useful in a similar way.

You could have all this stuff covered by groups, and then in something like a "duplicate" group, you could mark a specific file as being the "representative" file for the group.

Groups without a "representative" set would function as something similar to collections, and you could toggle how they are presented in the image selection panel.

Also, it would be nice if we could present collections in a different way.

For example, instead of hiding them all inside one entry in the selection window, the files could be inlined and a slight extra amount of vertical space between the thumbnails of the different collections.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

6ad5c4 No.14398

Apparently hydrus ignores certain characters when doing a wildcard search, like underscores and dashes. While this is probably intentional, I wish there was a way to override this behavior.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

b6902a No.14400

Hydrus_dev, could you by any chance add the option to disable the left/right arrows on the tabs when you have too many pages open, so that the tabs area expands instead? I looked if it's possible with Qt and it appears the QTabBar::usesScrollButtons property controls it. It's just very cumbersome to navigate the tabs when you have to click those little arrow button all the time, and it's not easy to at a glance get a quick overview of all the tabs either.

https://doc.qt.io/qt-5/qtabbar.html#usesScrollButtons-prop

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14409

>>14393

>>14392

Yeah, I think I generally agree on this idea of having the group be its own thing to which you can attach metadata, but my thoughts are not fully formed. I wondered for a while if I should have tags attach to groups only then have all files be a group of one, and then merge in that sort of way, but I dunno. The driving question for me is of workflow benefit against time I put in.

I don't know how a virtual file like that would be presented in the UI, nor how you would search it, nor how you would edit it.

I still consider the duplicate system quite incomplete. I want to try getting retroactive metadata merging going on, perhaps so we can iterate towards some nicer ideal merge options (e.g. 'meta:high-res' is not a tag to typically merge, which 'character:' tags are), and then I also need to write some sort of structure for 'alternate' groups. That structure will definitely be a more searchable and grabbable and editable object (e.g. when you have an alternate group that is a four-page mini-comic), and we can learn some lessons from there.

I definitely want to have 'grouping' in the normal thumbnail view, just how you think with a bit of extra space between lines. For a variety of metadata to group by. I never got around to this in wx, and now I need to clean up the new Qt code before I can think of extending it to do new presentation methods, but it is on my mind.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14410

>>14398

Thank you for this report. Is this on a new version? When you do a normal search, some characters like _ and - are treated the same as a space - they are all merged together - but when you do an explicit wildcard search, it is supposed to keep the underscore now.

Can you describe exactly the search you are trying to do, what tags you want to match, and what fails?

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

6ad5c4 No.14414

>>14410

I'm on the latest

The wildcard searches are not on any specific tag, just ones with dashes in them. When I search * - * it just gives me everything.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14415

>>14400

Sorry, I was doing research to reply to his yesterday and then got caught up with someone who needed live help and didn't get back to it.

I am not totally sure, but I think that 'remove arrows' options causes the tab bar to just grow in width, which would cause the whole hydrus client to end up growing massively wide. I had a quick look, but I didn't see a mode to tell it to do nicer multi-row tabs–do you know if this is possible, maybe with QSS? I'll happily turn it on if there is.

>>14414

Thanks. Looking at the code, I think it is now doing the '-' -> ' ' replacement in all searches, including explicit wildcard searches. I built the new autocomplete code to be able to turn this behaviour on and off, but there isn't a hook in the UI for it yet. It'll have to be a cog icon on the side of the input or similar.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

b6902a No.14417

>>14415

>I am not totally sure, but I think that 'remove arrows' options causes the tab bar to just grow in width, which would cause the whole hydrus client to end up growing massively wide. I had a quick look, but I didn't see a mode to tell it to do nicer multi-row tabs–do you know if this is possible, maybe with QSS? I'll happily turn it on if there is.

Oh, it grows in width, that's dumb. I looked a bit more and yeah it seems Qt doesn't support multi row tabs. I'm more familiar with C# and the like where it's as simple as changing a property to true, thought it would be the same here. That's a shame, it's so cumbersome now when you have like 50 tabs open.

Maybe there could be button or menu with a dropdown list somewhere listing all the open tabs and you could select which one to switch to there? Just a thought.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14428

File: 09d2a8af865663f⋯.jpg (626.8 KB,2048x1359,2048:1359,09d2a8af865663fc4d18612642….jpg)

I had a great vacation, and now a great week doing an important and long-planned subscriptions rewrite that will make subscriptions load and operate much faster and use less memory.

This is a big change, one that has monopolised my week, so I will take Wednesday to do more testing on my IRL client and also some other work like bug fixes.

The release should on Thursday, hopefully in the morning USA time.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

07784a No.14429

>>14417

Yeah, a dropdown would work, if I am allowed to fit it in. Some of the 'notebook' code is still a bit borked by wx->Qt hacks, so once I get to clearing it out, I'll have a look at how much I can edit it. I think I can replace the QTabBar with my own subclassed control, so that's a possible. In my searching, it looked like there is some code floating around that may do multirow already, so I'll see if that is available to use in python.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

b6902a No.14431

>>14429

Shortcut keys for next/previous tab might also help make it faster to navigate

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

a4d477 No.14459

>>14431

Thanks, I will add this to my todo.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.



[Return][Go to top][Catalog][Nerve Center][Random][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]