/hydrus/ - Hydrus Network

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

Index Catalog Archive Bottom Refresh
Name
Options
Subject
Message

Max message length: 12000

files

Max file size: 32.00 MB

Total max file size: 50.00 MB

Max files: 5

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

E-mail
Password

(used to delete files and posts)

Misc

Remember to follow the Rules

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

Uncommon Time Winter Stream

Interboard /christmas/ Event has Begun!
Come celebrate Christmas with us here


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

(4.11 KB 300x100 simplebanner.png)

Hydrus Network General #6 Anonymous Board volunteer 12/21/2022 (Wed) 19:28:08 No. 18976
This is a thread for releases, bug reports, and other discussion for the hydrus network software. The hydrus network client is an application written for Anon and other internet-fluent media nerds who have large image/swf/webm collections. It browses with tags instead of folders, a little like a booru on your desktop. Users can choose to share tags through a public tag repository if they wish, or even set up their own just for themselves and friends. Everything is free and privacy is the first concern. Releases are available for Windows, Linux, and macOS, and it is now easy to run the program straight from source. I am the hydrus developer. I am continually working on the software and try to put out a new release every Wednesday by 8pm EST. Past hydrus imageboard discussion, and these generals as they hit the post limit, are being archived at >>>/hydrus/ . Hydrus is a powerful and complicated program, and it is not for everyone. If you would like to learn more, please check out the extensive help and getting started guide here: https://hydrusnetwork.github.io/hydrus/
Hydev, is it possible to make hydrus respond to the buttons on my wireless headphones? I tried adding a shortcut for pressing a button on my wireless headphones, but hydrus doesn't recognize it. I don't know exactly how it works, but I think you would use the Qt key enum from here: https://doc.qt.io/qt-6/qt.html#Key-enum and the media keys like these: Qt::Key_MediaPrevious Qt::Key_MediaNext Qt::Key_MediaTogglePlayPause
>>19596 Spanned the database, and everything looks to be working ok! Database is spread over 2 drives now.
>>19583 You can make your nitter parser for https://nitter.privacydev.net/ parse the tweet but get the files themselves from another nitter instance. Puts less of a strain on privacydev's servers, I guess? For example, let it parse https://nitter.privacydev.net/Twitter/status/1601692766257709056 but once you've parsed it, ask for https://nitter.lacontrevoie.fr/pic/orig/media%2FFjpaSdWWAAUODJy.jpg instead of https://nitter.privacydev.net/pic/orig/media%2FFjpaSdWWAAUODJy.jpg This works for NSFW tweets as well.
(32.71 KB 1230x221 bug1.png)

(9.73 KB 1228x79 bug2.png)

