/hydrus/ - Hydrus Network

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

Posting mode: Reply

Check to confirm you're not a robot
Name
Email
Subject
Comment
Password
Drawing x size canvas
File(s)

Board Rules

Max file size: 350.00 MB

Max files: 5

Max message length: 4096

Manage Board | Moderate Thread

Return | Magrathea | Catalog | Bottom

Expand All Images


Version 432 Anonymous Board owner 03/10/2021 (Wed) 23:41:48 Id: 9c7aff [Preview] No. 1020
https://youtube.com/watch?v=_ZDUHbIVaz8 [Embed]
^ After years of seeing all sorts of smaller edits using this footage, I finally discovered this source vid this week. If you like fine art, please watch it in full, it is eight minutes of unbroken kino. It gets a bit heavy at the end, not appropriate for kids. If you don't like old art, no worries, I was just chuffed this week to have finally found this thing.

windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v432/Hydrus.Network.432.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v432/Hydrus.Network.432.-.Windows.-.Installer.exe
macOS
app: https://github.com/hydrusnetwork/hydrus/releases/download/v432/Hydrus.Network.432.-.macOS.-.App.dmg
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v432/Hydrus.Network.432.-.Linux.-.Executable.tar.gz

I had a great week. There are a bunch of different little fixes and improvements this week, and the tag sort dropdown is now easier to use.

tag sort

Rather than a big list, the tag sort dropdown is now a dynamic control that splits the different variables (sort type, asc/desc, group by) into different mini-dropdowns that show and hide when available. Confusing labels like 'lexicographic' and 'ignore namespace' are replaced with clean 'sort by tag/subtag/count'. I hope it is a bit easier to work with now. Give it a go and let me know what you think.

If you don't like your default tag sort, you can set it under options->tags. Your existing default should be converted to the new format on update.

I also added the option to sort by sibling text or the actual tag text when you have the manage tags dialog open.

There is more work to do. One thing I don't like is if, say, on the asc/desc dropdown, you have 'a-z' selected, you can hover your mouse over and scroll down to get 'z-a', but you can't scroll up to get it. I prefer to have scroll work like 'flip' when there are only two values, where either scroll direction will make a change, so I'll figure that out, and in the file sort/collect controls, so there is even less to think about when you edit. I'll also see about saving the tag sort in the session.

I also updated the back-end of tag sorting here, so it'll be easier to update in future. Some users have asked for custom namespace sorts (e.g. creator, character, series, then the rest (a-z), then unnamespaced), so I'd like to start thinking about that properly.

misc

As some users have not realised they were getting a big session that was lagging them, the client now makes a once-per-boot gentle warning popup if your session exceeds 500k weight. If you cannot conveniently reduce your session size, you can turn this warning off under options->gui pages.

Subscriptions now work more efficiently with a very small 'first run' file limit and a larger 'normal' file limit. Previously, the second run was often charging right through the handful of files caught on first sync and getting more than it should, but now it should better recognise it has 'caught up' and stop at the right position.


Anonymous Board owner 03/10/2021 (Wed) 23:42:17 Id: 9c7aff [Preview] No.1021 del
advanced users

I added a String Selector/Slicer object to the parsing system. You can select the nth item or the mth to nth. m can be 'start', n can be 'end', and either can be a negative index. Try mixing it with the new String Sorter! The String Processing UI has also had an update pass to better support multiple strings--it now shows everything its parent formula had, so you can better test sorting or how processing is changing the third string in the list or similar.

The Server/Client API now support single 'range' requests for files (basically anything not html/json). Apparently Safari was having trouble getting videos from the Client API, let's see if this fixes it. If not, I can try supporting the (more complicated) multiple range requests. The server's error handling is also improved--on certain 'emergency' errors, it was sometimes hanging without closing the connection properly.

full list

