/t/ - Technology

Discussion of Technology

Index Catalog Archive Bottom Refresh
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

Supported file types: GIF, JPG, PNG, WebM, OGG, and more

E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

The backup domains are located at 8chan.se and 8chan.cc. TOR access can be found here, or you can access the TOR portal from the clearnet at Redchannit 3.0.



8chan.moe is a hobby project with no affiliation whatsoever to the administration of any other "8chan" site, past or present.

You may also be interested in: AI

(4.11 KB 300x100 simplebanner.png)

Hydrus Network General #10 Anonymous Board volunteer 07/24/2024 (Wed) 20:55:28 No. 15721
This is a thread for releases, bug reports, and other discussion for the hydrus network software. The hydrus network client is an application written for Anon and other internet-fluent media nerds who have large image/swf/webm collections. It browses with tags instead of folders, a little like a booru on your desktop. Users can choose to download and share tags through a Public Tag Repository that now has more than 2 billion tag mappings, and advanced users may set up their own repositories just for themselves and friends. Everything is free and privacy is the first concern. Releases are available for Windows, Linux, and macOS, and it is now easy to run the program straight from source. I am the hydrus developer. I am continually working on the software and try to put out a new release every Wednesday by 8pm EST. Past hydrus imageboard discussion, and these generals as they hit the post limit, are being archived at >>>/hydrus/ . Hydrus is a powerful and complicated program, and it is not for everyone. If you would like to learn more, please check out the extensive help and getting started guide here: https://hydrusnetwork.github.io/hydrus/ Previous thread >>>/hydrus/21127
Edited last time by hydrus_dev on 08/27/2024 (Tue) 02:53:42.
>>17129 Came back to this, I paused my importers as soon as hydrus started and it seems to be holding steady. It may be too many subdirectories, one of the imports is every image I've downloaded from Kuroba-ex (a lot) in site/board/thread/ directory format. But it's been fine for months before now so I'm not sure why it sucks recently. 10 min update: Yeah, with just that importer paused Hydrus is fine.
@Hydev 1. Can you make 'system:filetype' reversible with ctrl+left click? Just like blue tags or many system predicates already can. Like from 'system:filetype is video' to 'system:filetype is not video'. 2. There is a useless duplicate entry in options -> thumbnails. The 'EXPERIMENTAL: Image path for thumbnail panel ....' is there twice, one time only the text without 'browse' button though. 3. I feel like a sort in the tag selection box is weird. When you 'sort by count' + 'fewest first', the list kinda gets reversed compared to the 'most first' list. So with the new 'namespace (user)' sort (but also applies to the old namespace (a-z)), you have 'creator' on bottom of the list, then 'series' above and so on. When two tags within a namespace have the same count, it is sorted from z to a. In my mind sorting for 'fewest' + 'namespace grouping', the sorting would stay the same, also from a to z when you have the same count, but within the namespaces the counts are displayed from lowest to highest. So ON TOP of the list it would show something like: creator:artistY (3) creator:artistW (42) creator:artistZ (42) creator:artistX (241) Not sure if it is supposed to be like it is now, if it is complicated to change and if the 'fewest first' sorting is used much at all from people. Just noticed it and it feels weird, for me at least. Keep up the good work!
>>17146 >. Can you make 'system:filetype' reversible with ctrl+left click? Just like blue tags or many system predicates already can. Like from 'system:filetype is video' to 'system:filetype is not video'. I've asked for this and he already plans on it.
>>17095 Same anon here, wanted to confirm that to upgrade to 607 I used the "regular" requirements.txt, the scrolling issue came back, but upgrading back to what's in `static/requirements/advanced/requirements_qt6_test.txt` (so just QtPy and PySide6, everything else staying the same) fixes it again.
Got another one. This gif is extremely short, and looped several dozen times while I was tagging it before the error occurred.
A little late, but thanks for the 10 years Hydev.
(1017.89 KB 946x634 python_6nWRhJWi2b.mp4)