Is it just me or did the sankaku channel parser/url classes break somehow? I haven't changed anything but all of a sudden it's not recognizing post urls, it think that they are gallery urls, even though they're definitely in the post format.
>>19602 >>19608 Never mind I am stupid and can't read. My bad.
>>19602 Thanks. I would not have figured that out on my own.
>>19604 Me again, figured it out. I had accidentally muted audio in the media viewer somehow before activating mpv magic. I can't change volume or mute/unmute after doing it, so the solution was to unmute it before the ritual. While trying to figure it out, I found that it seems there are no keybindings for volume aside from global mute/unmute.
I had an ok week. I fixed several bugs (including a really bad one related to deleting inc/dec rating services), added a couple unusual features like jpeg subsampling detection and File URL redirects, and updated several core libraries (e.g. Qt) for all users. The release should be as normal tomorrow.
>>19599 Gallery-dl itself may not get tags, but hydownloader (which uses gallery-dl under the hood) does. I've found it works very well for what I use it for.
>>19613 I think it can also download ugoira.
I'm running a gallery downloader on files on a website to grab the tags from that website, but I noticed an issue. Sometimes, a file will appear in multiple posts, but since the gallery downloader already saw that file-url the first time, it only fetches the tags for the file that were on the first post it saw, and then just do nothing for the other times it sees that file url again. How do I get the downloader to always try to fetch the tags for a file, even if that fileurl was already downloaded by the gallery in another post? The "force page fetch even if url recognized" doesn't fix the issue, because This only forces it to fetch the page and get the tags for the first time that the file url appears and shows up in the file log. I want it to fetch the page (and thus, tags) for every post that appears in this gallery search, and associate those tags with that file url so it can add the tags from all posts to the file, not just the first one it comes across. This seems to only be an issue with gallery downloaders, because subscriptions seem to correctly fetch the tags of a file url that come from different post urls. I'm guessing this is because hydrus won't touch a file url that's already showing up in the gallery file log, so it doesn't add the additional tags that different posts have for that file url.
https://www.youtube.com/watch?v=MgNCjYXCxOc windows zip: https://github.com/hydrusnetwork/hydrus/releases/download/v525a/Hydrus.Network.525a.-.Windows.-.Extract.only.zip exe: https://github.com/hydrusnetwork/hydrus/releases/download/v525a/Hydrus.Network.525a.-.Windows.-.Installer.exe macOS app: https://github.com/hydrusnetwork/hydrus/releases/download/v525a/Hydrus.Network.525a.-.macOS.-.App.dmg linux tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v525a/Hydrus.Network.525a.-.Linux.-.Executable.tar.gz There was a problem with the initial v525, so I rolled back the OpenCV update in this new v525a. If you installed v525 and cannot boot, please delete 'install_dir\cv2\cv2.cp39-win_amd64.pyd' or just do a clean install! If you are an advanced Linux user and use the built release above, please check the note at the top of the old v525 release here: https://github.com/hydrusnetwork/hydrus/releases/tag/v525 . Thank you! I had an ok week. There's a mix of small work and some library updates for everyone. Full changelog: https://hydrusnetwork.github.io/hydrus/changelog.html new library versions Some advanced users have been testing new library versions for Qt (user interface), OpenCV (image processing), and, on Windows, mpv (audio/video display). There haven't been any reported problems so far, so I am rolling these new versions into the regular build and automatic setup scripts for source users. If you use one of the builds above, you don't have to do anything special to update--with luck, you'll simply get some subtly improved UI, images, and video. If you are a source user, you might like to run the 'setup_venv' script again this week after pulling, and it'll update you automatically. If you are a Windows source user, you might also like to get the new mpv dll, which requires a simple rename to work, as here: https://hydrusnetwork.github.io/hydrus/running_from_source.html#built_programs I don't expect this to happen, but if you are on an older OS, there is a chance you will not be able to boot this release. If this is you, make sure you make a backup before updating, and then if you have problems, roll back and let me know, and we'll figure out a solution. If you can't boot after an update, but a fresh extract on your desktop works fine, then you probably have a dll conflict, so run a clean install: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs other highlights I fixed some more time/calendar stuff. Some longer time durations now compensate for leap years and span month-deltas more precisely. In the media viewer, clicking the 'exif and other embedded metadata' button up top on jpegs now shows their subsampling (e.g. 4:4:4) and if they are progressive. I fixed an awful bug related to deleting the new inc/dec rating services. If you deleted one of these and found you couldn't load many files, sorry for the trouble--the underlying problem is fixed, and updating will correct any bad records! The Sankaku downloader gets some new download objects this week to handle their recent shift to md5-based Post URLs. Unfortunately, this is going to cause any sank subscriptions to go slightly bananas on their next check, hitting their file limits since they think they are seeing new URLs. There's no nice solution to this, so you will pretty much just want to wait them out. next week More small stuff like this I think. Maybe I'll squeeze some API work in.
Edited last time by hydrus_dev on 04/26/2023 (Wed) 22:57:10.
Tried googling/looking in the FAQs and cant seem to solve this. Why do I only get a small portion of posts when I download a tag from Gelbooru? Sankaku gives me hundreds with the gallery tag search, but i can see Gelbooru is only giving me a small portion?
I was randomly using hydrus on linux just yesterday and noticed mpv going absolutely bork. When you'd select a video, either in thumbnails or media viewer, the usual player just stays blank with only the viewtime slider moving and mpv pops out somewhere random in its own window. (image 1) After closing/switching to a picture mpv stays active as a black window (image 2, there's two mpv windows overlapping) You can't close these windows independently either, they exist until you close hydrus. Furthermore, hydrus dropped a log message that libmpv core broke (txt file) I haven't used hydrus on linux much but intend on doing it more and more, so might as well get to fixing it. If anyone has an idea on what's happening, happy to try stuff out
>>19618 Sounds almost exactly like what I've been experiencing on Qubes, but since Qubes has a special window manager I'm able to try and close the black/floating window easily. Try the "ritual" I outlined here, if you can: >>19447 You might have to find an alternative way to 'close' the floating mpv window in order to do it, though. Maybe a keybinding in your WM/DE settings. Audio still works for me after doing this but note that whatever volume/mute settings were active before doing the ritual persist afterwards and can't be changed until you restart.
>>19619 Close, but not quite your issue. For me, it always spawns two rogue mpv windows regardless of what i do. None of them embed correctly, they always pop out. "Closing" them via WM kill just freezes them in the current frame, like you mentioned, but they dont actually go away (you have to minimize to reclaim the space). There's also 3 different log messages when playing around with this issue I'll find out when what happens and describe the issues along with the logs.
So, I just updated to 525a, and now I'm getting this error on boot. ``` Traceback (most recent call last): File "C:\x\Hydrus Network\hydrus\hydrus_client.py", line 19, in <module> from hydrus.core import HydrusBoot File "C:\x\Hydrus Network\hydrus\core\HydrusBoot.py", line 3, in <module> from hydrus.core import HydrusConstants as HC File "C:\x\Hydrus Network\hydrus\core\HydrusConstants.py", line 2, in <module> import sqlite3 File "C:\Python39\lib\sqlite3\init.py", line 57, in <module> from sqlite3.dbapi2 import * File "C:\Python39\lib\sqlite3\dbapi2.py", line 27, in <module> from _sqlite3 import * ImportError: DLL load failed while importing _sqlite3: The specified module could not be found. ``` I went ahead and wiped my old venv for this and let setup_venv.bat make my new one. I've got the sqlite3.dll in the root folder, and am running from the venv.
>>19621 So, this was a Python issue. I just updated to 3.9.13 before updating Hydrus, and apparently the Python installer just shat it's fucking pants. Deleted the .pyd files and ran a repair install and it's fine now.
>>19617 Check your whitelist and blacklist. Check search log. Also check file section in imports for size limits, etc. Also, check to make sure download limit is set to "no limit". You might also check if you have a blacklist set in the Gelbooru web page itself. Not sure if that would affect Hydrus or not.
>>19623 Also, it may be that Sankaku has pages per pic, and Gelbooru doesn't.
(137.65 KB 1282x800 hydrus database.png)

