/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

CAPTCHA
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 (Temporarily Dead).



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 #12 Anonymous Board volunteer 09/24/2025 (Wed) 18:29:57 No. 24277
This is a thread for releases, bug reports, and other discussion for the hydrus network software. The hydrus network client is a file-management application written for Anon and other internet-fluent media nerds who have large file collections. It browses with tags instead of folders, a little like a booru on your desktop. If they wish, users can easily share tags anonymously through a public server. Everything is free, no ads, and privacy is the first concern. If you have 10,000+ files and cannot find anything, hydrus might help! 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 powerful, complicated, and messy. 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/
https://www.youtube.com/watch?v=v6ng_bGozSo windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v640/Hydrus.Network.640.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v640/Hydrus.Network.640.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v640/Hydrus.Network.640.-.Linux.-.Executable.tar.zst I had a great week. There's a mix of work. v636 was the last release with a macOS App. Please check that release, https://github.com/hydrusnetwork/hydrus/releases/tag/v636 , for information on how to convert a macOS App install to a source install! Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html new UI navigation Thanks to a user, we have several new UI navigation quality of life features: A normal media viewer now has a 'show random' button in the top hover window, next to the previous/next stuff. It does a pure random navigation, not a shuffle. Right-clicking the button will undo! The Main GUI's 'pages' menu now has a 'history' submenu, which tracks the tabs you have recently gone through, in that order. Users who use multiple simultaneous media viewers have a new shortcut to highlight the media viewer's current media+page from the media viewer, this time without closing the media viewer. duplicates options->duplicates has a new 'auto-commit completed batches of this size or smaller' setting. It defaults to '1', so if you get a 1/1 group, you'll now just click through it, no annoying interstitial commit prompt. You can try boosting it to 3 or 5 if you like, or just turn it off. The 'show some random pairs' button is now nicely asynchronous and will not block the UI. Duplicates auto-resolution has better OR support inside 'test A or B' comparators. There's two new hardcoded comparators, for 'both files have the same "has exif/icc profile" value'. And there's another new comparator that does an OR of a list of comparators it owns. I've used some of this tech to re-do and merge the suggested auto-resolution rules a little. We are narrowing in on what I want this system to look like for 'launch'. If you have been following this stuff closely, please check the changelog. some other stuff Huge file deletes should be a bit smoother, and if they take a long time, a file progress popup appears. Export Folders get two new checkboxes to handle sidecar file regeneration, either just on the next run or on every run. If you are a downloader creator, check the changelog. I worked on a bunch of technical stuff. The Client API can now fetch potential duplicate pairs with a sort and 'group mode'. next week
[Expand Post] I want a boring cleanup week. There's some help documentation I want to get to, as well.
>>24279 >you'll now just click through it, no annoying interstitial commit prompt. It's annoying when I make a mistake at the last pair and can't undo it.
>>24279 Thank you.
Hello /t/ hydrus network users. I haven't lurked here much so jumping in for immediate self-promo is probably a bad idea. But anywho, I wrote a webshit client for your hydrus network setups. This seems to be the best venue to reach hydrus network users, so here I am. The software is available here: https://github.com/hydrui/hydrui - and hosted on hydrui.dev. I wrote this because I run hydrus network on a headless linux box and haven't been satisfied with the different solutions for remoting to it. I still use xpra, but I've been using hydrui and hydrus companion for a whole lot of my hydrus network usage these days. I have zero clue how this will hold up to more serious usage than mine, but I hope someone finds it useful. I don't really have anything in particular to gain here, i'm grateful for hydrus network and wanted to contribute something to the ecosystem.
>>24284 needs more screenshots imo
>>24286 Yeah, good point. Fixed that. https://hydrui.dev/en/docs/screenshots/
>>24284 Very cool, thank you for sharing! I don't know if you're open to feedback (I know personal projects aren't often made for that), but in case you are, here are a few things I wish it did; first one is "as a regular user" and others are "because my client is huge": - I wish you talked about (and checked for, ideally) granular permissions; you use "permits everything" on the API and IMO you should always try using as little as you can - I wish I could use `system:` tags, or at least limit the number of results fetched - I wish you handled pages of pages more gracefully; at the moment the app is flattening the pages into a single line (it definitely works though) Likely a typo, but there's also an https link to localhost in your doc on the getting started page -> Accessing the Client API where ""use https" is disabled on the screenshot right above. Great docs overall, congrats!
>>24290 >I don't know if you're open to feedback Definitely. >- I wish you talked about (and checked for, ideally) granular permissions; you use "permits everything" on the API and IMO you should always try using as little as you can Good idea. I need to look into this sometime. >- I wish I could use `system:` tags, or at least limit the number of results fetched There's no good UI for it, but you can do `system:limit is 100` or `system:filetype is image/vnd.adobe.photoshop` in the meantime. >- I wish you handled pages of pages more gracefully; at the moment the app is flattening the pages into a single line (it definitely works though) I didn't realize this was a feature of hydrus network until recently. Supporting this should be easy, but I definitely need to clean up some ugly hacks first. >Likely a typo, but there's also an https link to localhost in your doc on the getting started page -> Accessing the Client API where ""use https" is disabled on the screenshot right above I want to redo all of those screenshots, both because of this issue, and also just because they kind of look like ass. Originally I was going to recommend http for simplicity, but once I deployed Hydrui to a real domain it turned out that dealing with mixed http/https content errors was actually much harder and less consistent than just adding the TLS exception for a self-signed certificate. I couldn't find a way to do the former without globally disabling useful security features in Librewolf, so I gave up on it... but I didn't fix the screenshots to reflect that. Thanks for the feedback.
>>24291 Thanks for the reply! Good to know about copying the `system;` stuff, I did not realize. I'd also love to see sorting options, but the interface is already very usable as-is. I wanted to reply on the TLS stuff, as I had the same issue a while ago with https://hydrus.app; same as you, I use Librewolf so no good way of disabling this verification from a real domain. I now use Tailscale's Serve, which provides a valid TLS cert; it allows me to expose Hydrus through HTTPS, but (of course) only inside my network (I use one-letter machine names for extra anonymity). I highly recommend you take a look! Doesn't fix your docs issue, but maybe it helps you.
Hey what's the status with BTRFS for holding my database? I heard there were some issues with it before? I have been slacking with db backups since it takes 12 goddamn hours to make my fancy deuplicated backup and I'm looking to btrfs' snapshot feature to reduce the downtime, plus having the db on a self healing array would be nice for peace of mind, anyone done anything like this, have any advice?
>>24284 docker run --rm -it ghcr.io/hydrui/hydrui Unable to find image 'ghcr.io/hydrui/hydrui:latest' locally docker: Error response from daemon: Head "https://ghcr.io/v2/hydrui/hydrui/manifests/latest": unauthorized
>>24294 Sorry, I fucked up two different ways. (Package was set to private, no `latest` tag because docker metadata action wants valid semver tags.) Should work now.
>>24293 There are no issues. I'm running on btrfs for exactly the same reasons. Recently updated docs: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#installing If you want to keep db latency minimal, you do have to be careful with compression. The Disk latency, CPU latency, compression factor equation is extremely machine dependent and can change when your DB grows or fragments.
>>24280 Thanks, yeah, I guess this one is a bit subjective. You can turn it off in the options, and you should go back to the old behaviour. >>24284 I just emailed you--looks great, and love the website. I'll add it to the Client API help and mention it in the v641 release post. >>24290 >>24291 I'm planning a large overhaul of the permissions, btw. It is all a mess, and the granular search permissions ended up so inconvenient that users mostly do just say 'allow everything'. I'll collapse/merge the permissions down significantly, probably more to a 'read content/write content/do admin stuff' kind of mix rather than specific content types, and then search permissions will be defined by local file domains, which have nice clear barriers between each other throughout the code. If anyone has opinions on how they'd want permissions to work, I'm open to ideas. What do you want to not allow?
Hydrui dev again. I just added a new experimental feature, automatic tagging. This is more or less just a web port of the wd-e621-hydrus-tagger project and it uses the same models, just with weights converted from onnx to ort for web usage. https://github.com/hydrui/hydrui/releases/tag/models I think it's pretty useful, though I have to iron out some issues: no support for ratings tags, no great way to tag more than one image at once, automatically downloading models is broken in Server Mode, it hard-depends on OPFS which unnecessarily makes it not work on old iPads and Ladybird Browser. But hell, it works in most browsers right now with no setup and even without WebGPU. Just need a decent CPU. If anyone has any other ideas for what ML-based features would be cool throw em at me. Some stuff I'd love to add would require a huge model that can never work directly in a browser. Like, we could support image text transcription/translation with Gemma 3-27b, but that is not going to fit in a browser. I could look into llama.cpp/ollama API support maybe. Ideas welcome. Can throw them at my Github issues too. >>24299 Thanks! Regarding permissions: If I understand you correctly, I think having the granular permissions like for files be per-file-service is a swell idea and works for any use case I care about. You could possibly extend this to have these granular permissions for other services, like tags or ratings services, i.e. to allow access to some tag services and not others, or readwrite access to some tag services and readonly access to others. As a developer, I would like to be able to provide a minimal policy (or perhaps multiple different policies to choose from) that users can easily import to get minimum privileges for an API key. Just some kind of file. (Maybe similar to the way downloaders are installed.) It would also be nice if API clients had a way to discover their granted permissions. That would enable me to ensure I don't allow a user to waste their time editing tags if they can't actually submit it anyways.
I downloaded an artist from danbooru (with these standard downloader) and now I want to fetch them again to apply a tag change. How do I do that? Tried the tag import options but can't figure out how to do it.
>>24298 Nice, yeah I wasn't sure about compression, it would be nice to keep the db small but I often wait on the db to finish tasks already, compressing it is probably not a good idea. I knew btrfs was mentioned in the docs but I couldn't find it, guess I should look harder next time, lmao.
>>24301 right-click, urls, force metadata refresh
Would you mind adding a command line log message for when Hydrus enters and exits idle mode? I'm trying to figure out when my client decides to enter and exit idle mode based on my current settings for it, but it's hard to know when it activates and deactivates. It can be optional and in the debug menu if you want.
>>24305 +1, this could be useful for me as well.
When you try to add a query to a subscription, and Hydrus tells you that you already have that query, it should also tell you the label that you set for the query, if it has one. I was having trouble finding a query that I wanted to edit in a large subscription of mine, and since Hydrus said was that it's already there but not what I labeled it as, it was very difficult for me to find it.
I had a great week. There's more duplicates work, a mix of small jobs done, some new help, and an important improvement in crash reporting. The release should be as normal tomorrow.
I'm surprised! You can run hydrui (and hydrus.app too, it seems) without even having to run a server: > Hydrui acts entirely as a pure frontend web application. There is no Hydrui server component; Hydrui connects directly to the hydrus client API. This is how hosted Hydrui works. Connect to your local hydrus from someone else's website! Official site is very clear and effective, you've got pretty good writing skills. >>24284 >headless box Is there any way to use this from hydrus_server.py? That one's actually headless.
(4.87 MB 3021x4157 Nagato_Yuki_Gentoo_Linux.png)

Is there any way to add a follow url to a content parser only if it ``didn't`` find anything? (that is, the opposite of "next gallery page") In order to avoid causing an xy problem: I'm trying to modify the danbooru parser so that if a gallery search returns empty it repeats it with a "status:deleted" added, I currently have a separate gug that adds it which I use when doing md5 searches but that ends up doing unnecessary extra queries since it still triggers even if the file is found the first time.
I have a rating service, and in that service I'm trying to make sure that I give files each value of the rating (like 3/5, 7/20, etc.) roughly evenly. I've been checking this using a page of pages that has every file that's given each rating loaded, but that adds a lot of session weight and it's also annoying to slowly reload everything to check. I'd appreciate if instead, the "review services" tab for a rating service gives the number of files that have each value of a rating, so I can easily see how the ratings are distributed. I see that it already gives the number of files that have any rating in that rating service, so having values below that for each value individually would be really helpful.
>>24312 first thing I came up with, solves your x. Not sure how to get the existing query back, but maybe you can transform something on the danbooru page instead. - Added a pre-parsing conversion that inserts an URL unconditionally at the end of the document. - Write a content parser that expects to find one URL, but incidentally also finds your injected URL. - Select the first result.
https://www.youtube.com/watch?v=O4ssOwsAJ8s windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v641/Hydrus.Network.641.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v641/Hydrus.Network.641.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v641/Hydrus.Network.641.-.Linux.-.Executable.tar.zst I had a great week cleaning old things, writing new help, and polishing some duplicates work. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html highlights First off, I had hoped to launch a new crash reporter today, but I'm disabling it for now. The tech is cool and dumps useful data on a crash, which we haven't had access to before. Unfortunately, in testing I discovered that it actually causes crashes after a few seconds of mpv playback. I will put more work into this next week. I wrote some proper help on how to merge two clients: https://hydrusnetwork.github.io/hydrus/database_merging.html . I expect this document to mature in future as we figure out nicer ways to do all this. I put more work into duplicates auto-resolution. The new duplicate filters that launch from the preview/review panels work better and have approve/deny buttons (which you can map to shortcuts for quick workflow), and I've adjusted the suggested rules yet again based on feedback. I have also given the help a pass, particularly talking about the new suggested rules: https://hydrusnetwork.github.io/hydrus/advanced_duplicates_auto_resolution.html . I am close to a 1.0 of this whole system and hope to invite all normal users soon. A user launched a neat web portal for the Client API this past week. It creates an interface similar to the normal GUI, but in your web browser. You can find it here: https://hydrui.dev/ . I also added links to 'hydrus-automate' and 'hybooru' to the project list in the client api help here: https://hydrusnetwork.github.io/hydrus/client_api.html next week I would like to finish off a new tuning suite for my 'visual duplicates' detection algorithm, to improve its confidence and precision and get it working across differing jpeg subsampling.
>>24315 got an error trying to dl an image from a source I used to no problem v641, win32, source AttributeError module 'datetime' has no attribute 'UTC' ==== Exception ==== AttributeError: module 'datetime' has no attribute 'UTC' ==== Traceback ==== Traceback (most recent call last): File "D:\hydrus\hydrus\hydrus\core\HydrusThreading.py", line 450, in run callable( *args, **kwargs ) File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworking.py", line 465, in MainLoop self._jobs_awaiting_bandwidth = list( filter( ProcessBandwidthJob, self._jobs_awaiting_bandwidth ) ) File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworking.py", line 238, in ProcessBandwidthJob elif not job.TryToStartBandwidth(): File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworkingJobs.py", line 1813, in TryToStartBandwidth result = self.engine.bandwidth_manager.TryToStartRequest( self._network_contexts ) File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworkingBandwidth.py", line 661, in TryToStartRequest self._ReportRequestUsed( network_contexts ) File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworkingBandwidth.py", line 199, in _ReportRequestUsed bandwidth_tracker.ReportRequestUsed() File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 762, in ReportRequestUsed dt = self._GetCurrentDateTime() File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 380, in _GetCurrentDateTime return datetime.datetime.fromtimestamp( HydrusTime.GetNow(), datetime.UTC ) AttributeError: module 'datetime' has no attribute 'UTC' ==== Stack ==== File "C:\Users\Nick\AppData\Local\Programs\Python\Python39\lib\threading.py", line 937, in _bootstrap self._bootstrap_inner() File "C:\Users\Nick\AppData\Local\Programs\Python\Python39\lib\threading.py", line 980, in _bootstrap_inner self.run() File "D:\hydrus\hydrus\hydrus\core\HydrusThreading.py", line 465, in run HydrusData.ShowException( e ) File "D:\hydrus\hydrus\hydrus\client\ClientData.py", line 174, in ShowExceptionClient ShowExceptionTupleClient( etype, value, tb, do_wait = do_wait ) File "D:\hydrus\hydrus\hydrus\client\ClientData.py", line 213, in ShowExceptionTupleClient message = HydrusData.PrintExceptionTuple( etype, value, tb, do_wait = False ) File "D:\hydrus\hydrus\hydrus\core\HydrusData.py", line 349, in PrintExceptionTuple stack_list = traceback.format_stack() ===== End =====
>>24316 trying to open up review serviecs causes this too v641, win32, source AttributeError module 'datetime' has no attribute 'UTC' File "D:\hydrus\hydrus\hydrus\client\gui\ClientGUIMenus.py", line 280, in event_callable callable( *args, **kwargs ) File "D:\hydrus\hydrus\hydrus\client\gui\ClientGUI.py", line 5896, in _ReviewServices panel = ClientGUIClientsideServices.ReviewServicesPanel( frame, self._controller ) File "D:\hydrus\hydrus\hydrus\client\gui\services\ClientGUIClientsideServices.py", line 4101, in __init__ self._InitialiseServices() File "D:\hydrus\hydrus\hydrus\client\gui\services\ClientGUIClientsideServices.py", line 4187, in _InitialiseServices page = ReviewServicePanel( services_notebook, service ) File "D:\hydrus\hydrus\hydrus\client\gui\services\ClientGUIClientsideServices.py", line 1742, in __init__ subpanels.append( ( ReviewServiceRemoteSubPanel( self, service ), CC.FLAGS_EXPAND_PERPENDICULAR ) ) File "D:\hydrus\hydrus\hydrus\client\gui\services\ClientGUIClientsideServices.py", line 2459, in __init__ self._Refresh() File "D:\hydrus\hydrus\hydrus\client\gui\services\ClientGUIClientsideServices.py", line 2499, in _Refresh bandwidth_summary = self._service.GetBandwidthCurrentMonthSummary() File "D:\hydrus\hydrus\hydrus\client\ClientServices.py", line 909, in GetBandwidthCurrentMonthSummary return CG.client_controller.network_engine.bandwidth_manager.GetCurrentMonthSummary( self.network_context ) File "D:\hydrus\hydrus\hydrus\client\networking\ClientNetworkingBandwidth.py", line 369, in GetCurrentMonthSummary return bandwidth_tracker.GetCurrentMonthSummary() File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 622, in GetCurrentMonthSummary num_bytes = self._GetUsage( HC.BANDWIDTH_TYPE_DATA, None, True ) File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 545, in _GetUsage usage = self._GetRawUsage( bandwidth_type, time_delta ) File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 450, in _GetRawUsage dt = self._GetCurrentDateTime() File "D:\hydrus\hydrus\hydrus\core\networking\HydrusNetworking.py", line 380, in _GetCurrentDateTime return datetime.datetime.fromtimestamp( HydrusTime.GetNow(), datetime.UTC )
>>24316 >>24317 Hey, I am sorry--are you by any chance running in Python 3.10 or earlier? I do a boot test every week with Python 3.10, but this slipped through. I have just fixed this on master. Please git pull and let me know if you have any more trouble.
>>24305 >>24306 Thanks, good idea. I'll make a 'report mode' for it. I'll try not to make it too spammy. >>24308 Thanks, will do. >>24313 Great idea! This will be a little computationally expensive, but I can figure out a button that fetches the current values and draws a nice bar chart. We'll see what shape curves pop out.
>>24321 That fixed it. Thanks.
>>24321 also yes i use python 3.9 something
So I'm writing a parser for this gallery API I use that has multiple posts on each gallery page. That API gives everything right in the gallery page; title, tags, URL to the content to download, and a link to the original post URL. Because this is declared as a gallery (and not a post) in the downloader's URL class, hydrus never registers the original post URL that I set with "associable/source url", even though the parser sees it when tried manually. Is there a solution for me to register that original URL with the files? Or do I need to get the individual posts' URLs and fetch those instead? Hopefully I'd avoid parsing the individual pages as they're pure HTML (no json API there) and I already have everything I need from the gallery.
>>24284 Can't seem to log in at all, even having disable https global and mixed content in about:config (using librewolf, but couldn't get in with firefox either) Not sure what I'm doing wrong, I can get the api splash page to pop up no problem.
>>24326 Does the url class have this checked?
>>24259 I can't get any of the API stuff to recognize. Also, the parse only seems to work if I *don't* include &json=1, even though Hydrus is saying it doesn't look like HTML or JSON. My guess is it's the way that rule34.xxx redirects, as it'll go from an address that looks like rule34.xxx/index.php...etc. to api.rule34.xxx//index.php... etc. which it isn't recognizing. I'm also just now noticing the double slashes after the domain
>>24328 I have tried it, but it associates the URL of the gallery page and not the URL that's parsed by the downloader, which isn't what I am after. Thanks though!
>>24326 >>24330 I can't exactly model your problem in my head, but I think I get the gist of it. I think what you want is a 'subsidiary page parser', which is a mostly-undocumented way to split a gallery page into separate posts that contain groups of metadata that is to be assigned to each file separately. Check the 'e621 gallery page api parser' and '4chan thread api parser' for examples. I'm not totally sure why the url isn't being associated here. If you are getting the file imported ok, then presumably the URL is 'working', unless we are talking about a gallery hit that includes both the 'Post URL' and the direct file URL. If that's the case, then yeah the subsidiary page parser is the trick. The e621 one is probably what you want to look at. >>24329 If none of the API URLs are recognised in the URL Classes dialog, then that's your problem, it sounds like. You have to get a matching URL Class to get a URL to parse (remember the URL Class-Parser links in 'manage url class links'). If the URL is not recognised, hydrus will keep thinking that URL is a direct file URL that it should download. If you need to match a URL with double leading slashes, try adding a path component that matches anything, and example text the empty string, "", to remind yourself, and make sure the 'DEBUG: remove leading double-slashes...' option at the bottom of options->downloading is unchecked (it should be). If you need to match the 'json=1' URL, then add that as a parameter to the URL Class. Good luck!
Edited last time by hydrus_dev on 10/04/2025 (Sat) 22:27:11.
I'm on Linux and going to try building from source to fix the mpv issues many have talked about. If I uninstall hydrus will it leave the database alone? And then I can just point it to the database again after I re-install from source? Of course, I'll be sure to backup everything before I start.
>>24332 >subsidiary page parser I should have started there; this is what I am using already. So this API has a `posts` object with a dict inside, and in that dict, each post has a downloadable file (which is the URL that gets associated with the file currently), some tags (those are correctly associated), and a source URL (the one I want associated with the file, and isn't currently). I do use the subsidiary page parser, but I'll review the e621 gallery parser to see what I'm missing. I'll share my downloader here when I get it to work, thank you!
If you have a duplicate filter page open, and it's still searching for duplicates while you click the button to start going through the filter, the searching tab will continue to search while the duplicate filter is loading. Because of this, they both go at half speed since Hydrus is needlessly searching twice. If possible, I think that the duplicate search that the tab does should just be "carried over" to the actual duplicate filter when you start it, so that Hydrus doesn't have to do every search twice. If that's not possible, then can you at least have Hydrus immediately stop searching on the page once you start the filter, so that it doesn't slow down a bunch from searching both at once?
>>24336 oh and you've been making great progress with the auto resolution system :)
(20.43 KB 501x257 angry about mmd.jpg)

I've noticed some old files that I dropped into Hydrus directly from my computer have retroactively gotten downloader tags. Just the creator: namespace though, since I disable the rest and prefer my personal tags. How exactly is this happening? The pages these hash matching files are being found on wouldn't be scraped by any of my subscriptions. Like this pic related for instance. I imported it over three years ago, and now I've noticed it has a pixiv url from a six year old post attached to it. This is the case for about a hundred or so other files out of tens of thousands. When, how, and why is Hydrus accessing these pages to compare hashes? Is it from the PTR? I don't use the PTR, but I did try once when I first got Hydrus before shortly canceling it upon realizing my computer couldn't handle it and that I prefer my own tags anyways. Could it be leftovers from that?
>>24338 >Could it be leftovers from that? If you once synced to the PTR, and never wiped the mappings from your DB after you stopped, then yes that's exactly what's happening
>>24339 Okay, I was a little freaked out and only thought of the PTR halfway though the post. I had thought everything related to it was wiped back then, but apparently not.
>>24293 >it takes 12 goddamn hours to make my fancy deuplicated backup Try vorta for borg backup. You can select what folders to backup where, and it does incremental, compressed, backups. I'd make sure to close Hydrus before backing up though. >>24300 Hellll yeah I love this. A good ML feature would be image/video upscaling, though that is obviously going to more than double storage size and take a long long time to process everything. >>24333 Source fixed my mpv issues. IMO source is misleading, because it's just a portable program with a binary launcher anyways. >uninstall hydrus What do you mean? It runs in a folder. Just download a source version and copy or move your db into the source one.
>>24340 nah, if you just stop syncing, then anything that was already processed stays. It's been years since I stopped myself, but I think to fully remove it, you need to go to the tag migration menu, and wipe the mappings and relationships, then delete the services, then vacuum the database files. Once you do that, it should be fully gone.
Hey hydev I have some borked files that I found when running hydrus video deduplicator. Most don't run at all so just assume every single one is nsfw. I ran a force redownload and only a few got fixed so these are bad on the site's side. https://catbox.moe/c/3uqay7 There's a text file with every url in it.
I was having a lot of trouble finding the place where you set which urls get displayed in the media viewer pop-up frame. I eventually found it, but I wasn't expecting it to be under "network → downloaders", since you're not changing anything about how files are downloaded and technically it's not even about downloading, just what's displayed. I was expecting to find it in the Hydrus options menu, and the first place that I checked was "media viewer hovers". I think it'd be a good idea to duplicate the settings for url display there, or at least have some text to tell users that they're actually in the "downloaders" menu bar item.
I had an ok week working on a mix of things. There's more duplicates work, some crash reporting tech, a new stability test for mpv, and a bunch of smaller stuff. The release should be as normal tomorrow.
Would you mind adding an option (or maybe just make it the way it works if no one minds, but I'm fine either way) to have the queue for auto resolution pairs to be sorted randomly? I'm noticing strings of similar pairs in my semi-automatic rules' queues, and that's not great for making sure that a rule is solid before making it fully automatic. Going through a random sample would give you more confidence that the rule is correct for all kinds of pairs that it'll encounter, rather than just the ones it happened to queue up first. If an actual random sorting isn't possible for whatever reason, then sorting it by sha-256 hash should also be fine. I think sorting that way is basically random.
https://www.youtube.com/watch?v=Y-IUZB3PI90 windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v642/Hydrus.Network.642.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v642/Hydrus.Network.642.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v642/Hydrus.Network.642.-.Linux.-.Executable.tar.zst I had an ok week working on a mix of things. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html highlights I have tweaked my visual duplicates algorithm with a new tuning suite that generates lots of synthetic data to build performance statistics on. Some false negatives are now 'probably duplicates', and some true negatives now have richer summaries than just 'not duplicates'. I still trust and recommend using the test at 'almost certainly' confidence in auto-resolution rules. I also triaged my remaining auto-resolution work. There are four medium sized jobs and perhaps a dozen smaller ones. I feel confident I can clear it all by the end of the year, and that'll be the system done for a v1.0. I improved the new crash reporter I was working on last week. Unfortunately there are still some false-positive crashes and logspam when the mode is mixed with mpv, so the mode is launching default off. You can turn it on under help->debug->debug modes->use faulthandler to log crashes. If you have had crashes and can test them without using mpv, please give it a go and let me know how you get on. If you are an advanced user and would like to help me test a new mpv thing, please check the changelog. next week I may tweak the new mpv interface a little more, but I mostly want to clear the final auto-resolution work. >>24343 I forgot to say: thank you, I got these. Some worked ok for me, some wouldn't render at all. Seems like some versions of either mpv or ffmpeg could or couldn't handle them. It is useful to have broken files like this, and this is a real mix of weird stuff. A couple of them helped me debug my mpv crasher code this week
How do I follow webcomics with hydrus? I've made a post parser, but now I need something to plug into a subscription or a watcher, right? Any tips / examples?
I dual boot linux and I use Hydrus on both windows and linux, using the same db. Stuff works nicely, but now on linux I have the weirdest issue (just the usual) When playing videos like mp4s... only every second video shows. The rest only play sound. However "every second" means the order of clicking on them >click on video 1 - no image >click on video 2 - image works >click on video 3 - no image >click on video 1 again - image works I have no idea how this shit happens, it's always on linux. I guess I should run hydrus from terminal and toggle mpv reporting or something?
>>24359 I had this issue before. I wish I could remember the fix, have you rebuilt your venv or are you very out of date? Looking back at my posts in a previous thread it looks like it ended up going away after some update. There was a debug mpv command added for this, see my pic.
>>24358 Basically, you need a post parser like you have, but then you need a gallery page parser that returns post urls for the post parser, and also tells Hydrus how to advance to the next page if there are more results. Once you have that, you create a GuG (gallery url generator) which is how you input a query to get the gallery urls. With all 3, you can create a subscription, which uses the GuG for queries, then runs automatically based on your timing settings for the subscription. You also want to make sure that the url classes for those pages are properly liked to the parsers. If you put example urls in the parser definition, then Hydrus will usually do it automatically, but sometimes it gets the linking wrong. So if Hydrus complains about there being nothing to parser, or not finding a parser, check the url class links menu to make sure that the classes and parsers are linked properly. The Hydrus webpage parser is kinda limited (particularly, it can't do Javascript at all) so there are many websites that just can't be used directly by Hydrus, but if you already made a post parser that works, you're probably fine there.
I'm the one who asked for the info on idle mode. Thanks for adding it. It helped me figure out the issue I was having. I had the mouse movement setting enabled for blocking idle mode, but only had it set for 1 minute. I was confused though because I never saw idle mode turn on, even if I haven't touched Hydrus in several minutes. But the idle report mode that you added made it clear that I was misunderstanding what the mouse movement setting was checking for. I assumed it was checking for mouse movement in the Hydrus gui, but it actually watches you mouse for movement anywhere while Hydrus is open, even if it's on a different window, or even a different monitor (or virtual desktop) than the one that has Hydrus. I wanted to use the mouse movement mode to have it block idle mode when I'm moving the mouse in Hydrus, since that means I'm probably using Hydrus, but let it turn on if I haven't moved the mouse in Hydrus for a little bit, since that means I'm probably not using it, so the idle mode lag won't bother me. Since the mouse movement setting looks for the mouse moving anywhere at all, that basically means that idle mode will only turn on when I'm not using my computer at all, which isn't what I want. So I turned it off, and now only have the "user action" one enabled. Anyway, that mode's helpful so thanks!
>>24018 >put your DB in the spot the DB is supposed to go, and everything should work fine. >>24037 >https://hydrusnetwork.github.io/hydrus/database_migration.html#to_new_OS >Install a fresh new hydrus on the new machine and then, using a network share or a USB drive, copy the database folder, files, and thumbnails from the old to the new. What about all my settings? There's stuff I figured out I wanted a certain way ages ago that I really don't want to have to redo and relearn, like color coding and manually ordering the display order for all namespaces.
>>24374 Your DB folder contains everything about your Hydrus install. All the options you have set will still be there if you're using the same DB
>>24375 This is awesome. I heard DB folder I thought it refers primarily to the files themselves and the tags/urls/notes applied to them.
>>24336 Thank you for reporting this. I can't carry over, since the first guy is just counting while the second guy gets richer info, but I will figure out some sort of deferred count or pause or whatever feels good and saves you time. >>24338 >>24339 >>24340 >>24342 Just to add here, if you fully deleted the PTR service under services->manage tags, and you don't see any PTR tab when you open 'manage tags', then these tags are not from the PTR. Tags won't bleed from the PTR to your like 'downloader tags' or 'my tags' etc... If you only paused the PTR sync and it still exists, then these tags could be from the PTR. If you open up 'manage tags' on one of these problem files, under which tag service tab are these tags listed? Is it 'my tags'? If you have local tags appearing on a file as soon as it is imported from hard drive, with no 'add these tags on import' stuff like sidecars or filename tagging going on, then there's two possibilities I can think of: 1) The file was in your client before, you tagged it then, and then deleted it, and then it was re-imported. Hydrus doesn't delete tags from deleted files, so all that survives a delete/re-import cycle. 2) You've done some funky tag migration stuff before, likely with a Hydrus Tag Archive or a PTR migration, using tags->migrate tags. If you set up a tag migration on 'all known files' using sha256 hashes, then hydrus can apply tags to files it hasn't imported yet. Let me know if you discover anything else here! If you hadn't thought of it, I think you can go ['system:number of tags > 0', '-creator:*'] to better find these files. >>24350 Thanks. Yeah, this sucks. I'll put some work in here. >>24354 This is an interesting question. I had intended for auto-resolution rules to have a clever 'examine pairs of lowest quality against the next highest quality first' so I could reduce some false negatives, but when I figured out the sort code for pairs, it just doesn't fit into the auto-resolution system, which I have tuned to have extremely low per-pair overhead. For now, it just reads straight off the db without sorting, and I think due to luck really, and probably legacy structures, that mostly means smaller ids first. We are seeing similar files next to each other because of similar import and tagging times. I think I agree with you--a completely random feed is more useful, and we should choose to do that. I'll have a think about it all. I still want my low overhead, but perhaps I can be clever about the initial insert or something.
(2.12 KB 512x94 buttersafe.png)

>>24358 >>24370 I have some 'how to make a downloader' help here: https://hydrusnetwork.github.io/hydrus/downloader_intro.html It is a little old, but the basics are there. A web comic is tricky because it isn't like a normal booru or imageboard. You don't put a query in to search, and there's no 'gallery' result. TBH I think the KISS answer is you just drag and drop the URL of the web comic into hydrus every time you read it, assuming you check every mondays and fridays or whatever for the page yourself. If you want to set up an automatic thing, you'll want to teach hydrus how to find the newest URL, which means a 'gallery page'. I see your URL Class is in the form domain/date/blah, which is excellent. I also see we have this nice archive page: https://www.buttersafe.com/archive/ I think you should tell hydrus that that archive page is a 'gallery'. Write a parser to grab all the page links, and that lets hydrus queue up all the Post URLs. Hitting that gallery URL a week from now will also get the new URL, and that's how the subscription will want to work. The only problem, where we have to trick hydrus, is that this site doesn't have a 'query text'. You aren't typing 'sexy anime girl' into this site to get the Gallery URL, it just has the one. My downloader engine doesn't have a slot for this yet, so you should make a fake GUG. Check my pic related. You type 'archive' as the query, and the normal URL is created no worries. That should work in a gallery download and a subscription.
>>24359 >>24363 Yeah. Due to crashing and flickering issues, I recycle mpv windows, so when you go from one video to another in the media viewer, I grab an mpv window from the pool and send the old one back to it. If you go through a sleep cycle and an 'active' mpv window doesn't restore correctly because of some GPU driver issue or whatever, you can get this situation where that continually recycled mpv window is fucked in some way, and you are seeing it 'every other time'. That debug command basically seals away all existing mpv windows and generates a fresh pool. It can 'fix' the sleep-restore issue, but if you get a bad mpv window very regularly, during normal Linux work, there might be something else going on. I apologise for how much of a headache this is--my mpv solution is really held together by duct tape. I have a help->debug->report modes->mpv report mode. It'll spam a LOT of stuff to log. If you can turn that on as a broken mpv window is instantiated and then a couple times as you try to load a file to it, maybe we'll learn something. Most of these problems on Linux are solved by: 1) Editing the mpv.conf in your db dir. Usually disabling some audio driver or something that your OS has trouble with 2) Moving from a build version of Linux Hydrus to the source version. Source version nearly always runs mpv better: https://hydrusnetwork.github.io/hydrus/running_from_source.html Let me know what you discover! >>24373 Great, thank you for the feedback! I will make it more clear that's what I am testing. >>24376 Thanks I'll make a note in that section about the db holding everything.
>>24379 >Thanks I'll make a note in that section about the db holding everything. I'm not sure that's necessary, I'm just retarded.
I've got Hydrus working and my whole db copied over to Linux/CachyOS now. However two things. I hate the fucking Wayland icon that's replaced the Hydrus icon and I hear Wayland is fucking gay. And I can't fucking get libmpv1/libmpv2 to get the media player working for files with duration. Instructions say apt install libmpv1. Firstly, every time I do this it want to also open some huge help menu. Secondly, closing the help menu and choosing install returns No manual entry for libmpv1. I already have mpv player itself installed, but the instructions say that that is different from having these libraries installed.
>>24383 using bazzite and linux for the first time and I actually have the exact same issue and was looking for what to do
>>24384 I hear bazzite is even more of a pain to install things onto due to being immutable, so good luck. I chose CachyOS over it for that exact reason.
>>24383 >>24384 okay after looking around and at the past thread I found this >>23486 anon's bit about dropping [code]DISPLAY=:0 WAYLAND_DISPLAY=[/cod] into my launch script to do the trick right away also nipped the issue where panning images was massively over sensitive didn't really know what wayland was and kept glossing over the warning in the docs (the first suggestion there didn't work either) thank you anon
>>24386 Yeah, it's been a bit tricky, especially given so many guides and info for linux out there assume you can just go into the terminal and dl shit no problem I installed hydrus from source via a distrobox and things seem to be going well, now that the mpv issue is done with.
>>24387 How do I modify the launch script? And this seems to be about fixing some other display issues? Will this really also fix Hydrus not loading mpv? >>24388 I just extracted the tar file for 640, the same version I had on Windows, before micgrating. I don't know jack about running from source yet.
>>24389 Oh, I also tried following the "run from source instructions", but sudo apt install python3-pip doesn't work. It just returns sudo: apt: command not found.
>>24390 Figured it out. Hydevs instructions probably only work for whatever distro he's on. For CachyOS, the command is sudo pacman -Syu python-pip and probably a similar format change for the venv install as well.
>>24391 Oh wait, Python 3.3+ already has venv setup.
So I managed to install from source, jumping only two versions from 640 to 642. I couldn't figure out how to get libmpv1, but instead I cloned and installed the libmpv.git package from the AUR. This wanted to overwrite a file used for the mpv player, so I let it, breaking mpv. Not even sure this was necessary, but I have other players I can used outside of Hydrus. I ran it, and things immediately got really funky as soon as I try to touch anything animated. If I click something animated, instead of displaying it in the preview window, it immediately opens a new media viewer window and plays. It cannot be paused and there is no UI for this window at all. Once a video window is open, the main Hydrus window suffers severe UI glitches, cloning random parts of the UI in various places, and cannot be used properly. Attemping to close the video window will throw an error notification, >the file with has "a bunch of fucking characters" seems to have failed to load in mpv. In order to preserve program stability, I have unloaded it immediately. This freezes the video, but does not close the window, and at this point shutting Hydrus down is the only option. Something neat I noticed about CachyOS though. When I copied my 200GB+ db folder into the source hydrus folder, it didn't waste another 200GB, but instead has the new folder just also point to the same files where ever they actually are in the system. Wangblows would have just needlessly created another 200GBs of files. Pretty cool. I can open either the 640 install or or the 642 source install and they both find all my files just fine.
>>24387 >>23486 (Cross-thread) I figured it out. Thanks a ton. I ran DISPLAY=:0 WAYLAND_DISPLAY= ./hydrus_client.sh and it just werks now. Other things I tried >Opening the .sh file in Kate to try and paste DISPLAY=:0 WAYLAND_DISPLAY=, but it felt like a bad idea so I didn't >/hydrus_client.sh DISPLAY=:0 WAYLAND_DISPLAY= >DISPLAY=:0 WAYLAND_DISPLAY=/hydrus_client.sh Now I just need a way to modify the launch like anon said so I don't have to do this in command line every time.
>>24395 It's also blazingly fast after the first time loading thumbs. Instant playing and seeking of even my largest 4GB videos.
>>24395 >Now I just need a way to modify the launch like anon said so I don't have to do this in command line every time. Got it. I even found the hydrus.ico in /static and made the shortcut look nice. >Right Click Desktop >Create New... >Link to Application >Application >Name: Hydrus Client >Enviroment variables: DISPLAY=:0 WAYLAND_DISPLAY= >OK At first I tried pasting DISPLAY=:0 WAYLAND_DISPLAY= into Arguments:, but that just broke it the shortcut.
I have run into a workflow effecting issue in CachyOS with Hydrus 642 from source launched with the DISPLAY=:0 WAYLAND_DISPLAY= enviroment variable. When I press F3 to edit tags while in the media viewer, and then press it again to exit the tag manager, I can no longer enter the tag manager without clicking on the media viewer. It loses focus on the media viewer window, probably as soon as I open the tag manager, but doesn't return focus to the media viewer window upon closing the tag manager like it used to. I could just not close the tag manager as I scroll through the media since tags are automatically applied here, but it is a bit annoying. Normally I'd close the tag manager and hit F7 to archive a file that I then thought was mostly tag-complete. It also means I can't navigate between files in the media viewer with the arrow keys after I finish tagging something, just the mouse scroll wheel since it doesn't care what window is in focus.
>>24398 The same issue applies to the thumbnail viewer. Opene the tag manager, and then closing it, does not return focus to the window, and I have to click on Hydrus again. This makes it a real pain to do group tagging.
>>24386 >>24384 The Hydrus flatpak works just fine imo. You might need to give it broader permissions to put your db elsewhere but that's it.
>>24400 I tried the flatpak but it's outdated by a few versions and really just wanted the capability of building from source myself I'm good now though it seems >>24398 Hmm, the DISPLAY=:0 WAYLAND_DISPLAY= doesn't affect my tag dialog that way. Also appreciate the mention about the shortcut, I wasn't too worried about it since I could get the hydrus icon to display on the toolbar by choosing "q" in the setup venv for Qt but I couldn't change the icon for the startup shell script
>>24401 >Hmm, the DISPLAY=:0 WAYLAND_DISPLAY= doesn't affect my tag dialog that way. I'm not trying to say it is, I was just giving full information about my setup.
>>24402 oh okay, I just wanted to chime if if you were thinking that might've been at play>>24402
>>24401 Oh, and the desktop is KDE Plasma, since I'm guessing that's in charge of window focus and how it interacts with Hydrus is the issue.
>>24363 >>24379 Thanks both of you, I'll check it and report back when i'm back on linux, I booted into windows for the weekend because of gaming, ofc hydrus works perfectly here. really makes me think why I bother with linux, stockholm syndrome at this point
Is there a way to get around cloudflare checks?
Hello, I was trying to do stuff with parsers... Anyone know how to implement a "child post" uh parser? So when it goes through the gallery pages, gets the posts and subsequently gets the url to the gallery page with additional posts linked to the "parent post" it adds those to the links to be downloaded?
>>24359 >>24363 Encountering this as well now, from a fresh startup too. It was working just fine yesterday. The debug command fixed it. Thanks.
Would you mind adding a sort of "conditional" template syntax to the export file name patterns? By that I mean, a way to have something be added to the filename of an exported file, but if it's not present (so the placeholder ends up just being nothing) then you add something else? Specifically in this case, what I want to do is add a file's filename tag if it has one, but if not then its title tag, and if not that either, than its Hydrus ID. afaik there isn't currently a way to do this, so currently if a file doesn't have a title tag, it just ends up having the filename `.png` or something like that.
Now that I'm on CachyOS, the "set child" and "set parent" boxes in the the tag parent manager window are both super wide and take up more space than I have, forcing a horizontal scroll bar for that window. Is there a way to shrink them? Nothing in the GUI settings seems quite right to me.
>>24393 >When I copied my 200GB+ db folder into the source hydrus folder, it didn't waste another 200GB Not to harsh your mellow but that's not just a Cachy thing, almost any FS that Linux uses can do that, either with symlinks or Copy-On-Write (COW). FS's are just way more mature on Linux compared to Winblows. It may be a Cachy thing to do it through the GUI though.
>>24414 >Not to harsh your mellow Why would that harsh my mellow? This is still amazing and way better than Windows. Even more so it drives home how shit Windows is if this is mostly standard for Linux distros.
>>24415 Really it's more so I don't have to say >uhm, ackhtually but also some people (4/g/ users) are kind of protective about their distro choice, me included.
>>24416 I only just switched. Why can't Linux autists just be united in their hatred of Mac and Windows?
>>24417 All Linux autists are, it's kind of like the Balkans, where we fight amongst ourselves unless a bigger threat shows up.
>>24378 Suggestion: Reverse the order of the downloader tutorial. When you start with a GUG, it can't really do anything until you have the post parser & url class. If you start by making the url class & post parser, you immediately have something useful where you can paste URLs into a downloader or even watch your clipboard. Useful on many sites even those that have no gallery.
(14.32 KB 251x255 2428a3f.jpg)

>>24417 >Why can't Linux autists just be united in their hatred of Mac and Windows? No comments.
In CachyOS with KDE Plasma running Hydrus 642 from source launched with the DISPLAY=:0 WAYLAND_DISPLAY= enviroment variable. Drag and drop seemed to work fine at first, but now it's almost totally inconsistent whether it decide to properly drag and drop files into my browser, Ungoogled Chromium. If I manually export the files to a folder first, then drag and drop behavior seems inconsistent as well, but I can force it to work by Ctrl+drag and dropping. However, I can't do this in Hydrus, because Ctrl+clicking has the function of selecting/deselecting whatever I click. Is there a solution?
>>24421 Also, I have tried checking and unchecking the "move flag bugfix" option under file->options->exporting->drag and drop and it resulted in no change to drag and drop behavior.
>>24421 >>24422 I found a setting in KDE plasma that changes the behavior of drag and drop. Changing it to the latter option mimics standard Windows behavior somewhat, and makes it so I don't have to Ctrl+Drag to consistently drag files from a folder to my browser. However, it has had no effect on dragging files from Hydrus, both with and without the move flag bugfix.
>>24398 >>24399 I've found some settings in KDE Plasma that effect Window focus. I fiddled around with "Focus stealing prevention" a bit which led to some weird behavior, and then noticed the setting, >Multi-screen behavior: Seperate screen focus It didn't hit me at first, but I have my tag manager and main Hydrus window on different screens so I can have plenty of space to enter and read the tags for file(s) while actually looking at the files to make sure those tags are correct. Unchecking this option fixed things immediately. Now I just need drag and dropping to browsers working again.
I had a good week. I cleared some more duplicates work, fixed some file import crashes, finished the new smoother and more stable mpv interface, and added animated JpegXL support. The release should be as normal tomorrow.
Is anyone else using the experimental Qt Media Player as the video player? Are there meant to be media controls overlaid over the video or is it normal that it's the video itself and no seek bar? I'm on Wayland so mpv doesn't work great (it does play, but with significant caveats that make it infeasible) but Qt Media Player actually works pretty well and doesn't seem to be as crashy as the description suggests, at least on my system.
>>24356 >new mpv thing I unchecked the box, restarted, and everything ran just fine. Videos in the preview window and in the media viewer will run and loop fine by themselves. I can click through the seekbar, pause, and unpause. I can use hotkeys to seek, pause, and unpause. All good! let me know if there is anything more specific you'd like me to test. I did see: `v642, 2025-10-15 15:53:27: [MPV error] main: Too many events queued.` a couple times, but no spam.
https://www.youtube.com/watch?v=NZRUQE1AnWQ windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v643/Hydrus.Network.643.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v643/Hydrus.Network.643.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v643/Hydrus.Network.643.-.Linux.-.Executable.tar.zst I had a good week. There's some duplicates and mpv stuff, and animated jxls. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html future build Only for advanced users! I am making another future build this week. This is a special build with new libraries that I would like advanced users to test out so I know they are safe to fold into the normal release. More info in the post here: https://github.com/hydrusnetwork/hydrus/releases/tag/v643-future-01 highlights When you search for duplicate pairs, the count label now gives an estimate once it hits 1,000 matches, rather than counting exactly all the way to the end. Let me know how this feels with real world data. The suggested rules in duplicates auto-resolution get another couple tweaks, and I added an "AND' comparator for clever OR blocks. The new mpv interface is polished and switched on for everyone. When you scrub through a video, it should now be a bit smoother. Crashes and other problems should be rarer. If you suddenly can't play anything with mpv, hit up options->media playback->LEGACY DEBUG: Use legacy mpv communication method to go back to the old way. Hydrus now supports animated JpegXLs! I hacked it together with ffmpeg, so it isn't super beautiful and it can't do variable framerate, but it works. I'll keep checking in future for native library support (and mpv support--it was pretty log-spammy when I tried it) so we can make this nicer. The 'manage tags' dialog now has a 'deleted mappings' label and show/hide button that appears when the list above actually has some. I've always had awful support for undoing deleted tags (previously you had to dive into the cog menu button, and it wouldn't remember between dialogs), so we'll see how this goes. Some PDF/SVG import crashes are fixed. next week I want to add transparency support to my visual duplicates test.
(100.82 KB 632x775 Screenshot_20251015_204417.png)

(100.61 KB 472x438 thing.png)

>>24437 running the prebuilt linux one on bazzite 42 it boots gets this upon about->help opening files with audio don't seem to have audio playable, file still plays though and the video works, no crashing weirdly enough. I assume this isn't mpv being used.
(130.73 KB 919x565 Screenshot_20251015_205659.jpg)

>>24439 MPV not found. Also I see your install directory is in VAR, kinda you are running the Flatpak version instead of the Source one that works every time.
>>24441 that was the future build i downloaded straight from the github, no flatpak involved my main client is from source as well
(646.55 KB 1078x1795 Untitled.jpg)

>>24442 I'm not devanon but you may want to try the source version. If your system has already installed the libmpv library, and/or the MPV player software, the source package must work. https://github.com/hydrusnetwork/hydrus/releases/tag/v643-future-01
(90.85 KB 595x745 Screenshot_20251015_212832.png)

(112.58 KB 2050x1210 Screenshot_20251015_212818.png)

>>24443 good idea having built the venv it booted and didn't scream anything upon about opening Opening a video file caused ui errors, the file played but couldn't paused and only closed, attempting to reopen the file caused a crash (not sure where the crash file is tbh)
tested and upgraded to v643-future-01. Win Server 2022, no issues.
>>24383 I use Fedora. #1 make sure you're running from the "source" build. It's not really source it's binary. The "Linux binary" build is for Ubuntu only and breaks when distros put libraries in different locations. You will need mpv and mpv-libs (or whatever the mpv library package is called) >>24393 Wow CachyOS has built in deduplication? That's cool. ZFS filesystem? >>24411 >>24398 This is probably related to your distro and breakage between the specific packages that make up Arch. At this point I think you're reporting CachyOS/Arch issues more than Hydrus ones. That's why I don't use Arch :P >>24421 >>24425 Wayland in general is going to be buggy. I'm going to assume it's a CachyOS/Arch issue. Please try a more stable distro like Debian or Fedora. I've had horrible experiences with Arch's instability.
>>24417 The UNIX philosophy. Every part of the OS is an independent module. Anyone can build their own custom distro using the GNU utilities and Linux kernel. There's so many choices it's hard to pick one unified way to do it. Another factor is licensing. GPLv3 and MIT. GPLv3 is like HIV. If you use any GPLv3 code in your project, and the WHOLE project has to be licensed the same. This heavily discourages commercial advancement of the software. IBM does contribute a lot with Red Hat, but it's mostly highly technical background stuff for server use only. Now the MIT license. It lets you take the code and sell it commercially without releasing the source code. Now you have the opposite problem. Look up "Intel Minix." The most deployed operating system in the world, because it's running on a second CPU on all Intel chips and is used for deploying malware for governments (through intel AMT/ME). How much money did the MiniX OS dev get? ZERO DOLLARS! Mac OS uses older versions of Linux utilities that are MIT licensed. Now apply this to the shitpiles that are Linux githubs. I've made 100% factual, basic, recommendations to get feature parity with things like Max OS. 100% indisputable objective improvements for the user experience IN LINE WITH THEIR DESIGN PHILOSOPHY. Then the response is some canned bullshit like >*trans flag* uhhh a problem of open source is having options so it's bad to improve things in line with our minimalist design philosophy >*trans flag* uhhh people might not like that >*trans flag* uhhh it's a free project so you can't complain that I use it to feel superior! Then there's the problem of Indians and other shitty devs adding to repositories just to add shitty code so they can add projects to their resume. You can see it in Windows 11. FUCKING FILE SEARCH IS BROKEN. FILE GROUPING SUCKS ASS. START MENU SPIKES CPU USAGE. START MENU SEARCH HAS BEEN BROKEN FOR OVER A DECADE. Want to see the opposite of this lib-left anarchist shitpile that is Linux? Look at Hydev! Dev-sama! A single person making an exceptionally customizable and advanced piece of software with minimal help. A true gem who should actually be a professional corporate software project manager. /rant sorry for the wall of text
>>24451 >I use Fedora. #1 make sure you're running from the "source" build. It's not really source it's binary. The "Linux binary" build is for Ubuntu only and breaks when distros put libraries in different locations. >You will need mpv and mpv-libs (or whatever the mpv library package is called) Sorry anon, my issue was already resolved. >>24395 >>24397 >>24451 >ZFS filesystem? BTRFS >>24451 >This is probably related to your distro and breakage between the specific packages that make up Arch. At this point I think you're reporting CachyOS/Arch issues more than Hydrus ones. That's why I don't use Arch :P The issue with focusing was already resolved. Just a minor tweak to KDE Plasma focus rules. >>24426 >>24451 >Please try a more stable distro like Debian or Fedora. That sounds like a ton of fucking work, and also CachyOS is allegedly optimized for games. I've already gotten 5 different console emulators working on it. >>24452 >Another factor is licensing. GPLv3 and MIT. GPLv3 is like HIV. If you use any GPLv3 code in your project, and the WHOLE project has to be licensed the same. This heavily discourages commercial advancement of the software. IBM does contribute a lot with Red Hat, but it's mostly highly technical background stuff for server use only. >Now the MIT license. It lets you take the code and sell it commercially without releasing the source code. Now you have the opposite problem. Look up "Intel Minix." The most deployed operating system in the world, because it's running on a second CPU on all Intel chips and is used for deploying malware for governments (through intel AMT/ME). How much money did the MiniX OS dev get? ZERO DOLLARS! Mac OS uses older versions of Linux utilities that are MIT licensed. So you have one where absolutely no one can make money off the code you've made, and one where only other people can make money off the code you made? Why is there no in-between? Why can't I license something such that >My code is free and free to use for other free projects, because it's useful >But if you decide to sell anything using that code, you have to give me a cut as you're profiting off my work
(850.12 KB 1159x955 wtfpl.png)

(53.23 KB 551x380 StrongestPL.png)

>>24458 >Why can't I license something such that You can do anything you want if you write your own license, it's just more work because your custom license isn't battle tested and you are going to have to spend time in court if someone decides to ignore it's terms (potentially to no avail, if your brand of simon says isn't legally enforcable). Also nothing actually prevents you from selling/making money from GPL stuff, there are multiple games that do so even without exploiting the loopholes at all. (Said loopholes are also why the actual 'fuck corpos' license is AGPL, btw.) There is also the fact that as the creator you can hand out sub-licenses to whomever whenever you want so whatever license you put on there is only the default.
>>24458 > So you have one where absolutely no one can make money off the code you've made, and one where only other people can make money off the code you made? You can absolutely make money off GPL software, it's just that companies are so greedy that money is not enough for them. They also want you to be dependent so when they cut off support your software or hardware becomes trash and you have to buy a new one. They want you to own nothing and be happy. Let's say I want to make some application using a GPL library. Then my entire application becomes GPL. So what? I can still charge money for it. Now if I sell it to Bob and Bob wants the source code I can ask him for the receipt because people to whom I have given the software are entitled to the source code. If Alice comes to me asking for the source code and she is not my customer I can tell her to fuck off. Could Bob make money re-selling my software? Sure, but why would anyone but it from some other guy who does not understand the code instead of from me where they can get actual support? Yeah, Bob could give away the software for free, but that's no different from software piracy which is already happening, so what is the loss? The only loss is that I cannot rip Bob off. I cannot tell him "buy the upgrade, goy" because if he wanted to he could repair the software himself to be secure and run on modern systems. Is he going to do that? Maybe, maybe not. But just the fact that he could if he wanted to is already too much for these greedy pieces of shit. Doom is a great example of commercial GPL software. The game is still being sold long after id lost interest in it, and it's still making money. If anything, id was profiting off free work done by the community to keep up interest in that old game. >Why is there no in-between? Why can't I license something such that >>My code is free and free to use for other free projects, because it's useful >>But if you decide to sell anything using that code, you have to give me a cut as you're profiting off my work Such a license would be non-Free because it goes against Freedom Zero (to run the software for any purpose) and non-Open Source because it discriminates against fields of endeavor. The problem is that it is maintainer lock-in. If you get bored of the software and no longer want to maintain it no one else can. I would not touch this sort of shit even for free. It's the same greedy crap.
Now that I've been using Linux/CachyOS for a bit, I've noticed Hydrus can be pretty slow. I thought it might just take a while for some things the first time, because it was a fresh install on a new OS or something and some background work might need doing, but the slowness is persisting. Initialising on startup always took a few seconds before on Windows, but it takes much longer now and running a new search takes significantly longer. I'm constantly getting randomized one-to-several-seconds of hang time doing anything but scrolling through small files in the media viewer, though half the time it's still instant. Tag auto-complete, hitting enter to add a tag, opening the tag manager, closing the manager, all hanging very often. It's even worse if I'm concurrently doing something like a large file transfer elsewhere, but whether or not my computer is multi-tasking, my resource use seems pretty low. I tried closing all other applications save for System monitor. I had Audacious that wasn't currently playing anything, a text file open in Kate, and 4 tabs in Ungoogled Chromium. All this cut about 2 gigs off my total memeory usage. Once I did this, Hydrus ran a little better, but there was still barely a bit of hanging. My CPU usage didn't break 15% and it only went over 5% when doing intense scrolling of thumbnails, GPU didn't break 45% and only for the largest videos did it go over 35%, Memory didn't break 6GB, including other brackground processes. Having opened everything again, the general hanging seems to have remained barely noticeable, so it may just be random. I tried loading in 1000 files with duratoin sorted from largest to smallest, both with and without other programs active. Even though it took a while, I saw no spike in any resource usage. All of this was much faster in Windows, which surprises me given I expect Wangblows to have much more unneccesary overhead. Is Hyrdus's use of resources being limited by the default settings of CachyOS or something? Can I allow it to use more resources?
I can't download from Kemono. I duplicated all the existing downloader components from kemono.su and replaced everything with kemono.cr, and the URLs now get recognized by Hydrus. I sent cookies from kemono.cr to Hydrus as well, but I still get 403 errors. Has anyone been able to get Kemono working since they switched domains?
>>24391 I'm no expert at Linux, but if you were able to get this going with pacman rather than apt, can you tell me the lines you had to go through, other than this, to get going? I'd love to update the source help to have non-apt stuff, but I don't know what I am talking about. >>24395 >>24397 If you look inside hydrus_client.sh with a text editor, it talks about a 'hydrus_client-user.sh' you can make for custom script stuff. Github won't touch that filename, so feel free to dupe and rename the script and add your envs and stuff inside, whatever you need. >>24398 >>24399 >>24426 That's super interesting that the OS has a setting for it. I do have a bunch of hacks that try to force this focus stuff to work as you want, since different Window managers do screw around with this behaviour, but I hadn't heard of screen-separate focus stacks before. >>24406 Change your IP sometimes works, otherwise check out Hydrus Companion. Get into the site with your browser, then copy user-agent and cookies across to hydrus. https://gitgud.io/prkc/hydrus-companion Otherwise look at gallery-dl or hydownloader (which uses gallery-dl) for difficult sites: https://gitgud.io/thatfuckingbird/hydownloader >>24408 I'm not sure of the exact shape of what you are describing here, but you generally don't have to do anything too clever to get that stuff to work. Check out the Pixiv parser for an example, but your gallery parser should probably produce a list of Post URLs. If those Post URLs produce multiple URLs, then those will be queued up as child URLs. If those child URLs are recognised by URL Class as Post URLs, they'll get parsed, and if they have no URL Class or are explicitly File URLs, then they'll be downloaded directly. Make sure everything has an URL Class, and unless you are being very clever, try to make your initial Gallery URL parse produce Post URLs (i.e. don't try to make a Gallery URL produce a Gallery URL other than a 'next page URL'). If a Post URL can produce multiple sub-Post URLs or File URLs, make sure its URL Class says 'can produce multiple files'. Any URL will get its parent (i.e. the guy that created it) as its referral URL, and it inherits any tags and stuff parsed by the parent too. If you have complicated metadata parsing, then once you are up and running, hit the 'file log' and right-click stuff to see what tags were parsed by each level.
>>24475 >I'm no expert at Linux, but if you were able to get this going with pacman rather than apt, can you tell me the lines you had to go through, other than this, to get going? I'd love to update the source help to have non-apt stuff, but I don't know what I am talking about. I don't know what I'm talking about either. I'm running around in the dark. Every issue I've encountered and resolved that I can actually recall, I've certainly posted in this thread already.
>>24410 Tell me about it. I hate how the export patterns work and I totally agree. If you look at the 'tag banner' stuff under options->tag presentation, that was the tech I originally planned to replace this, but I kind of fucked it up and it is awkward to work with. I wanted some logic for stuff like 'if there are parent tags, take the top tag parent of the same namespace' and stuff too to collapse some spam. It has been on the back burner for a few years. I just rewrote all the actual raw 'generate a filename part' here in the past few months, so maybe I'm a bit freer to throw weird stuff at filenames now, since I know slashes or quote marks or simple character overruns will be dealt with. I'll keep this in mind and have a think. Maybe the answer is to have an object that can work in a simple mode if you just want to type out '{hash}', but also a more complicated mode that allows for conditional stuff. >>24411 Try right-clicking the multi-column list header. There should be something like 'reset settings for (id name)'. Otherwise, you are basically looking at scrolling the sub-panel all the way to the right so you can see the last column's rightmost caret and dragging it back to a normal size. Sometimes this shit goes bananas (because I am dealing with some stupid legacy code I wrote years ago) and the initial or some recalculated width somewhere is bad. Let me know if you run into a dialog/list whose width you fix once but then it reliably breaks again (or grows five pixels every open, can also happen). >>24419 Thanks, good idea. I'll have a look at it. >>24421 >>24422 Yeah this option is the best shot from my end. Let me know if you try it and it doesn't work. Drag and Drop problems in OSes tend to be permission related, and I bet Wayland and/or Flatpak, which are very careful about UI permissions, are going to be particularly touchy. In Windows it tends to be DnDs between programs where one is admin mode and one isn't. In many modern programs the permissions issues are more granular, and they are worried about a move flag vs a copy flag, which I guess is what you are seeing with the ctrl+DnD working while the bare one doesn't. Hydrus sets the copy flag, and that debug option sets a move flag, which some older versions of discord needed for reasons I do not understand and were probably incidental. Try the 'copy to temp folder' setting there too. If it fails the 'it sucks' solution is to drag and drop to a folder on your desktop and then from there to the destination. Let me know if you discover anything and would like me to add any debug mode for the hydrus side of stuff. >>24435 I could never fix the issue with the seek bar. The widget does exist, but the Qt Media Player initialises some OpenGL window, I think, that is 'always on top' and it draws over my controls. I was mostly putting work off on this until reworked my whole media player layout system, which is still completely fucked atm, so I can make a 'put the seekbar below the video' mode. I'm sorry to say the Qt Media Player is a huge pain in the ass to work with, or at least it was. My overall plan has been to figure out a secondary, safer mpv rendering solution, but I'm somewhat open to revisiting the Qt Media Player. I'll try and keep this in mind when I eventually get to the media viewer layout overhaul, but please remind me at that time if I forgot. >>24436 Thanks, I saw this earlier. Good stuff. Yeah, I got the 'too many events queued' thing and in v643 I have reduced those. You have to spam the seekbar pretty hard on a heavy video for like twelve seconds to get it to pop up now. Let me know how things go for you in future! >>24439 >>24441 >>24444 Damn, that's a shame. It worked ok on my Mint. It is good that the connection can be made when you run from source. I'm encouraging all Linux users to run from source if they can, since anything too not-like-Ubuntu just won't load the more complicated packaged libs like mpv. The 'mpv goes crazy' and the nested menubar are classic symptoms of hydrus in Wayland. Do you think you are running in Wayland (rather than X11)? If so, check the Wayland stuff here under the Linux tab: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#installing Open the hydrus_client.sh script to see how to make your own 'hydrus_client-user.sh' copy, and add the environment variables that help suggests. Is everything suddenly fixed? Check this thread and the previous one for more users grappling with this, and let me know how you get on! If you want to capture a crash, hit up help->debug->debug modes->use faulthandler to log crashes and then try to trigger the crash. A bunch of thread data will be written to your 'client - date.log' file in your install_dir/db directory.
>>24447 Great, thanks! >>24472 options->speed and memory is the main place to handle this stuff, but if you are getting seconds of actual non-responsiveness during normal browsing, that doesn't sound like a cache issue. My code still sucks really bad in some places, and if your Linux is enforcing some policy somewhere, maybe that is expressing itself in a way that Windows is unwisely/wisely skipping over. Please check out help->debug->profiling and pastebin or email me some profiles of your slow stuff, and I'll have a look. I actually got two sets this week of some slow big sessions (big downloader pages, looks like), so watch for v644 too. >>24476 Ok, no worries. I'll do some research and update that help to talk about non-apt stuff too. The tone I want to aim for is 'you need python and venv mate, it doesn't matter how'. I've been using Linux on and off for decades but switched to a Mint desktop this year. It sounds dumb, but ChatGPT has been invaluable. There's a billion Stack Exchange threads about some weird conf file you need to get your USB thing to mount or your keyboard layout to work, and it has read all of them. The shit that was driving me nuts in previous attempts at a Linux desktop was now doable because I can just ask ChatGPT and it'll generally give me a decent idea of what conf I should be looking at or how to interpret some log.
>>24477 >Try right-clicking the multi-column list header. There should be something like 'reset settings for (id name) That fixed it! Thanks. I didn't even notice those were super wide for some reason because the "notes" column was out of view when scrolled to the left. I'm guessing I exteneded them some time ago for longer tags, but it was before the notes column was added? Or just some inexplicable jank caused by all the switching over I've been doing. >Yeah this option is the best shot from my end. Let me know if you try it and it doesn't work. >Try the 'copy to temp folder' setting there too. Was doing that by default, as it's the only way to retain filenames when exporting. Also, the move flag bugfix cannot be enabled without this being enabled first as well. I'm having issues with regular drag and drop even from my file browser to my internet browser, and it seems to be an unresolved issue with KDE. https://archive.is/55mQX https://bugs.kde.org/show_bug.cgi?id=484018 Given that, there's probably little to be done about it until someone works on fixing KDE itself. >options->speed and memory is the main place to handle this stuff I found a couple things to raise that might help in other area since I have the memory to spare, but nothing that would effect where I've experienced slowdowns. At least with this I can sacrifice some memory in order to seamlessly scroll through my few super huge alternates that are around 8000x5000. >Please check out help->debug->profiling and pastebin or email me some profiles I noticed there's a popup that counts how many fast and slow jobs there were. Set it to db profile and managed to get 6 slow jobs and 15 fast ones iirc by loading a page with 1000 of my largest files withouth duration. Since I had already done files with duration and didn't want cacheing to muddy the waters. Took like, 15-20 seconds I think. I've emailed the log. I'll try to remember to turn on profiling if I see the other hanging issue. This one is less of an issue, but things like the tag manager and tag autocomplete hanging even slightly throw me way off when I'm processing files quickly. >ChatGPT I can't even get a local AI chat model to consistnently speak in second person. It baffles me that this is somehow consistent enough to reliably learn about code when the text generator literally doesn't understand whether something it says is true or not.
>>24478 >>24479 Oh yeah, that log is still on Hydrus 642. I can update if necessary. Updating from source isn't too much different, right?
>>24480 (You) Oh thank God, it was easy. Even faster than regular updating by running another .exe. I'm starting to get used to basic things being a headache on Linux/CachyOS.
>>24478 >>24479 Managed to catch it acting up again while doing some manual tagging. Turned on db profiling for a minute. 98 slow jobs, 213 fast jobs. Will email it soon.
>>24452 This anon knows his craft. R
When I use manage tag siblings, any way to make it also delete the replace "wrong/old" tags from all my images and automatically replace it with the "correct" one whenever I download an image?
I had a great week. I cleaned a bunch of old code, figured out transparency comparison in the 'visual duplicates' test, improved transparency detection for all files, and optimised some file and UI work for very busy cilents. The release should be as normal tomorrow.
Yo! I'm fairly new to all of this. I recently got a system set up with Hydrus (database), Hydownloader (for downloading), and Hatate (for checking the thousands of files I already have downloaded over the years). I was wondering does Hydownloader not work for Twitter? I saw some threads from 2023 say it doesn't work but I just wanted to check if that ever changed. I was able to get WFdownloader working for twitter but WF rapes the file size and I like having meta data. Oh another thing. Can you add the metadata side bars for more websites? They're useful for me as an artist but they don't work for every site (most notably instagram) I'm fairly new to all of this. Is this the best place to talk about Hydrus?
Can someone else test the gelbooru downloader? It seems to not download "all site content." I made an account, login successful, "display all site content" is saved in accoutn settings, and the search still only returns 2 results. I'm searching zhou135627 for reference. >>24458 >So you have one where absolutely no one can make money off the code you've made, and one where only other people can make money off the code you made? Why is there no in-between? You're touching on the difference between "open source" and "free" as in freedom software. You can resell GPL software, but what's the point if I can download it from github and compile it? Why would I pay you? You can have open source, "non-free" software, but that's hard to enforce since the code is sitting there for anyone to use. Especially if they use it in a proprietary program, how are you going to prove they stole your code?
>>24497 Did you send your cookies/http-headers to hydrus? Gelbooru stores that setting in one of those(should be the headers iirc) so you don't even need an account for it and it should still work if hydrus has them.
>>>24496 I'm not hydev or the hydownloder dev, the programs work together but they aren't related, just in case you were unaware. Not trying to sound mean or anything just ensuring you know the difference. I also use hydownloader and it works for twitter for me. I'm not sure what I did, but I think I probably sent my cookies over through hydrus companion. What do mean by metadata side bars? If you mean pic1 you can enable them in network>downloaders>manage downloader & url display>media viewer urls. I'd say this is probably the best place, hydrus is mentioned on 4/g/ occasionally but it's usually not the thread topic. This place is actually consistent which helps a lot. >>24497 I'm getting 49 items with that search. Are you logged in through hydrus' login tool? Also most people are too lazy to compile, even though it's usually not hard, occasionally it can be a real bitch though so I can also see wanting to skip the hassle. Also also, if code reacts in a specific manner you can prove it is yours, apparently. Lawsuits have been won by the FSF after all.
>>24502 >>24497 I am illterally literate, it says right there in your post login successful. I guess try what the other anon said.
>>24496 No one has shared an updated 'downloader' for Instagram since 2020 afaik. If you have any requests for sites besides instagram I might give it a try. Just give me some example URLs. Instagram requires a Zuck account to access, right? Not too keen on stuff like that personally. The downloaders that add automatic metadata to your files can be created/imported without updating hydrus. Someone with a bit of html/regex skill just needs to make one for that site. When the site gets a new layout, often the downloader needs to be updated, which is probably why the Instagram downloader is broken.
https://www.youtube.com/watch?v=WGkBMPgt8oc windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v644/Hydrus.Network.644.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v644/Hydrus.Network.644.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v644/Hydrus.Network.644.-.Linux.-.Executable.tar.zst I had a great week. There's transparency stuff, duplicates stuff, and busy client stuff. On update, you will probably get a popup about 'Hey, you have 12,345 files with transparency, do you want to recheck them?'. I recommend saying yes. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html new libraries I am folding the updates from last week's future build into today's release. There do not seem to be any special update instructions needed, but the Linux build is moved from Ubuntu 22.04 to 24.04, and it seems to have broken some users' mpv. If you are a Linux user and mpv stops working for you today, I recommend you move to running from source: https://hydrusnetwork.github.io/hydrus/running_from_source.html Thanks to a user, the Docker package is updated from Alpine 3.19 to 3.22 and has a richer VNC library. transparency I recalibrated how hydrus interprets transparency this week. There are many files that have a handful of random 98% opaque pixels due to encoding or brush artifacts. This is invisible to the human eye, so Hydrus no longer tries to render it or give such files the 'has transparency' property. On update, you'll probably get a popup asking if you want to rescan your existing transparency-having files--I recommend saying yes. The 'visual duplicates' test in the auto-resolution system now supports pairs where both have transparency. The test isn't supposed to be too strict, so let me know if you see any new '(transparency does not match)' false negatives. duplicates The new duplicates count estimate tech is more precise. The duplicates count in duplicate pages will refresh more often, basically on any change. (I think it'll be annoying, so I'm going to work on making it respond faster to smaller updates) I tweaked the suggested rules a bit more and added 'pixel-perfect gifs vs pngs'. other stuff Clients that have very heavy sessions, including lots of importing, should, I hope, be less laggy this week. I optimised a bunch of file and UI update calls. Let me know how it feels, even if it seems the same. The window that pops up when you drop files on the client has been overhauled. It works smoother and now shows rows for files that failed to parse. Ugoiras now have the little 'animated' icon on their thumbs, even if their duration is synthetic. next week I want to improve some potential duplicates db tech. It doesn't yet nicely delist pairs when one of the files is deleted.
>>24506 >Clients that have very heavy sessions, including lots of importing, should, I hope, be less laggy this week BASED, thank you hydev for enabling my hoarding habit.
>>24506 >Ugoiras now have the little 'animated' icon on their thumbs, even if their duration is synthetic. Holyshit, Hydrus plays ugoiras files? I've been going out of my way to convert them.
>>24502 I was having trouble understanding how to make hycompanion and hydownloader work together. It said somewhere I have to edit something but I could never find the thing i had to edit.>pic1 Yeah that's exactly what I was asking about. I didn't know they were called "media viewer urls" I checked the menu and there isn't one for instagram >>24505 I don't care about using a downloader for Instagram. Hydownloader does the site well enough for me (second pic rel. It gets images and metadata but doesn't import it correctly). I was asking if there could be a media viewer url for instagram here (first pic rel).
>>24502 Update. >I also use hydownloader and it works for twitter for me. I'm not sure what I did, but I think I probably sent my cookies over through hydrus companion. Thank you. This worked for me. I figured out how to do it. Some of them have multiple "twitter tweet" media things. I'll have to fix that. Another tangential thing. This happens with every downloader (WF downloader and Hydrus) I've tried. The site (Twitter in this instance) always lists more posts than I get downloaded. >165 vs 135 Am I doing something wrong?
(28.10 KB 412x153 redacted.png)

>>24509 I think all I had to do for hydownloader was add these two things to hydrus-companion. It's right under the hydrus api access stuff. You can find it in hydownloader's data directory within the file "hydownloader-config.json".
>>24509 For instagram, you need the url mapping, even if hydrus doesn't download instagrams it needs a way to "label" the urls, for lack of a more technical term. So if you have the instagram downloader from the user repo (https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts) it should be toggleable even if it doesn't work for actual downloading. I attached everything I have that matches instagram in pic 2 in case instagram got removed from the user repo for being nonfunctional. >>24510 >The site always lists more posts than I get downloaded It may be seeing posts that don't have pictures or have already been imported. If the guy reposts the same picture hydrus will see the file matches an already existing file and will simply associate the new url with the picture, there's no reason for exact duplicates, see pic 3.
>>24506 I booted 644 after a backup since the changelogs seemingly had a lot of db stuff and it felt slower to populate than usual? But it may have been the transparency checking also happening, not sure. Although the hangs I usually get from procrastinating cleaning up hydrus seem lesser than usual so I guess it evens out.
>>24511 I already figured it out. I had to do that which I did before making the post and I had to edit the "import cookies" option in the settings. Third pic I had to add 'api = "hydownloader"' >>24512 I found why every image had multiple Twitter options. It was displaying the same link twice with a minor difference. The Github you linked worked well. Thank you! It didn't use the tags that Hydownloader grabs but it's works besides that.
Hey hydev does your visually similar auto-resolution use gpu acceleration or lots of compute or something? I have some hardware issue causing kernel panics that I've never been able to properly nail down, it is generally caused by sudden bursts of computer load, and I think hydrus is triggering it with whatever happens when trying to find visually similar pairs.
(391.28 KB 685x958 collect_the_following.png)

>>24515 >I have some hardware issue causing kernel panics that I've never been able to properly nail down, it is generally caused by sudden bursts of computer load If you have a Zen cpu disable power state 6, it causes a hardware fault in some chips. If not it might still be something similar so look up things along those lines for your chipset.
(96.24 KB 535x262 intensity intensifies.gif)

I'm not sure whether this is still a problem, but could you add an automatic bypass for when in something like URL import, the entire import queue hangs because one of its items has hit a bandwidth limit, even if there are further items that don't have the same bandwidth limit? To be more specific, say I download the default 2GB off rule34, but then queue up more downloads off 4chan. I want it to download the 4chan files immediately because they might be gone tomorrow, but it'll hang for 24 hours on the rule34 download before going any further and it needs manual intervention.
>>24515 shot in the dark, but I recently fixed some incessant graphics hardware hangs with the swiotlb=65536 kernel parameter. https://wiki.gentoo.org/wiki/IOMMU_SWIOTLB#SWIOTLB_for_high_input_output_(such_as_graphics)
>>24519 >>24517 I'll check these out when I get the chance, thanks bros.
I just realized that my hydrus isn't downloading any loli from gelbooru like a non logged in acc but I do have a login, what do I need to do to fix that?
>>24341 I'm new to Linux so I'm still learning it. Will having two versions of Hydrus on my PC not mess anything up with the database?
(111.31 KB 284x272 sauce is there.png)

>>24534 Scroll Up It's a http header you need to import, gelbooru doesn't check account status for it because they already track that option for anon users as well
>>24488 Not with this system. Before I overhauled it to the current 'virtual only' system, It supported a mix of 'hard' mappings replace and soft/virtual display-only swap-ins. It was a huge mess to deal with with many bugs, so I decided to move to entirely soft/virtual, where no mappings are hard-replaced and any decision has 100% undo-ability. I am thinking and generally planning to add a hard-replace system, something a bit like tags->migrate tags, that will be one-off powerful jobs you fire. I'm sure it will talk to siblings and allow you to hard-collapse some stuff, but there is often little actual benefit in doing this and often a bunch of frustrating pains in the ass when something unexpected happens. >>24507 I've noticed what I'll call 'navigation' lag in the past say three months in my IRL client. I click on a page tab, and one in fifty times when big imports are going on it might take 800ms to actually switch tab. I am not sure if it is the page doing some 'on page show, recalculate some taglist stuff' or if it is just some file import job eating up some CPU. I'll keep working here, so please continue to let me know how this goes, and feel free to send in some profiles as under help->debug->profiling. >>24508 It is a long story, and the answer is 'somewhat'. Basically if you import a zip full of numbered images that looks like an ugoira more than a cbz, we call it that and we've got some rendering tech. The big source of Ugoiras online, Pixiv, has some jank javascript solution to deliver frame timings, and I've been holding off for years on actually downloading Pixiv Ugoiras (the default hydrus Pixiv downloader skip/vetoes them) because I've wanted a nice way to grab this timing data and put it in a note text or .json file or something to actually embed in the Ugoira zip, but there's no really nice solutions so it all got put off. We have the note-parsing tech for synthetic framerate, which is part of what I did last week, but no nice Pixiv site-parsing solution to grab it yet. If you grab an Ugoira from danbooru or something, hydrus will import it and usually render it with a fixed framerate of like 12fps. Fingers crossed we'll one day figure out a nice solution here and we'll finally be able to get them from Pixiv, with accurate variable frame rate. Most of this work was done by a user who was keen to make Ugoiras work, and I am very grateful. I'm personally a little pissed off by the whole decade-long debacle; the way Ugoiras work behind the scenes is dumb, and imo the whole thing should have been converted to apng or something years ago (although webm is fine because almost all Ugoiras these days are jpegs rather than pngs anyway, defeating the original cool thing they did), but I'm really just expressing my frustration. >>24513 Ok, thank you. Some jobs were split into smaller pieces or made more polite, so there is a little more overhead or just latency in order to reduce lag. Some of that I'm ok with. Let me know how this continues to go, and if you notice anything in particular hanging for ages, I'm interested.
>>24515 I can't talk about the hardware or config stuff here, but to answer this specifically--yes, mostly CPU. I basically render the image to a bitmap, resize it to 1024x1024, cut that guy into like 64 tiles, and do some hardcode histogram and gaussian blur math on it. There might be a touch of GPU in there, at least initially, but it'll mostly gonk one CPU core for, I'd say, 50-400ms depending on the image and your machine and stuff. I haven't properly profiled this IRL though, so it may be a bit faster, and the follow-up delay is other stuff all floating around the duplicate filter or auto-resolution. I assume you have some duplicates auto-resolution rules that use the new visual duplicates stuff, or is this in the duplicate filter? If you do have a rule doing this, if you want to test, try turning off the duplicate auto-resolution rules work in 'normal time' and 'idle time' under the cog icon in a duplicates page->auto-resolution tab. The rule won't do anything and no visual duplicates work won't happen outside of the duplicates filter. You can schedule this work under options->maintenance and processing also. I can't slow a single job down, but you can reduce the size of the bumps to minimum size by changing the 'packet time' for duplicates auto-resolution work to like 100ms and boost the rest percentage to like 9000%. That'll mean it usually just only ever does one meaty job and then takes a break for ten seconds. There are other times that hydrus eats up CPU. The bigger your client, the more it'll happen. Similar files search can be pretty meaty, and PTR processing, and file imports in general. If you've noticed this just recently, I'd hesitantly say that it might be on the OS side, some new driver update or something, since most of my work in the past year has been in reducing the size of jobs and spreading things out to be less rude, with the exception of the visual duplicates test, which is indeed new and does some hardcore math on memory. Let me know what you figure out, and if I can fix anything or add any new options, I'll give it a go. >>24518 I have a plan to deal with this, and similar stuff for waiting on domain errors, where we'd rather retry later. Unfortunately it will take quite a bit of cleanup and overhaul work in the 'file log' and some downloader stuff. I have it in mind, but I can't promise it any time soon. It sucks, but the best solution for now is to split large URL downloaders by rough domain, or have a separate one for a regularly bandwidth-choked domain.
In one of my duplicates auto resolution rules, I found a pair that was resolved as a better/worse pair, but the notes weren't merged. The worse file has a note with body text that's the exact same as the better file's note, but the better file and worse files' notes have different names. For some reason, the note from the worse file wasn't merged to the better file. Is this intentional, and if so, is there a way to change it so that the note is always copied to the better file even if they only have a different name but the same body text? I have the "if possible, extend existing note" setting enabled, but that says that it only happens if the notes have the same name. I also have the merge conflict setting set to "add note under new name" so that shouldn't be the cause of the issue either. So I don't know why this is happening.
>>24540 >Not with this system Figures, I just thought it was annoying to see all these tags I set as children pop up constantly everywhere whenever I tagged shit that I'd add in my database. It's a bit distracting, especially when the children has more tagged images than the parent.
>>24547 If the issue you're having is that you just don't want to see the tags, you can hide them from being displayed with a button in the tag's context menu.
>>24515 Hardware issue causing kernel panics? Run a deep memory test. >>24536 Each version of hydrus uses a specific database scheme. When upgrading hydrus you can see the database gets upgraded through every version you skipped. I recommend against mixing versions.
>>24541 Yes, it was the visual duplicate processing in auto resolution. I once had a panic right in front of me after I did "review actions" in semi-auto after just adding a visually similar pairs and i've had it panic while I wasn't there when it was processing in the background. I've had visually similar processing paused since then.
>>24536 >>24552 >I recommend against mixing versions. It's perfectly fine to run two separate clients/databases with different versions though.
In 643, "furaffinity.net favorites page parser" gets the urls with its "content parsers" "urls - post page urls", but the urls are not used in the final (empty) result.
In the duplicates auto resolution rules, I wanted to add a comparator that checks that files A and B don't share any known urls. Is there some way to accomplish this with the kinds of comparators that currently exist? If not, would you mind adding a comparator like that, sort of like how the ICC profile value comparators work? I wanted to use that kind of comparator in one of my "riskier" rules as a way to avoid files that share a post url from being paired up by the rule, since I've found that files are much more likely to be alternates if they come from the same post.
I had a good week. I did the duplicate db tech thing I wanted, and I figured out an mpv test that may fix some long-term issues. The release should be as normal tomorrow.
I have my search distance for potential duplicates discovery set to 8. Is it safe to set this as the max search distance in auto-resolution rules? Since the "almost definitely visual duplicates" comparator should still ensure that files A and B are actually duplicates, I think that it should be safe, but I just want to make sure since it's not the default.
https://www.youtube.com/watch?v=uzg3DFsnH3I windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v645/Hydrus.Network.645.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v645/Hydrus.Network.645.-.Windows.-.Installer.exe linux tar.zst: https://github.com/hydrusnetwork/hydrus/releases/download/v645/Hydrus.Network.645.-.Linux.-.Executable.tar.zst I had a good week working on a mix of stuff. There's a new mpv test mode. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html highlights For advanced users only: I figured out a wrapper that deletes mpv windows rather than re-using them. It doesn't seem to cause crashes any more. If you want to help me out, or if you often have a 'every other mpv window is mute'-style bug, please brace for a crash and try out options->media playback->TEST: Destroy/recreate mpv widgets instead of recycling them. Click a video and then unload it, try navigating from a video to an image, then video to video. Do you have any problems? Is anything fixed? I can't get it to crash, but if I scroll super fast, I can get a hang. 'review bandwidth use' now sorts its web domains so subdomains are below their parents. I'm renaming the advanced 'all local files' service to 'hydrus local file storage'. New users get it today, existing users are planned to get it in a couple weeks. If this breaks something for you, please shout at me. I'll do 'all my files' to something like 'all local file domains' soon too. The duplicates db tech improvement I wanted to do is done. You'll get a bit of work on db update this week, and your 'x pairs' numbers in the duplicates system will be better (they won't count some deleted stuff any more). next week I want to figure out fast duplicates search for very low hit-rate searches, like '5 pairs in 750,000'.
>>24480 >>24483 >>24506 Still experiencing tons of hanging on CachyOS since I switched from Windows to Linux. I run from source now and update using git_pull.sh. Experienced it on versions 642, 643, and 644, so no recent changes have remedied it. It seems to be happening more consistently though, as I used to have long periods free from it entirely. Most hanging occurs in the tag manger, with it hanging for 0.5 all the way to 5 or so seconds upon trying to load tag results, or trying to close the tag manager/apply the tags. It also crashed recently. I left it open and untouched for a few hours, and when I tried opening the window, everything but the info bar for the window and the window buttons was not rendering. Wasn't black either, it was empty and I could see other windows through it. After minimizing and maximizing a couple times to see if it clear up, it crashed. Instantly closed too, not a freeze where I had to manually kill the program. Since switching to CachyOS it's taken longer to initialing when restoring my tabs than on Windows, but after this crash it took much longer than usual. Curious to know if those logs I emailed the other day gave any insight into the issue? I'm considering seeing about running another install inside of WINE instead, but I'm not sure that will play nice with my db unless I put it inside the WINE prefix with it. Not sure about storing anything like that inside a WINE prefix at all. Updating to 645 now.
>>24573 Also, I must note, the hanging in the tag manager for tag searches happens even when searching the same query over and over. Been going though a lot of similar files that need tags that all start with the same word. While the very first search for that query can take the longest, repeated searches when the results I presume may still be in RAM can be instant on occasion but usually hang with variation now.
I've noticed in the last version, and this version, audio will continue playing after a file is deselected, until the end of the video is reached. This only happens if there is a very small length of the video left to be played, but can result in audio from two videos playing at once. It has not caused any more serious issues though.
After updating to 645 (from 643) some of the side panels like in the gallery download page have become about half the width of my screen, manually shrinking them causes them to cut off. I've seen this in the URL and gallery downloader pages, and the duplicates processor page, but with it changing tabs fixed it. An empty db doesn't seem to exhibit this behavior. Not sure if this is something I did accidentally or a slightly botched update.
In an auto resolution rule's "actions taken" tab, I'd appreciate if there was a way to open a pair that's in the list in a new page, kinda like how you can when you're in the filter. currently, I can't figure out any way to see a file that's been deleted (so I can check its metadata and such) since I can't open it to send it to a new page.
>>24546 Sorry for the trouble. The note merge options are really ugly and unintuitive. The logic behind the scenes is a pain too. I will have a look at it and try to make it more obvious what is supposed to happen, and then make sure I have unit tests to ensure that is actually happening, and I'll look at your exact report. >>24547 >>24548 Yeah. If I can get myself in order, I want to spend a bit of 2026 just revamping the 'manage tags' interface. It is too difficult to manage a bigass list of tags, and there should be more viewing/grouping/whatevering options to make dealing with siblings and parents not a pain in the ass. >>24564 Is this from this guy? https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/blob/master/Downloaders/furaffinity.net%20-%20version%202020-02-19%20-%20normal%20-%20AiO%20for%20Classic%20and%20ModernUI.png I'm afraid I don't make or maintain that, but did this happen to work in previous versions, and only now it is breaking in ~v643? I've been doing some URL handling changes in parsers recently, so let me know if I broke something. >>24565 Thanks, good idea. I'm hesitant to add too much 'dynamic metadata' comparator tech that examines things that can change, at least until we have a better grip or what works and doesn't here, but a hardcoded rule for 'no shared urls' is a good threading of the needle. >>24569 I'd say set it at 0 for now. My 'visual duplicates' comparator is way overtuned to never produce false positives, so I don't think it'll true positive for anything at distance 2+. You'll just be wasting CPU if you make the search encompass 'fairly similar' files. I'm working on this problem though and over the next months and maybe years I hope to make the 'visual duplicates' algorithm more capable at tuning out blurrier jpeg artifacts. I hope we can slowly expand the visual dupes search to encompass more stuff in future.
>>24573 >>24574 Your profiles were useful and I optimised some UI update stuff for the past couple of versions. I don't know how much was truly 'real' though, so let me know how v645 feels. I'm sorry to be lame, but if your client with its current sort of session and usage was ok in Windows but is now having trouble in this OS, it may more be that your OS isn't happy with the Wayland/X11 interpretation layer or compositor or Qt or disk access or some other complex Linux thing I'm not familiar with. The true solution here might be some conf, but I will keep working on optimisations, and I'm interested in fresh profiles in the latest code. I've noticed UI hitches in the past couple of months on my IRL client, where I'll click on a page tab and it won't show for 600ms kind of thing. I am not sure if it is new auto-resolution stuff or something else. I'm investigating it. >>24577 Please hit `options->media playback->LEGACY DEBUG: Use legacy mpv communication method` and restart the client--is it better? If so, leave that mode on and let me know your OS, hydrus install situation (source, AUR, built package?) and mpv version under `help->about`. >>24579 Sorry for the trouble here. It is probably the multi-column lists in those panels. In some random situations, I don't know how it happens or who for, my internal record of how wide one column should be, usually the rightmost one, goes crazy, like 135 characters, and then when I re-lay those pages down, they come up going 'oh, the user saved this column as being this wide, so I guess my minimum width should be 1100 pixels' or something similarly stupid. Please right-click the header of the affected lists and go like 'restore (list type) to default settings', and then resize your sidebar to what feels good and then restart the client. If this happens again, let me know if you remember what you may have done right before it happened. >>24580 Thanks--I'll make sure this gets done.
>>24582 >it may more be that your OS isn't happy with the Wayland/X11 interpretation layer or compositor or Qt or disk access or some other complex Linux thing I'm not familiar with That's probably it. I may just have to give up on it working smoothly because CachyOS doesn't like GUIs or something. It seems like if you want niche software to work on Linux, you'd need a deep understanding of the program, Linux, your distribution, your window manager, and Qt. Given everything has to go through the window manager and Qt regardless, I don't think even running it in WINE would help. >>24582 >Please hit `options->media playback->LEGACY DEBUG: Use legacy mpv communication method` and restart the client--is it better? This did not get rid of the audio continuing after deselect, but did make it so that the newly selected file could not begin playing until the audio from the previous file finished. OS:CachyOS Hydrus+MPV: Pic related
>>24583 Damn, ok, please keep me updated. I'm going to write some extra safety code for mpv this week that does stuff like 'only move to the next media when the current mpv window is safely "done"', which sounds like it will affect your situation. I moved to Linux Mint from Windows for my main desktop this year and found it a very pleasant migration experience outside of the normal Linux conf stuff you need for weird USB devices and so on. I would recommend it to anyone, including for hydrus.
>>24584 Maybe I'll switch to Mint. It was a lot of work getting everything I've got going now working on CachyOS though. CachyOS is the distro pushed as being pre-optimized for running games, besides Bazzite which is more aimed at dedicated portable gaming machine and is immutable. Looking around online, I think a lot of my issues are caused by Wayland, which has been forced recently upon KDE, which seems to be the standard DE for CachyOS. I think Mint's top DEs lack the issues of Wayland, and that's why everything runs smooth on your machine. At the very least, it would probably fix my drag and drop issues.
What can i do to filter/reject urls in the downloader BEFORE fetching them and using up bandwidth? for example I can disable archives in the import options on a downloader page to stop from importing .zip files, but hydrus will still download all the foo.zip urls first before rejecting them.
>>24585 Changing DEs so you can use X11 isn't that bad. Skim through here and find one you like: https://wiki.archlinux.org/title/Desktop_environment
I had an ok week working mostly on stability and optimisation. MPV windows are more reliable, and potential duplicate pair search is faster when the hitrate is low. The release should be as normal tomorrow.


Forms
Delete
Report
Quick Reply