>>17093 Thanks, that's interesting. I hacked in some weird resize tech when I originally wrote this, and now I look at it, it is supposed to 'minimum' at height 4 and then every time the number of queries changes it says 'ok force height to 4 < num_queries < 24'. Looks like you are 4 or 3.5 or so, so I guess the update geometry call isn't working for whatever reason. I would blame this somehow on the 'short' resolution you seem to have here, but that panel is a scrolling thing so it shouldn't matter. I'm afraid I can't reproduce this, but I'll look futher into it anyway--what style and stylesheet are you using, btw? I wonder if something weird is happening because of that. In fact, is that overall sidebar management panel a scrolling panel for you? I don't actually see a scrollbar on it, unless it is just off the screen of the screenshot. See vid related for what I get generally and what I expect this list to do. >>17095 >>17148 Fantastic. Yeah, I don't know the CPython API details, but it seems like Python 3.13 is a sudden step change. A whole bunch of libraries had to be updated to handle it, and some things versions that are compatible with older python won't work on it. If you use other programs that can generate a dynamic requirements.txt just for you, can you point me to an example so I can see how they do it? I never know how I am 'supposed' to do this stuff. Or just walk me through what you'd like. I haven't done much .sh writing in my life, so the bottleneck is mostly just me figuring out how to do this without screwing up, but I think a clear next step is to have my setup_venv scripts actually parse your python version and make clear decisions like '3.13 needs the test Qt' for the user on a normal install. Perhaps a different next step is just to write a combined multiplat setup_venv.py, where I can go nuts because I am in more familiar territory. Anyway, maybe 'setup_venv.py --just_produce_requirements="my_requirements.txt"' or something? >>17096 Amazing, I kneel. >>17101 Thanks, I will start a new one for v608. >>17104 Interesting idea with the mouse buttons. I'm afraid I can't promise this any time soon. There's a lot I still need to do in the shortcuts system and it is taking ages, and unfortunately I am not set up to have non-modifier buttons (i.e. stuff that isn't shift/alt/ctrl) act as modifiers. Maybe in future. This isn't very helpful to your problem, I what I do is have a Logitech G502 and map Ctrl, Shift, and Enter. It makes all sorts of selection and file-migration and dialog-forwarding stuff trivial. If you don't use 'back/forward' very much (I found I never did), you might like to try ctrl and shift.
>>17105 Sure, I'll see what I can do. >>17106 Thanks, sounds like you are all fine. I did some testing on my IRL client, which is getting these errors more than my dev situation, and I am confident now that my 'detect when mpv is going crazy' hook is catching false positives on some file loads. I think some file loads are fucking the mpv mainloop somehow, probably bad thread scheduling or choking by the system for whatever reason, maybe even I/O related, but it is ultimately nothing to panic over since it calms down in, idk, 500ms or something? I'm going to alter my error hook to check for if the file was recently loaded and have a grace period where it'll just endure the issue. Fingers crossed we can still catch the real problems but just have a bit of judder otherwise. Let me know if things get better/worse in future! >>17127 >Unrelated, but is there a way to display images with tags that won't pass a PTR filter? Can you explain this more? There is a filter on the PTR that excludes some tags like 'tagme' and 'character request', which are booru things we don't need--is this what you mean? If you want to add tags the PTR won't allow, you'd be looking at adding them to a 'local tag service', which is just on your hard drive and is a place where you have full control. You should already have 'my tags' and 'downloader tags' in a default install, but you can create more if you like under services->manage services. When you search for files in hydrus, the 'tag domain' is usually, by default, 'all known tags'. This is basically the union of all your tag services, so if you have 'clothing:thigh-highs' on your local 'clothing' tag service, it'll show up there when you type. If you are feeling very clever, there are also ways with the tag sibling system that can rename PTR tags on your client. Let me know if I've misunderstood what you want to do. >>17128 >>17129 >>17145 Thank you for this report, and I'm sorry for the trouble. You've already done the first thing I was going to suggest--pausing your import folders. I think you are correct that there's some difficult issue with the complicated multi-nested folder structure. I recently altered how import folders do 'ok that path was (result), now lets do (action)', which does all the stuff in 'if file was already in db, then (delete it)' stuff you see in the edit panel. I wonder if that is handling things wrong, or, let's say, failing due to a long filename or something and then working on the same file again and getting into an awful loop and eating up memory and dying. Can you tell me what your actions are for the import folder here? Is it moving files, ignoring them, deleting? Also, if you look in the edit panel, there should be a 'file log' button. Open up the file log--is every single item actioned, or is there, say, one weird unicode filename or something that is blank? If it all looks good (or it is all empty, say), then depending on your workflow, could you identify what would be in the subsequent sync? What folder(s) would it be actioning next? Also, can you check your 'client - date.log' in install_dir/db? There may be a whole ton of python 'arghhh running out of memory, super loop recursion hell' tracebacks or something that may shine a light on which part is failing. Either way, I'll dive into this code this week and tighten up the error handling. I'll bet it is me going 'ok that's done, now the next' in a situation where the original wasn't done correctly, so it is looping. >>17131 Yeah sorry for the trouble here. We want to enable this eventually, it has been like a twelve year saga to finally allow pixiv ugoira downloads. Thanks to the work of a user, as of last year we finally have native ugoira support in hydrus. An Ugoira zip will now import, be recognised, and render in client, and if it has timing information either as a json file in the zip or encoded as a note with a particular name, hydrus will obey that timing data. Otherwise it defaults to something reasonable, I think 12 or 25fps. The problem with downloading them from pixiv is Ugoira is typically presented in a split format, where you have the images and then the timing data is separate, but hydrus only understands files as atomic single objects. Sometimes the images are in a zip and the timing data in a json or js, sometimes the images are loaded dynamically with javascript from an esoteric CDN using embedded ms timings in the js. It is a fucking mess. I'm not sure what Pixiv currently provide, but we are thinking about writing a hardcoded hook for the hydrus downloader to say 'hey, when you have this Pixiv Ugoira URL, you need to get the images and then pull this timing data and zip it all up yourself in a temp dir, and then that's the file you want to import. Once we have a nice solution, I can finally undo the veto and we can get nice Ugoiras from the primary source with good timing data.
>>17151 >what style and stylesheet are you using Default for both. Qt style says default is "fusion" but stylesheet just says default. >In fact, is that overall sidebar management panel a scrolling panel for you? I don't actually see a scrollbar on it, unless it is just off the screen of the screenshot. Yeah it was just offscreen. I was trying to show just the relevant part to not be confusing. here's a fuller screenshot. It looks like I got the bug wrong though. it does expand like you say, but not properly for me. it's short by 2 or 2.5 so the scrollbar always needs to show up to scroll the first and last 2 items. this is annoying. since I'm using defaults though, I don't know what the problem is. if you can't reproduce it then I'm stuck
>>17152 >explain more Ok sure, I think it's better to properly sibling certain tags rather than filter the entire namespace. For instance Idolcomplex just recently changed all their tags to insane namespaces so they got added to the blacklist, but then none of the tags will ever get uploaded to the PTR. That was my initial thought but as I write this out it feels less and less necessary. >>17152 For the import folder I add some trivial tags (site, filename, thread topic) and it ignores previously seen files. The folder is synced with my phone so I don't necessarily want to automatically delete them. The file log (~21k items) about 4k are successful, 350 are already in db, 2 previously deleted, 2 error (zero length), 12k ignored because "source file does not exist", and 5.5k are "unstarted". Nothing in the client logs.
>>17138 >Is there a reason for this, or is it just an oversight? I'm not sure. I never wrote the server to preserve modified date, nor thought about it doing so, so I guess it is an oversight. When you upload a file, it does not communicate this information, and I couldn't tell you if there even is a normal http header way to do this. All it records is the upload time, which is what you'll see when you right click on the file and it says 'added to x file repo 3 days ago'. I am sorry to say that I have mostly stopped working on the file repository, so I will likely not extend it. My dream is to eventually have clients talking to each other via the Client API, where we could do live cross-client file sync/searching and all sorts of metadata transfer without the brittleness of my repo design, so I think that's probably the better thing to think about, although I'm also sorry to say I don't know when this will happen. If you know a bit of scripting, you could, I think, transfer the modified dates (and eventually other stuff like archived status, if you got into it) from the source computer to the destination using these Client API calls: https://hydrusnetwork.github.io/hydrus/developer_api.html#get_files_file_metadata https://hydrusnetwork.github.io/hydrus/developer_api.html#edit_times_set_time >>17146 1) Sorry, I cannot do ctrl+left-click to reverse a filetype query. I recently added the ability to do 'is' vs 'is not', perhaps that is what >>17147 is thinking about, but my ctrl+left-click shortcut does 'edit predicates' atm, which for rich preds will boot the edit predicates dialog but for simple can-only-invert preds will do the only possible edit action instantly. In the case of a mix of invertable-only and rich preds, it boots the dialog with the simple guys as a button that you click to invert, pic related. That said, I think I would like richer predicates to be more aware of their internal variables. It is a huge ad-hoc mess behind the scenes right now, although I am slowly improving it. At the moment, a rich predicate typically does not know how to invert itself (width>400 -> width <=400 kind of thing), so if I wangle that tech, I could at least add it to the various menu hooks that allow you do to (discard/exclude) tag search predicates, and if we wanted shortcuts for that, I could do it then. 2) SHIT. Thank you, will fix. 3) Yeah I agree. At the moment it just basically does a full reverse of the whole list, namespace grouping included, but that isn't actually helpful and we want something cleverer. I am loathe to add yet another option to the tag sort widget, so I won't add a thing to control this, but I'll do exactly what you suggest and we'll see if anyone misses the old 'fewest first' method. >>17149 Thank you very much. Can you try loading this up again--does the error happen reliably? I cannot produce this error on my dev machine no matter if I use an mpv dll from 2023-08, 2024-10, or 2025-01. If you can load this image up again and it is fine, this is another instance of my error hook false-positiving. Maybe your system was busy for a second and couldn't give mpv enough thread time to process its events, and it sperged out for a brief moment on the third loop and my error hook panicked. This is what I am seeing on some files in my IRL client. If this is what happened, this is a slight shame, because the alteration to my hook was going to be 'if it happens within 2000ms of file load, no worries dude', which several loops of this might just exceed, but perhaps that just means I should say 5000ms. >>17150 Hell yeah, thanks for sticking with it.
>>17153 Thanks. I'll poke around on my end. I calculate that height through max-tier fontMetrics shittery, and when I set to Fusion it shows too much space, so I bet Fusion overrides some font size somewhere and I am thus pointing my thing at the wrong thing to calculate font height off. Default on Windows is 'windowsvista', and I am usually devving in that, so I miss other stuff (and darkmode issues) just by accident. Thanks again for the report. >>17154 Yeah, with tag siblings there's an enduring issue where I don't know how to deal with siblings that map a mapping outside of the tag filter. At the moment these mappings are still prohibited, because the tag filter operates on the 'storage' domain before siblings are applied, but I don't have an official policy and the code can get messy/complex so I'm sure there are ways they can slip through, likely in some odd way where the uploading client sees on upload it but the server declines to save it and propagate it to other users. Ideally I teach the server to understand siblings one day and navigate this cleverly, but siblings are always more work than one expects. I still haven't figured out 'sibling namespaces', where you'd rename all 'artist:' tags to 'creator:', say, but we are expecting to add some hard-replace tech (changing the tags at the storage level, with no undo), as a separate system to siblings, at some point, and that's probably going to be the math-simple solution to the overall problem, for local tags and tag repositories. Thanks for the import folder info--I'll look into it!
>>17151 >Amazing, I kneel. I'm most autistically proud of my namespace structure for furshit. It looks something like this. I pretty much copy paste this formula across species with little exception, but I only fill out sections of a "family" as needed. I need to nix the outdated "furry level" namespace, since each of the three tags in it are replicated by feral:*, kemono:*. and kemonomimi:*. With this I can easily search for varying levels of "catgirl" or all levels of "catgirl". Monstergirl:* and monsterboy:* are unfortunately split because monster:* isn't properly descriptive of the category and I couldn't think of anything better. Though I am considering folding most of the entries in the existing monster:* namespace into the creature:* namespace.
>>17157 Also, messes like pic related make me wish there was a way to auto generate a visual web of child/parent relationships. It would make sniffing out bad logic much easier and look nice as a bonus. But there are more important features that are much easier to implement that ought to come first I presume.
>>17155 >Can you try loading this up again--does the error happen reliably? Oh crud. Since it stops it from being played after that, I thought the file was marked and unplayable from there on unless modified. I didn't realize I could make it attempt playing the file again by restarting the client. It's working fine for now and I've let it run longer than before and even tried adding some more tags in the meanwhile like before. So is the other file I last had an issue with. Got the error again. Just a took a short while. Going to run the other file for a bit too. I'm on wangblows 10 by the way, running exe release, not source. Got the error on the other gif now too. Same one, "too many events queued.". Gonna try the other stuff you mentioned here >>17092 soon.
>>17092 >>17159 I've replaced mpv-2.dll with the the linked libmpv-2.dll after renaming the latter file to the former file. I'm now running the gif I last posted, as it threw an error faster. Got the error again. Is there anything I need to do with the other linked files in that zip? Because I don't know where any of the other ones would go.
>>17159 >>17160 No, just the dll matters. You don't actually have to rename it to mpv-2.dll--the newer mpv package will recognise 'libmpv-2.dll--but there can only be one of either name to get the result you want. Interesting you are still getting the error here. I wonder if your CPU is right on the edge of being about to render it faster enough despite some loadspam logging or something. Assuming you are on the newer 607, I recommend you play with the new DEBUG settings in options->media playback. Does the 'loop playlist' one fix you completely, no matter the dll? >>17158 Totally. What I really want, although I know it would be a big job nightmare, is to have the widget where you edit siblings and parents actually be a dynamic tree, rather than the garbo list of pairs we currently have. The human thinks of the tree, so I should present the data that way and handle the difficult stuff behind the scenes. I've seen and played with a bunch of libraries that can do this three drawing tech, but to make it an interactable widget I would simply have to put in a lot of time myself. One day maybe!
>>17161 I'm on 606, but the error originally occurred with some other file I can't recall back on 600. >>17161 >edit siblings and parents actually be a dynamic tree Oh, and I forgot about siblings and how they'd make things even messier. I never use siblings with rare exception.
>>17161 >>17162 I generally only jump to the very latest version if it has some amazing feature I want, like how 606 had manual namespace grouping. Otherwise I stay 1 or 2 behind, sometimes more when I'm lazy, and only jump forward to the penultimate version if the latest version doesn't described you fixing something from the penultimate one that could break my workflow.
>>17162 >>17163 No worries, no rush. I want to hack at things my end a bit this week and I don't need any new info to get working.
>>17164 Updated to 607 and checked loop playlist. Looping now. Still errored. Unchecking loop playlist and checking "allow too many events queued". Watching for spikes in task manager.
>>17165 I've been able to loop it continuously for a good while now. Maybe at some point it hangs for a split second, and that's when the error occurs? I'm going to uncheck "allow to many events" now because the big CAREFUL warning text is scary.
>>17161 >Interesting you are still getting the error here. I wonder if your CPU is right on the edge of being about to render it faster enough despite some loadspam logging or something. Assuming you are on the newer 607, I recommend you play with the new DEBUG settings in options->media playback. Does the 'loop playlist' one fix you completely, no matter the dll? Not OP, but maybe this finding can help: i can reproduce the error with many videos i have, maybe even all work, but can't guarantee. Tested with some. If the error appears on one video, you can reproduce it guaranteed on that file. Try scrubbing the animation scanbar for 30 seconds left and right a bit fast, no need to let the video loop. Give it 30 secs at least. Some give errors at 15 seconds for example. Alot of scrubbing seems to take alot of CPU resources and produces that MPV error. I'm on v607. I found that: - After error, restarting the same file and scrubbing for way longer, it doesn't give the error anymore (didn't try for more than two minutes though) - Restarting the client and try again gives the error on first try again, then not anymore - Checking the 'DEBUG: Loop Playlist...' option didn't help, but i think that was to be expected since i was not letting the files loop anyway. - Checking the 'DEBUG CAREFUL' option helps and i can scrub the scanbar for a long time without error, but also didn't tried for more than two minutes Happy bug hunting.
>>16966 >>>16930 > what exactly was that to fix, to force the 'gap' downloader popup to appear or something? Yes. It seems to work now. I think it worked immediately when I tested with a new subscription. I am not sure what I did with the old ones, maybe removed the space at the end of the queries (a space is replaced with '/'), updated a part of the query that changed on the site, or recreated the subscription and pasted the urls. The table had been showing that files were found, but downloading is postponed due to something.
>>17152 amazing news, I so look forward to the Ugoira implementation. I'm still struggling to understand how to properly use Hyrdus, let alone hydownloader. Thank you.
(2.91 KB pyproject.toml)