- tag sorting:
- the tag sort dropdown has been replaced with a dynamic control. rather than one big list with all possible permutations, you now work on each variable (sort type, asc/desc, group by) separately. what you are actually sorting is easier to understand and select
- my stupid "lexicographic/incidence" labelling is replaced with the simpler and neater 'tag', 'subtag', and 'count'
- when in the manage tags dialog and sorting by tag or subtag, you can now turn off the 'use sibling' sort.
- I'd like to further neaten the workflow here, making the individual dropdowns flip back and forth with a mouse scroll in either directior rather than being just up/down allowed. let me know overall how you find this new control
- the 'tag sort' object is updated behind the scenes as well. your old value should be converted automatically
- fixed an issue with count tag sorting where deleted tag counts were being counted even when not displayed
- if you try to search tags on a page of thumbnails that holds an invalid tag, this is now caught gracefully and you get a little popup saying 'please run the repair invalid tags routine'
- .
- misc:
- the client now gives a once-per-boot warning popup if your session size exceeds 500k. for those who cannot reduce session size conveniently, this popup can be turned off under _options->gui pages_
- when the file import options prohibit a file due to filesize or resolution etc.., it should now always record that as an 'ignored' result rather than an 'error'
- fixed an unusual error popup in thread watcher display that could occur during session load. this problem seems to have been around for a long time, but it required a watcher in a previously saved and still valid 'wait a bit' error state and was only vulnerable for a few milliseconds, so it hadn't come up before. in any case, it is fixed
- subscriptions with small 'first run' file limits now work better: if you create a subscription with a fairly small 'first run' file limit (this typically matters when the number is smaller than one of the site's gallery page's worth of results), subsequent normal checks with larger file limits will be more aggressive about noticing that they 'caught up' to that small initial sync (previously, they would sometimes incorrectly think the site just got some files tagged out of order and bump right past that initial 'already in db' batch and keep going until they hit their own file limit)


Anonymous Board owner 03/10/2021 (Wed) 23:42:57 Id: 9c7aff [Preview] No.1022 del
- advanced string processing:
- added a String Selector/Slicer object to the parsing system. this object allows you to select the nth item in a list of parsed strings or the mth to nth items. m can be 'start' and n can be 'end', and negative indices are allowed for both. pair it with the new Sorter for some neat new tricks!
- the string processing edit UI is now _more_ multi-string-aware. the test panel has had a code cleanup pass and now has a list of all the starting strings in the test data (e.g. all the urls parsed by the formula that launched the UI) rather than just the first, and a list of all results from that list. selecting any of the starting strings populates the 'single string' area, so you can now zoom in on one particular string to see what is happening to it
- the String Sorter edit UI now gets all the strings at that stage of processing, so you can review the sort properly
- the new String Slicer edit UI similarly gets all the strings at that stage of processing
- future updates will expand multi-string presentation and testing. I'd like to show the whole list at each stage
- .
- server/client api core improvements:
- I had a go at supporting the Range header for file (basically this means anything non-html/json) requests. I added tests and it seems to work. as I understand this mostly applies to browsers pulling video from the Client API. to start, I am supporting single range requests. if it is needed, I'll try to get Multi Range requests right, but for now they'll 416
- the client now understands 416 ("can't do that requested range m8") errors
- I reworked the serverside error handling chain. this has been borked for a long time due to my own lack of understanding of twisted's deferred system, and certain late-stage errors were just not being handled right. the server should no longer hang on these and now should print error info correctly, including a rough 500 in true late emergencies, and terminate the connection correctly
- .
- boring:
- fixed up a handful of typo-borked unit tests
- fixed my ordinal (xst, xnd, xrd, xth) text generator to deal with 11, 12, and 13 correctly lmao
- started some db maintenance routines and logistics to recover definitions and remove orphans in future, I feel great about it so far, but it'll have to wait for more of my db 'modules' refactoring to be more useful
- updated the mpv dll on the Windows release to 2021-02-28, it may improve some video support/performance
- updated sqlite dll on the Windows release to 3.34.1

next week

I think I am going to do a 'clean up' week and try to polish and finish off little things, no big changes, so that I can take the rest of March and perhaps the start of April to finally focus on these network improvements in one go.


Release Tomorrow! Anonymous Board owner 03/17/2021 (Wed) 07:14:50 Id: fa5034 [Preview] No.1028 del
I had a good week fixing bugs and adding a little quality of life.

The release should be as normal tomorrow. I expect it to be the last release for a few weeks so I can work on a larger network overhaul.



Top | Catalog | Post a reply | Magrathea | Return