>>19556 Is moving the whole thing to a new singular location considered a "complicated database"? I had this setup on my old PC and was able to import and update backups no issue. Here's how my database setup currently looks. Based on your comment >I presume the 'multiple locations' here are because your database files proper (client*.db files) and your media files (client_files) folder are now in slightly different locations I guess I messed something up here when I moved it? Is it because the "database components" and "media files" aren't in the same location? Really all I want to do is be able to import my database backup from my old PC so I can access all my files again.
v525a is causing a crash on Qubes when I try to do the mpv ritual thing (specifically, the opening media viewer part). Site doesn't like my txt log, here's a paste: https://bin.snopyta.org/?7e1832e6946efc24#aiJeZVZDqo5Kx4eWepTZRHg9QXC4LKK9CR83WH1EwQc
>>19604 >>19611 Thanks, adding some more shortcuts for volume control is a good idea. Yeah, I just looked at some of the gallery-dl gubbins here https://github.com/mikf/gallery-dl/blob/master/docs/configuration.rst although I may be looking in the wrong place. That seems to be for export filenames, but I'd imagine there must be a way to suck up these various 'tags' handles and exporting them to a JSON sidecar. Ideally, we'll look at this a bit more and figure out some decent confs/workflows that export what we want to a single JSON file and then I can set up a sidecar template to suck it up again. We'll want this tech even when I integrate gallery-dl into hydrus itself, so I can populate the import object with the same. >>19605 Sure, I'll see what I can do! Ideally, these'll just plug right in. My keyboard has these buttons so I can probably test, but if I can't, let me know how they work for you. >>19613 Ah, great, I'll check how it does it. >>19615 This is strange, than you for the report. By a normal 'gallery downloader', we are talking a normal kind of booru downloader, right? It searches a gallery page, produces post urls, and chases those (parsing tags) to get a direct file url, which it downloads and imports? The 'force page fetch' option is specifically designed to work in this case. You might like to play with help->debug->report modes->network report mode. It will spam you with popups, but I believe it will say when it is downloading a particular page and what parser it intends to use. If you can't figure out what is going on, can you send me the downloader and some example URLs/searches, so I can try to replicate it?
>>19627 >We'll want this tech even when I integrate gallery-dl into hydrus itself Oh shit, I had no idea that was even in consideration. Sounds like great news. I once tinkered with getting gallery-dl produced JSON to import tags and URLs but kind of forgot about it and never finished doing it. I'm assuming user-made downloaders would still be usable alongside gallery-dl, right?
>>19617 If you are downloading spicy content, you need to set a header I think, check here: https://github.com/CuddleBear92/Hydrus-Presets-and-Scripts/tree/master/Downloaders/Gelbooru >>19618 >>19619 >>19620 Aha, thank you for this report. Are you running the built release, as I put out in my release posts, or do you run from source? If you are on the built release on Linux, the best way to relieve crazy interactions like this is to move to running from source. That was all the .so files are native to your platform, from your package manager, and ideally there are fewer hoops to jump through. I can't promise anything though. The guide is here, it is pretty easy now!: https://hydrusnetwork.github.io/hydrus/running_from_source.html I have seen this sort of error before. As far as I can tell, it is basically when your window manager freaks out at the way hydrus's Qt tries to embed the mpv window (obviously), so you might have luck changing window manager, too. Unfortunately the way this works is so hacky and duct-tape that I can't provide a lot of support for unusual situations. Let me know how you get on! >>19621 >>19622 Interesting, thanks! I'm sorry for the trouble, but that will be good to know for future. I hate updating my python, I usually save it for when I get a new computer to dev on, and then I'm merging the various headaches together. >>19625 Yeah the trick here is that 'beneath db?' column. If everything in that dialog is beneath db, then my simple backup routine, which works on one folder, is happy. Your db is here: /home/.../.local/share/hydrus/db Your files are here: /run/media/.../Storage/Hydrus/Database If you files were under /home/.../.local/share/hydrus/db/files or something, then your database would be considered simple. Please move to an external backup solution--it'll work a lot better than my thing anyway. And if you want to import an existing database backup, then just have a look at its folder structure. It should basically have your client.*.db files, and a client_files folder with all your files and thumbnails in. All this 'migration' dialog does is move those things around, so if you want to restore a backup, then just place the components of the existing backup in locations that look good and try to boot the db. Worst case scenario is the files are in the 'wrong place' and it'll throw up a repair dialog when you boot. If I didn't link you to this earlier, lots of background reading here: https://hydrusnetwork.github.io/hydrus/database_migration.html >>19626 Damn, yeah, you are having something like the guy above, with the libmpv MainLoop killing itself, but seems like for other reasons. I am guessing you are running from source? If not, I recommend you also try to move to source. If you are running from source already, try looking at the different versions of mpv available in your package manager. You might like to try, if you know how, updating your venv's version of python-mpv. I have us stuck on 1.0.1, since it works for almost everyone, but there is a 1.0.3 now. >>19628 Yeah my idea is basically to have: - an 'exe manager' that stores profiles of external executables and what they can do with various conf/parameters - upgrade url classes to say 'for this url, send it to xxx exe' Then we'll be able to pipe difficult URLs to gallery-dl or yt-dlp or whatever, and ideally have a framework of sidecars or whatever the hell to get associated metadata with the file. As you say, it won't replace the existing downloader, but it'll give us tools and flexibility for the future. (if you were clever, you could even set up an external API that hydrus could talk to in this case!). Oh yeah, and I expect to add ffmpeg and waifu2x templates to this to start probing at optional automatic mass file format conversion, which is a different topic but also fun.
>>19629 Thanks, I got everything set up again from a backup. That link helped a lot. I will look into other backup options though, as you suggested.
>>19630 Macrium Reflect is a really good backup program.
>>19629 > Aha, thank you for this report. Are you running the built release, as I put out in my release posts, or do you run from source? I run "from source" at the commit of releases and compile the python code to use native system libraries while building the package. >As far as I can tell, it is basically when your window manager freaks out at the way hydrus's Qt tries to embed the mpv window I dunno if it may be caused by running Wayland, possibly? Would be annoying since i dont intend to switch back to X11... Also forgot to get back and post exauhstive logs, apologies. Will do that soon(tm)
>>19632 I was looking at the requirements.txts today and remembered we are straddling two different versions of 'python-mpv', which plugs your libmpv into Qt--0.5.2 and 1.0.1. When you use my interactive 'setup_venv' script, it asks if you want the old or new one and installs one or the other. This doesn't apply to you I don't think, but it turns out the requirements.txt I use for the Linux build is still on the old version, for compatibility reasons I think. Anyway, thinking back on your problem here, since you have a 'running from source' setup, please see if you can edit your venv or build script or what you are doing here and play with whatever you haven't been using of python-mpv 0.5.2, 1.0.1, or 1.0.3 (this last one I was testing today and seems fine and has some bug fixes and mpv MainLoop crash handling). I know that in order to get the mpv 2.0 API working, you need the 1.x.x release, so if you are on 0.5.2 and have a line to update your libmpv to a really new version, you might need it in any case. In related news this stuff is pissing me off so I'm going to see about getting the new Qt 6 Media Player embed working as my medium sized job next week. Should be a better fallback than my native jank.
Does hydrus give a way to know what subscription an image was downloaded from? I am finding images I dont like in my inbox and I am trying to "unsubscribe" from certain artists by removing the artist's name from my subscription list (this is how I download all of my images). Unfortunately I sometimes find that the artist goes by a new alias, so there is no corresponding subscription. I have to go to danbooru and check to see if my subscription list has the artist's old names, and if danbooru's alias list is incomplete then I am SOL. Is there any way to address this currently, or to request that this feature to be added? Thanks anons and hydrus dev
>>19633 Good call, i'll patch in version 1.0.1 and/or 1.0.3 and see what happens. Will be back with more info
>>19634 You might try a Whitelist. I had this problem with Pixiv, where, for some reason, I was getting pics that had none of the tags I had searched for. Putting my search tags into the Whitelist solved the problem.
>>19636 There's also the more complex version of the blacklist / whitelist beside the Whitelist tab. Not sure if this would help you with subscriptions are not, but maybe you can figure something out.
>>19633 >>19635 Actually nevermind, I'm back Obviously i use the system packages which are on python3-mpv-1.0.1. On another note, could it be an issue that i build with Qt5? I didn't get PyQt6 running on my system yet, dunno if Qt5 is still supported officially?
>>19635 >>19638 Aha, I see. Sounds like you are running off your system python. I used to do this myself, but I learned about venvs and now I strongly encourage everyone to move to them for anything more advanced than simple scripting. Forgive me if you know about this all already, but venvs (virtual environments) are basically a python-in-a-box that you can install anything to without messing up your system python with new versions or anything. If I haven't pointed you at my newer 'running from source' help, please check it out here: https://hydrusnetwork.github.io/hydrus/running_from_source.html A few months ago, I wrote some really easy 'setup_venv' scripts that are in the base install of the source extract or github repo clone that set everything up for you. Please give them a go, they'll ask some questions and get all the right versions for you and set up Qt6 and all that (assuming your OS isn't super old and can't run it!) all in a few minutes. If you would rather do things more manually, check the second half of the help page, where I walk you through doing it yourself and talk about venvs more. Qt5 could be the cause of some of the jank here, and Qt6 has a whole load of improvements, so if you can run it, I recommend it. Let me know how you get on! Qt5 is supported, but I can't promise anything. Win 7 users have to use it. >>19634 >Does hydrus give a way to know what subscription an image was downloaded from? Not yet, but this is increasingly on my mind. I need to do a whole bunch of subscription-infrastructure improvement, but I do really want greater integration of subscription-knowledge into the general workflow. I want you to be able to right-click on a file and see that you downloaded it from your danbooru artists sub.
New thread here >>>/t/12094 I'll post v526 to it tomorrow, and this thread should be migrated to /hydrus/ soon. Thanks everyone!


Forms
Delete
Report
Quick Reply