>>17151 >If you use other programs that can generate a dynamic requirements.txt just for you I'm sorry I keep talking about uv, but I'll bring uv up one more time. I'm attaching some kind of rough draft that seems to work on my machine (I know, I know) that I built from `static/requirements/advanced/requirements_*.txt`; `dependencies` are from `core`, everything else has its group. Windows and Mac dependencies are in by default, but are only included if their respective platforms are detected using environment markers (which are part of PEP 508). The only missing part is mpv-old, because I couldn't find that exact version (0.5.2) anymore. I _think_ the "advanced" defaults are mpv-new, opencv-new, other-normal and qt6-new; I put those under default-groups, but that's easy for you to move around so non-advanced users can still go with one short command. By default, you'd start hydrus with a command like `uv run hydrus_client.py`; this will init a `.venv` directory, download and install everything before starting the script. Also to note: if the machine you're running this on doesn't have the correct version of python installed, uv will install it for you, so the only dependency becomes uv. If I want to run it with my own settings and dependencies for example, I can use `uv run --group qt6-test --no-group qt6-new hydrus_client.py -d /path/to/hydrus/db/`. If you'd really want users to go with pip, you could still `uv export --format requirements-txt` (with or without advanced grouping), but that looks like a bother and generates a monster of a file (it's from a lock file, so everything has attached sha256). To use it, install uv (https://docs.astral.sh/uv/getting-started/installation/) and put the file in your hydrus source directory (so next to hydrus_client.py). I have even tested this on a clean Windows VM (I prepared and tested that file on Linux as it's my main OS) that didn't have a python version installed. After installing uv, I was able to just download the zip of the source for the latest hydrus release, add that attached file in and just run `uv run hydrus-client.py` in powershell. Everything seems to work after adding ffmpeg and mpv in bin. Keep in mind that all of this is built on top of standard Python packaging tooling, but I have never used a pyproject.toml file directly with pip; maybe someone else reading this could help here. If this sounds like it all sucks (I get it, switching dependency tooling sounds like a horrible chore), I think simply replacing the `python -m pip install -r` calls from setup_venv.sh to some `>>` to a `requirements-advanced.txt` (which would be reset at the start of that script) that's in `.gitignore` would do the trick. Maybe call `pip install` still at the end by default, but test for some env variable that a user like me would set, so it doesn't change anything for non-snowflake users (I know I'm one, and I'm nitpicking here). You could, for example, `if test -z "$HYDRUS_NO_PIP"; then pip install -r requirements-advanced.txt; else echo "Not installing dependencies as HYDRUS_NO_PIP is set"; fi`. Hope this helps, and if not I hope you didn't waste too long on this; I know the feature list only gets longer and those are mostly implementation details most users could live without. Thanks for reading!
I had this webm selected while I did other stuff, it was probably open for about 20 minutes (since I added it) and I came back to the "too many events" error message. Nothing really special in the logs.
@Hydev I don't know if it is complicated behind the scenes and if you can add it easily, but can we have a 'namespaced' entry in the new 'namespace grouping sort' too? I don't think there is right now. Right now it says 'Any namespace not listed here will be listed afterwards in a-z format'. Can we have 'namespaced' too, so we could more easily manage the sorting, without having to enter every namespace we have? For example you could have something like: creator series character species namespaced <- this would contain every namespace from a to z that is not listed seperately already meta unnamespaced (blue tags) Imagine you have some 100 namespaces like the one person here some days ago. If you wanted to have a sorting with the example i just showed, you would have to enter every namespace and sort it then. Of course one can sort stuff in a textfile and paste it with the new paste button. But with a 'namespaced' entry, you would keep a better overview and it would be easier and faster to manage within hydrus. Hope it's not too complicated for you, thanks.
>>17174 >@Hydev This isn't twitter.
(507.67 KB 500x270 newfag.gif)

>>17165 >>17166 >>17172 >>17167 Thanks all, your feedback was helpful. - >>17166 No worries, despite my scary language, that mode is basically just how the client was a few weeks ago. - >>17172 Unfortunately my dev machine sat at 1.5% usage when playing this today, even for a long time, so my guess here is that it really needs some combination of (error-prone file, whatever that means) + (temporary moment of system busy-ness), and I just can't seem to force the second half in my dev machine. - >>17167 Thank you, this was very helpful. I cannot reproduce this as easily as you can, but I am able to get some of these and I see the same behaviour where once it happens once on a file, it doesn't seem to happen again. Sometimes I only get the 'too many events' call when I release my scanbar-drag-click, sometimes it happens in the middle of it all. Ultimately, it feels like the 'too many events' problem isn't a big deal when we are talking about random and seemingly temporary judder. MPV seems to recover in time, and whether it is GPU, system, or anti-virus that's ultimately kekking the MPV mainloop, it isn't causing program instability. What we are really afraid of is an apng/gif that irrevocably goes 100% CPU on first loop. I've turned my error hook upside down so it looks for this specific problem (essentially, it now looks for 'did mpv just reload this file twenty times in the past second') rather than catching the log output and trying to exclude stuff we are fine with. This will be in tomorrow--let me know how you get on! >>17168 Ah, thanks, I think I understand better now. Subs can find files but then defer the download due to some bandwidth rules, which I think is what you are seeing when it says things are 'postponed'. Hit up network->data->review bandwidth use and edit rules then click 'edit default rules' and the 'subscription default' one. Remove the rules. By default, subs are capped to something like 1,000 requests and/or 1GB of data per day, as a safety catch for something going wrong or a new user who screws around with the file limits. You sound like you know what you want to do, but remember you won't have these safeties in any more. >>17171 Thank you, I have saved this. I'm a pip guy just by accident, but I'm not averse to having multiple ways to do things, and just sticking in a .toml file that allows package manager x to work out the box sounds good to me. I'll do some more research on how it works and integrate it into the client soon. >>17174 Yes, I will! Someone else already mentioned this to me, and I forgot to do it last week. I'll make sure I figure something out.
I had a good simple week. I fixed some bugs and improved some quality of life. The release should be as normal tomorrow. I will aim to start a new thread for it.
Anon reporting. Today there was a big update in Manjaro. I installed it but Hydrus suddenly couln'd not boot again. See pic 1. So, I ran "setup_venv.sh" with the options shown in pic 2 and now Hydrus is running again as expected.
>>17052 Any idea why some images don't get the post url associated? I even added a content parser for it, but only tags get added.
>>17180 Similar on Debian testing.
New thread here >>>/t/17183 This thread should be migrated to >>>/hydrus/ soon. Thanks everyone! >>17180 Thanks, interesting that the update could invalidate your venv. I thought a venv made a copy of the python executable used to create it, so it was all completely enclosed, but perhaps it can symlink sometimes, and your OS updating to Python 3.13 broke that somehow. You did everything correct in the setup_venv script. Glad you are working again.


Forms
Delete
Report
Quick Reply