#clean_install
Explore tagged Tumblr posts
Link
Windows 11 ISO: A Comprehensive Guide to Installation and FAQs Windows 11 ISO is a crucial component in the realm of operating systems, and understanding its significance is vital for users looking to install Windows 11. This article aims to provide a comprehensive guide on installing Windows 11 ISO, ensuring that readers have all the necessary information to successfully complete the installation process. By following the MECE (Mutually Exclusive, Collectively Exhaustive) Framework approach, this article covers all aspects of Windows 11 ISO installation. [caption id="attachment_62852" align="aligncenter" width="1280"] windows 11 iso[/caption] Understanding Windows 11 ISO Windows 11 ISO refers to the disk image file that contains all the necessary files and data for installing Windows 11 on a computer. It allows users to create a bootable media, such as a USB drive or DVD, which can be used to install the operating system. The benefits of using Windows 11 ISO include the ability to perform a clean installation, easily upgrade from previous versions, and have a backup copy of the installation media. Compared to other installation methods, Windows 11 ISO provides more control over the installation process and allows for customization options. It also ensures a more reliable and stable installation, as the ISO file contains the complete operating system package. Preparing for Windows 11 ISO Installation System Requirements Before installing Windows 11 using ISO, it is essential to ensure that your computer meets the minimum system requirements. These requirements include a compatible processor, sufficient RAM, and available storage space. Meeting these requirements is crucial for optimal performance and to avoid any compatibility issues with the operating system. Downloading Windows 11 ISO To begin the installation process, you need to download the Windows 11 ISO file from the official Microsoft website. Follow these step-by-step instructions to download Windows 11 ISO: Visit the official Microsoft website. Navigate to the Windows 11 download page. Choose the desired edition and language of Windows 11. Click on the "Download" button to initiate the download. During the download process, ensure that you have a stable internet connection and sufficient storage space available on your computer. Creating Bootable Media Once the Windows 11 ISO file is downloaded, you need to create a bootable USB drive or DVD to install the operating system. There are several tools available, such as Rufus or the Windows USB/DVD Download Tool, that can assist in creating a bootable media. Follow the instructions provided by the chosen tool to create the bootable media successfully. Installing Windows 11 using ISO Booting from the Bootable Media Before installing Windows 11 using the ISO file, you need to boot your computer from the bootable USB drive or DVD. To do this, follow these steps: Insert the bootable USB drive or DVD into your computer. Restart your computer. Access the BIOS or UEFI settings by pressing the designated key during startup (often F2, F10, or Del). Navigate to the "Boot" or "Boot Priority" section. Change the boot order to prioritize the USB drive or DVD. Save the changes and exit the BIOS or UEFI settings. Once your computer restarts, it should boot from the bootable media, and the Windows 11 installation process will begin. Windows 11 Installation Process During the Windows 11 installation process using the ISO file, follow these steps: Choose your language, time, and currency preferences. Click on the "Install now" button. Enter the product key if prompted (or choose the option to activate later). Accept the license terms and click "Next". Select the installation type (e.g., upgrade or custom). Choose the disk or partition where you want to install Windows 11. Follow the on-screen instructions to complete the installation process. It is important to note that during the installation process, your computer may restart multiple times. Ensure that you do not interrupt the process and allow it to complete uninterrupted. Post-Installation Setup and Configuration Once the Windows 11 installation is complete, there are a few essential steps to take for post-installation setup and configuration: Set up your user account by providing the necessary information. Choose your privacy settings based on your preferences. Customize the appearance and personalization options of Windows 11. Install necessary drivers and software for optimal performance. Update Windows 11 to ensure you have the latest security patches and feature updates. By following these steps, you will have successfully installed Windows 11 using the ISO file and completed the initial setup and configuration. Frequently Asked Questions What are the system requirements for installing Windows 11 using ISO? The minimum system requirements for installing Windows 11 using ISO include a compatible 64-bit processor, 4 GB of RAM, and 64 GB of storage. However, it is recommended to have a 64-bit processor with at least 1 GHz clock speed, 8 GB of RAM, and 128 GB of storage for optimal performance. How can I download Windows 11 ISO? To download Windows 11 ISO, visit the official Microsoft website and navigate to the Windows 11 download page. Choose the desired edition and language of Windows 11, and click on the "Download" button to initiate the download. What are the benefits of using Windows 11 ISO for installation? Using Windows 11 ISO allows for a clean installation of the operating system, enables easy upgrading from previous versions, and provides a backup copy of the installation media. It also offers more control over the installation process and customization options. I encountered an error during the Windows 11 installation using ISO. What should I do? If you encounter an error during the installation process, ensure that your computer meets the system requirements and that the ISO file is downloaded correctly. Check for any compatibility issues with your hardware. If the error persists, try creating a new bootable media and reinstalling Windows 11. Can I upgrade from Windows 10 to Windows 11 using ISO? Yes, you can upgrade from Windows 10 to Windows 11 using ISO. During the installation process, choose the option to upgrade, and follow the on-screen instructions. It is recommended to back up your important files before upgrading. How long does the Windows 11 installation process using ISO take? The duration of the installation process may vary depending on your computer's hardware and the complexity of your setup. On average, it can take around 30 minutes to a few hours. It is important to be patient and allow the installation process to complete without interruption. Conclusion: In conclusion, installing Windows 11 using ISO provides users with greater control, customization options, and a reliable installation process. By following the steps outlined in this comprehensive guide, you can successfully install Windows 11 using the ISO file and configure the operating system to your preferences. The MECE Framework approach ensures that all aspects of the installation process and frequently asked questions are covered, providing you with a complete understanding of Windows 11 ISO installation. Remember to check the official Microsoft website for any updated information and guidelines during the installation process. Enjoy the new features and enhanced performance of Windows 11!
#32_bit#64_bit#activation#clean_install#compatibility#download#Features#installation#ISO#laptop#microsoft#operating_system#PC#product_key#release_date#system_requirements#troubleshoot#update#Upgrade#USB_bootable#virtual_machine#windows_11
0 notes
Text
Version 624
youtube
windows
zip
exe
macOS
app
linux
tar.zst
I had a great week. Duplicates auto-resolution is easier to preview, and I have re-introduced a way to 'lock' a search page in place.
This release updates several important libraries in Windows and Linux.
full changelog
new build
The Windows/Linux 'future build' test last week went well, no reports of problems. It seems like Win 10 will still run the program, although I suspect a very old (i.e. un-updated) version may have trouble. If you cannot boot the build today, please consider running from source and choosing an older version of Qt in the interactive setup: https://hydrusnetwork.github.io/hydrus/running_from_source.html
If you use the zip or tar.zst, it does not seem like you have to do a 'clean install', but the build releases are changing a bunch of stuff so it is a good time to do one anyway: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
If you run from source, this is a good week to rebuild your venv. Users on python 3.13 no longer have to choose the (a)dvanced install.
locked pages
A long time ago, when you opened files 'in a new page' or from a subscription files popup, the page created would have no search controls. It would just be a static page that could hold files. It worked well as a 'scratchpad' to work on, but you could not easily search the files if you wanted to.
I replaced that mode with 'initialise the page with a system:hash predicate', which helped simplify things behind the scenes but makes it annoying to append new files or merge other pages into it, since the underlying system:hash stays stuck as what it was originally.
Today we fix this. All search pages now have a 'lock' icon button beside the tag autocomplete text input. Click this, and the current search collapses to a system:hash for the current files in view and the search interface is replaced with an unlock button. It will keep track of when you add or remove files, and if you unlock, the system:hash is of what is currently in view. Have a play with it, and you'll see how it works.
Whenever a new page is created with files--which usually means 'open in a new page' or a subscription file popup--it now starts in the locked state. The old 'no search enabled' behaviour is back, but if you want you can flip to a regular search with one click. Let me know how it goes!
auto-resolution preview
The duplicates auto-resolution 'preview' panel, when you were editing rules, was running way too slow. It could take thirty seconds to load up a count or a preview on a big client, every time you made a change. I've overhauled the whole thing to stream results in fast pieces, with pause buttons and faster cancel tech and better feedback. This system also now handles when the pair comparison takes a while to compute. It is pretty much all ready for 'A and B are visual duplicates'.
I fixed a couple more false positives in 'A or B are visual duplicates'. There's one edge-detection situation that I poured a ton of time into and still failed to catch, so I'm going to keep thinking about it. Please send in any more weird pairs you come across!
Auto-resolution rules in semi-automatic mode will now only queue up 512 items for 'ready to action'. This queue can take a while to build and resets any time you change the rules, so I'm limiting it to keep things snappy. You can change the limit or remove it entirely in the edit rule panel.
misc
Ratings look nicer and line up great again!
A bunch of number-tests across the program have new 'less than or equal to' and 'greater than or equal to' operators.
next week
I only have one week before my summer vacation week, so I'm just going to fix little stuff and clean some code.
2 notes
·
View notes
Text
Version 619
youtube
windows
zip
exe
macOS
app
linux
tar.zst
I had a good week. There's a mix of several sorts of work, and duplicates auto-resolution gets more tools.
Your client is going to clean its tags on update. If you have a lot of tags (e.g. you sync with the PTR), it will take twenty minutes or more to complete.
full changelog
Linux build
The Linux build had a problem last week at the last minute. Github retired the old runner, and I missed the news. I have rolled out a test build that uses 22.04 instead of 20.04, and several users report that the build boots, does not seem to need a clean install, and may even fix some things.
If you use the Linux build, please update as normal this week. If the build does not boot, please try doing a clean install, as here: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
If today's release does not work at all, not even a fresh extract to your desktop, please let me know the details. If this happens to you, you might like to consider running from source, which solves many Linux OS-compatibility problems: https://hydrusnetwork.github.io/hydrus/running_from_source.html
I've now got a job to check for runner news in future, so this sudden break shouldn't happen again.
misc work
AVIF rendering broke last week, sorry! Should be fixed now, but let me know if it sometimes still fails for you.
I updated the tag-cleaning filter to remove many weird unicode characters like 'zero-width space' that slips in usually because of a bad decode or parse or copy-paste transliteration. On update, your client will scan all of its tags for 'invalid tags', renaming anything bad that it finds. If you sync with the PTR, this will take at least twenty minutes and will likely discover 30,000+ invalid tags--don't worry too much about it. If you want to see exactly what it found, it logs everything.
If you use sidecars for export, I moved the hardcoded 'sort results before sending them out' job to the string processor that's actually in each sidecar. Every sidecar will get this new processing step on update. They work as they did before, but if you do want the results sorted in a particular different way, you can now change it.
duplicates auto-resolution
I had success adding more tools to duplicates auto-resolution. You can now do "A has at least 2x the num_pixels as B" comparisons for some basic metadata types, and also say "A and B have/do not have the same filetype".
I have enabled all the UI and added two new suggested rules for clearing out some pixel-perfect duplicates. If you have been following along, please check these out and let me know what you think. I do not recommend going crazy here, but if you are semi-automatic, I guess you can try anything for fun.
Odd bug I've just noticed while playing around: sometimes, after editing existing rules, the list stops updating numbers for that edited rule. Closing and opening a new duplicates processing page fixes it. I'll fix it properly for next week.
Next step, so we can push beyond pixel-perfect duplicates, is to figure out a rich similarity-measuring tool that lets us automatically differentiate alternates from duplicates. I'm thinking about it!
next week
I might try this 'A is > 99.7% similar to B' tech for duplicates auto-resolution. I've got some IRL that might impact my work schedule in a couple weeks, so I'll otherwise just do some small jobs.
0 notes
Text
Version 574
youtube
windows
zip
exe
macOS
app
linux
tar.zst
Note: If you are updating from v570 or earlier and you use the Windows or Linux .zip or .tar.zst 'Extract' releases, you have to do a clean install one time to get v571 or later! (https://github.com/hydrusnetwork/hydrus/releases/tag/v571, https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs). If you are a Windows installer/macOS App/source user, you do not need to do a clean install to get over the v570->v571 bump; just update as normal.
I had a good week. The database has some new repair tech, and the new default twitter downloader now gets full-size images. The update this week may take a minute due to some database maintenance.
full changelog
highlights
For some time, some users who sync with the PTR have had sporadic '404' errors that interrupt downloading/processing. We never pinned down exactly what was causing or fixing this (a bunch of different maintenance routines seemed to fix it eventually) until this past week. Long story short is there was a SQLite issue that was crossing a wire on some program crashes, and a bunch of new repair code now detects and fixes this situation. Several rare 'this file appears to be this file' issues are fixed as a result. Your 'local hashes cache' will do some work on update, but the new code should run pretty fast, so even if you have millions of files, it shouldn't take too long to finish. If you have had PTR syncing problems, please try unpausing after updating this week--while it may fail one more time, the new repair code should be able to fix it now. Let me know how you get on!
I screwed up the new default twitter downloader last week--it was not getting the full-size versions of images! This is fixed today, so if you spammed a bunch of tweet URLs last week, please do this to fix it: do a search for 'imported within the last 7 days/has a twitter tweet url/height=1200px' and then copy/paste the results' tweet URLs into a new urls downloader page. The full-size images should download. Once done, assuming the file count is the same on both pages, go back to your first search page and delete the 1200px tall files. Then repeat for 'system:width=1200px'! Sorry for the trouble!
If some of your files get an odd colour tint, is it always on files under 'system:file properties->has icc profile'? If so, try unchecking the new 'apply image ICC Profile colours adjustments' checkbox under options->media. Let me know what you see.
next week
I blinked and it is May already. I think I have four more releases before my vacation week, and it feels like I haven't done anything, so I'd like to get a larger job done. I want to try the first framework of an automatic duplicate pair resolver.
1 note
·
View note
Text
Version 572
youtube
windows
zip
exe
macOS
app
linux
tar.zst
I had a good simple week mostly doing just one thing: overhauling the 'share' menu.
Note: If you are updating from v570 or earlier and you use the Windows or Linux .zip or .tar.zst 'Extract' releases, you have to do a clean install one time to get v571 or later! (https://github.com/hydrusnetwork/hydrus/releases/tag/v571, https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs). If you are a Windows installer/macOS App/source user, you do not need to do a clean install to get over the v570->v571 bump; just update as normal.
full changelog
share menu
Like the 'open' menu a couple of weeks ago, the 'share' submenu you see off of the thumbnail or media viewer right-click menu has been given a full pass. The layout is clearer, and exactly the same in all locations, and everything it does is now mappable in the shortcuts system.
Also, you can now copy files' thumbnails as bitmaps from this menu. Should let you do saucenao style lookups on unusual filetypes that have a thumb but no normal image.
The shortcuts here are a bit smarter, too--like with the 'open similar files in a new page', I collapsed the four 'copy xxx hashes' commands down to one command with a dropdown (which has options for blurhash/pixel_hash, if you need them); and the three 'copy xxx bitmap' commands are now one with a dropdown that also has the new 'copy thumbnail bitmap' option. Most of the shortcuts also have a choice between 'do the focused file' vs 'do all selected files', if that is important (existing shortcuts will default to the latter, which was previous behaviour for stuff like 'copy sha256 hashes').
Note: I have removed the 'share on the local booru' command. The Local Booru (an optional way to share files with friends using hydrus) was a fun experiment, but I have decided to finally retire it. I never found enough time to dev it properly (I don't think I've touched it in at least five years), and there are many better ways to share files online, be that a third-party host you simply drag and drop to or a clever Client API solution. So, it is gone from the menu today, and I'll slowly dismantle it over the next few weeks until it is completely removed.
couple other things
There's a new checkbox under ''options->files and trash'' that adjusts the 'remove processed files after an archive/delete filter' to also remove the stuff you skipped.
Also, thanks to a user, there's a new 'e621' themed stylesheet under ''options->style''. Users who run from source who want to try this probably have an extra step to make sure this works--check the changelog/options panel help text.
next week
I've been thinking of adding a new tab to the autocomplete dropdown that will show children of the current context (e.g. you are looking at something with 'evangelion', in that tab you'll see 'asuka', 'rei', etc.. for quick selection). I think I will play with that idea and do some more misc small jobs.
1 note
·
View note
Text
Version 571
youtube
windows
zip
exe
macOS
app
linux
tar.zst
I had a simple week working on some quality of life and background stuff. There are special install instructions this week!
full changelog
new build
tl;dr: If you use the Windows or Linux .zip or .tar.zst 'Extract' releases, you have to do a clean install! (https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs). If you are a Windows installer/macOS App/source user, you do not need to do a clean install; just update as normal.
The future build test went well, so I am folding the updates into the main build. The above releases are updated from Python 3.10 to 3.11, and Qt (UI) and OpenCV (image processing) are moved to newer versions. There aren't any super important changes, but a bunch of little things should work better or be a bit faster.
Unfortunately, the new libraries cause a dll conflict with v570 and earlier (basically the executable sees the py310 dlls beside the py311 ones and gets confused), so we need to clear the install directory of the old files. Just do the clean install and you should be fine!
You don't have to do it for the other modes because: the Windows installer basically does a clean install every time; the macOS App is always enclosed in its own thing doesn't have to worry about old files; and running from source doesn't care about dlls in the same way, although you might like to rebuild your venv today, just to catch up your own library versions.
If you do have trouble booting v571, then please revert to your v570 backup and let me know what happened! There were no problems in the test that people tried a couple weeks ago, so I'm not expecting anything much, but I'll jump on any reports. Also, if you have been struggling with some annoying menu or drag and drop bug, let me know if the new version of Qt fixed you.
the rest
The archive/delete filter gets a couple of workflow changes: first, if you finish a filter and there is more than one possible local file service to delete from, those 'commit' buttons are now disabled for 1.2 seconds. This is to catch you from spamming 'enter' through this dialog when it is suddenly different (I've done this myself more than once). Second, if you hate the idea of these buttons being disabled, and you always want to delete from all local file services anyway, please hit the new 'when finishing filtering, always delete from all possible domains' checkbox under options->files and trash, which lets you always have a simple 'commit' dialog that only shows 'delete from all local file services'.
The client now tries to load truncated images by default. The damaged images it now allows might be missing one pixel in the bottom right, or have a few lines of grey at the bottom, or might appear fine but just have some crazy metadata, but they won't, fingers crossed, fail with a 'malformed image' error any more. We had some stability problems with this mode some years ago, so I turned it off and only allowed it on in a debug menu on a per-session basis, but the situation seems to have cleared up, so it is now back on. If you need to turn it off, hit options->media.
Any time you have a normal single column list in the program, e.g. the list of URLs in 'manage urls', you can hit Ctrl+C or Ctrl+Insert and now it'll copy better strings (e.g. without '(1)' decorator cruft), and it'll copy every row you have selected.
I wrote a new emergency help document, 'help my db disappeared.txt', for the install_dir/db folder. If you ever boot up and get the 'this looks like the first time you have run the program' popup, there's now a guide to figure out what the hell happened.
next week
I didn't find the time to get to the 'share' menu rewrite, so I'll try again.
0 notes
Text
Version 500
The first Windows build was broken, if you got that please check again--the links have been updated to a hotfix.
windows
Qt5 zip
Qt6 zip
Qt6 exe
macOS
Qt5 app
Qt6 app
linux
Qt5 tar.gz
Qt6 tar.gz
I had a good week-and-a-bit returning to normal hydrus schedule after my personal issues. There are some important bug fixes, particularly for windows crashes, and some neat updates to tag search logic.
Those who use the Windows Qt5 release will want to perform a 'Clean Install' this week: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
crashes and bugs
I messed up the new mpv version in v499. My golden rule is to never put out bleeding-edge library updates, but without thinking I gave Windows users a dll from late August. This caused instability for a variety of installs, but thanks to some great reports and user testing, we were able to figure out the problem and solution. I regret I wasn't able to roll out an official fix until now, but I will remember this issue for future--never fold in the latest build of anything.
There are two fixes here. Windows Qt6 users simply get a more stable mpv-2.dll today. You don't have to do anything special, just install as normal and your hydrus should be more stable. Windows Qt5 users will be rolling back to mpv-1.dll, so if you are a Qt5 user who updated to v499, you should perform a 'Clean Install', as here: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs . Just follow the guide and you should be good again, but let me know if you have any trouble!
I also fixed a critical issue that was affecting a couple of users with damaged similar file search trees. If you have had 'similar file tree rebalancing' maintenance that seemed to go on forever before locking up your client, this is now fixed. Some related simple errors when the maintenance routine ran into a damaged or looped tree are also fixed.
The Client API now handles disconnects more gracefully. Some logspam is cleared up, and very slow file and tag searches via API now cancel on disconnect just like in the UI (e.g. when you type a new character in autocomplete tag search, it'll cancel the older slower search and start a newer faster one). If you run a busy Hydrus Companion or another Client API application that really hammers your client, let me know how you get on.
tag search logic
I have updated the tag search logic in two important ways:
- First, if you give a file search a tag that currently has a better sibling (loading up old favourite searches can do this), let's say you enter 'shinji', which would now normally display as 'character:shinji', the database now recognises that this tag has a better sibling and will give you the results as if you had entered 'character:shinji'. Previously, it would give you no results since that tag 'didn't exist' any more. This sounds like a small easy thing to change, but as I peeled this system apart this week, I recognised there were several logical problems and inefficiencies with edge-case sibling search, so I rebuilt the bad parts and cleared several issues up. In any case, sibling tag search = better.
- Second, searching files for the tag 'asuka' will no longer give files that have 'character:asuka'. This 'unnamespaced search tags give all namespaced variants too' rule has been in place since the start of the program, but it has always been awkward to implement, sometimes confusing, and it makes it difficult to search for an unnamespaced tag explicitly. If you would like to search for all namespaced variants of a subtag, please enter '*:asuka', which is now acceptable input.
Note that this does not affect tag lookups. If you type 'rei', you will see 'character:rei' in the result list to choose from. But entering 'rei' will not find files with any namespaced version of the tag.
Wildcards follow the new unnamespaced rule too, now. If you enter 'm*na', you will not get files with 'character:mana'. '*:m*na' will, though, and these 'any namespace' wildcard rules are now supplied as suggestions whenever you enter an unnamespaced wildcard.
other highlights
You can now fully edit tag, namespace, and wildcard search predicates. Either shift+double-click some active tag search predicates, or right-click and select 'edit', and you can now change their text. You can also convert between one or another just by typing.
Thanks to a user, the 'pattern' you use when declaring export filenames now supports '{#}', which will give you the same as the incrementing number '#' column in the manual export dialog. You can now export files and give them a filename based on their current thumbnail order.
full list
crashes:
I messed the mpv update up in v499. my golden rule is never to put out bleeding-edge library updates, but without thinking I gave everyone a dll from late august. it turns out this thing was pretty crashy, and many users were getting other unusual behaviour as well. it seems like people on very new versions of Windows were mostly ok, but a little instability, whereas some older-Windows users were unable to start the client or could boot but couldn't load mpv at all. these latter cases were plagued with other problems. thanks to user help, we discovered it was the newer mpv dll causing all the problems, and an older one, from early May, seems to be fine
so, I am rolling back the mpv in the windows releases. the 'v3' 2022-08-29 I bundled in 499 was causing several users serious problems, possibly because of the advanced 'v3' chipset instructions or related advanced compiler tech. for the Qt6 release, we are going back to 2022-05-01, which several users report as stable, and for the Qt5 we are rolling back to the 498 version, 2021-02-28, which is back to mpv-1.dll. Since Qt5 users are increasingly going to be Win 7, we'll go super safe. THEREFORE, Qt5 extract users will want to perform a clean install this week: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
(you can alternately just delete the now-surplus mpv-2.dll in your install directory, but a full clean install is good to do from time to time, so may as well)
updated the sqlite dll in the windows release to 2022-05, and the exe in the db directory to 2022-09
rewrote how some internal MPV events are signalled to Qt. they now have their own clean custom event types rather than piggy-backing on some bad old hydrus pubsub code
I either fixed a rare boot crash related to the popup messaging system, maybe exclusively on macOS, or I improved it and we'll get a richer error now
.
tag sibling search:
if you search explicitly for a tag that has a better sibling (one way this can happen is when loading up an old favourite search), the client will now auto-convert that tag to the ideal in the search code and give you results for the siblinged tag
this started off as a predicted five minute thing and spilled out into a multi-hour saga of me realising some tag sibling search code was A) wrong in edge cases and B) slow in edge cases. I have subtly reshaped how core file-tag search works in the client so that it consults each tag service in turn based on its siblings and its mappings, rather than mixing them together. this does not matter for 99.98% of cases, but if you have some weird overlapping siblings across different services, you should now get the correct results. also, some optimisations are more effective, so any instance of searching for tags on small tag services on 'all known tags' is now a bit quicker
big brain: please note the logic here is complex, and I have not yet updated autocomplete counting to handle this situation. if you type 'cat' and get 'cat (3)' from the three 'cat' tags on 'my tags', but 'cat' is siblinged to 'species:feline' on a big service like the PTR, it will still say (3), rather than (403) or whatever from the auto-corrected PTR results. I have a plan to fix this in a future cleanup round
.
tag subtags and namespace wildcards:
searching for 'samus aran' no longer delivers files that have 'character:samus aran'. the subtag->namespace logic no longer applies. this was a fun idea from the very start of the program, but it was never all that useful as default behaviour and added several headaches, now eliminated. if you wish to perform this search going forward, please enter '*:samus aran', which is now an acceptable wildcard input
tag lookup is unaffected. typing 'samus aran' will still provide 'character:samus aran' as a tag to choose from
a heap of rinky-dink counting logic went along with this, such as providing tag search results like ('character:samus aran (100)', 'samus aran (100-105)'), where it tried to predict how many results would come with the unnamespaced search. this no longer exists, and a decent bit of CPU is now saved in any large tag search
wildcard searching works on similar rules now, so if you enter 'sa*s ar', you will see 'character:samus aran' as a result in the tag list, but searching for it will not give results with 'character:samus aran'. again, enter '*:sa*s ar*' to search for all namespaces (which is now provided as a quick suggestion any time you enter an unnamespaced wildcard), or enter 'character:sa*s ar*' explicitly
'system:tag as number' also now follows similar rules, so if you leave the namespace field blank, it will search unnamespaced numbers. it now supports namespace wildcards, so you can enter '*' to get the old behaviour. the placeholder text on the namespace input now states this
'system:number of tags' now uses the same UI as 'system:tag as number', where you enter '*' as the namespace to mean all namespaces, rather than checking a box
.
misc:
all tag, namespace, and wildcard search predicates are now properly editable from the active search box. shift+double-click or select from the right-click menu, and you now get a simple text input alongside any system predicate panels. previously, this would only offer you a button to invert the tag to -tag and _vice versa_. now, you can add or remove the '-' and '*' characters yourself info to freely convert between tags, namespace:anything, and wildcard search predicates (issue #1235)
thanks to a user, you can now add '{#}' to an export filename pattern to get the '#' column in your filename (useful if you want to export files in the order they are currently in on the page)
furthermore, if you delete items from the manual file export window, the '#' column now recalculates itself to stay contiguous and in order (previously, it left gaps)
fixed a bug when deleting siblings on a local tags service. sorry for the trouble!
on manage siblings, when you remove, add, or replace a pair on a local tags service, you will now get a simple 'note' reason informing you more on what is going on. the 'REPLACEMENT:' thing recently added to tag repositories should now work for you too
when a downloader or similar adds files to a page, and you have at least one existing file selected, the status bar now updates correctly
fixed a critical issue that was affecting some users with damaged similar file search trees. when starting similar file search tree rebalancing maintenence, their client would go into an infinite loop and spool the cyclic branch into an ever-growing journal file in their temp directory until their system drive briefly ran out of space. sorry for the trouble, and thank you for the excellent reports that helped to figure this out (issue #1239)
the similar files search tree rebalance maintenance now detects more sorts of damaged trees and handles them gracefully, and the full tree regeneration clears out any damaged maintenance information too
fixed another problem with the tree branch maintenance system when the root was accidentally queued for branch rebalance
when you right-click->copy a wildcard search tag, it now copies the actual wildcard text, not the display text with (wildcard search) over the top
I added ',' to the list of non-decodable characters in the hacky URL Class encoding/decoding routine. sites that use an encoded comma (%_2C) for regular path components or query parameters should now work
a user has fixed a regex parsing problem in the predicate parser for system:hash
OR search predicates now sort their sub-predicates on construction/editing, meaning the label is always of set order, and they can now compare with and hence reliably nullify each other
the manage logins dialog now boots a little taller
the main gui tab bar may look a bit nicer/more appropriate in macOS
updated the help text on gui pages where it talks about overflowing rows of tabs, which auto-scroll even worse in Qt6, hooray
.
client api:
the client api now handles request disconnects better. the hydrus server code benefits from the same engine improvements
the 'twisted.internet.defer.CancelledError' logspam is cleaned up!
if a client disconnects before a client api autocomplete tag search or a file search is complete, that database job is now cancelled quickly just like when you type new characters in the client UI or stop a slow search
if you are a client api dev, please let me know how this works out IRL. I'm not 100% sure what a 'disconnect' means in this context, but if you want to develope autocomplete quick lookup as the user types, and you have a way clientside to cancel/kill an ongoing request before it is complete, please give it a go and let me know if this all works. cancelled requests don't make a log record right now, but you should see the client's db lock free up instantly. at the very least, I have the proper infrastructure for this now, so I can add more/better 'cancel' hooks as we need them
.
uninteresting code cleanup:
refactored the file note mapping db code to a new module
refactored the file service pathing db code (this does directory structures and multihashes for ipfs) to a new module
refactored some tag display, tag filtering, and tag autocomplete calls down to appropriate db modules
refactored and extended some tag sibling database methods and names to clarify whether they were working with ids or strings
next week
I was not able to get to many things I wanted to this week. Things have piled up, so I'm just a bit buried right now. I will just continue working on urgent issues and smaller issues and see how we are on the crashing.
I'm stressed about my Dad, more than anything because there has just been a ton of energy-draining stuff to do, but not as upset as I thought. As I said before, we had a great relationship, so there are no huge regrets. I'm sure it will kick in more in a couple months. Since the hydrus userbase trends young and my Dad died a bit early, I don't expect many of you have organised a funeral. My serious advice is A) talk to your parents now about what they want in a funeral, and B) make sure they have a will. We were good on both fronts, and it has made the whole thing so much easier. Almost all children bury their parents, so get it done now, while it is easy.
As for hydrus, getting out 500 versions is pretty cool. I've been at this for ten years, and the codebase is now 10 MB over almost 300 files. I still enjoy working on it, and I want to keep at it as long as there is interesting stuff to do. The hydrus userbase has grown significantly this year, and my todo list is overflowing more than ever, so running short on work is not a worry. Handling stress and burnout has been tricky at times, but assuming I stay healthy on that front, I can comfortably see 750 in the distance. Let's see what machine learning does to us all over the next five years.
Thanks everyone!
2 notes
·
View notes
Text
Version 428
youtube
windows
zip
exe
macOS
app
linux
tar.gz
I had a good couple weeks working on the taglist code and some other jobs.
If you are on Windows and use the 'extract' release, you may want to do a 'clean' install this week. Extra notes below.
taglists
So, I took some time to make taglists work a lot cleaner behind the scenes and support more types of data. A heap of code is cleaner, and various small logical problems related to menus are fixed. The tag right-click menu is also more compact, quicker to see and do what you want.
The main benefits though are in the manage tags dialog. Now, the '(will display as xxx)' sibling suffix colours in the correct namespace for the sibling, and parents 'hang' underneath all tags in all the lists. It is now much easier to see why a parent or sibling is appearing for a file.
This is a first attempt. I really like how these basically work, but it can get a bit busy with many tags. With the cleaner code, it will be much easier to expand in future. I expect to add 'expand/collapse parents' settings and more sorts, and maybe shade parents a bit transparent, in the coming weeks. Please let me know how it works for you IRL and I'll keep working.
the rest
The main nitter site seems to be overloaded. They have a bunch of mirrors listed here: https://github.com/zedeus/nitter/wiki/Instances
I picked two roughly at random and added new downloaders for them. If you have Nitter subs, please move their 'sources' over, and they should start working again (they might need to do a bit of 'resync' and will complain about file limits being hit since the URLs are different, but give them time). If you would rather use another mirror, feel free to duplicate your own downloaders as well. Thanks to a user who helped here with some fixed-up parsers.
I gave the recently borked grouped 'status' sort in thread watchers and downloader pages another go, and I improved the reporting there overall. The 'working' status shouldn't flicker on and off as much, there is a new 'pending' status for downloaders waiting for a work slot, and the 'file status' icon column now shows the 'stop' symbol when files are all done.
The menu entry to 'open similar-looking files' is now further up on thumbnails' 'open' submenus.
The duplicate filter has its navigation buttons on the right-hand hover window rearranged a bit. It is silly to have both 'previous' and 'next' when there are only two files, so I merged them. You can also set 'view next' as a separate shortcut for the duplicate filter, if you want to map 'flip file' to something else just for the filter.
windows clean install
If you use the Windows installer, do not worry, these issues are fixed automatically for you from now on.
I updated to a new dev machine this week. Some libraries were updated, and there is now a dll conflict, where a dll from an older version is interfering with a new one. As it happens, the library that fails to load is one I made optional this week, so it doesn't ''seem'' to actually stop you from booting the client, but it will stop you from running the Client API in https if you never did it before (the library does ssl certificate generation).
It is good to be clean, so if you extract the Windows release, you may want to follow this guide this week: https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#clean_installs
full list
interesting taglist changes:
taglists work way better behind the scenes
when siblings display with the '(will display as xxx)' suffix, this text is now coloured by the correct namespace!
parents now show in 'manage tags dialog' taglists! they show up just like in a write/edit tag autocomplete results list
the tag right-click menu has had a pass. 'copy' is now at the top, the 'siblings and parents' menu is split into 'siblings' and 'parents' with counts on the top menu label and the submenus for each merged, and the 'open in new page' commands are tucked into an 'open' submenu. the menu is typically much tighter than before
when you hit 'select files with these tags' from a taglist, the thumbgrid now takes keyboard focus if you want to hit F7 or whatever
custom tag presentation (_options->tag presentation_, when you set to always hide namespaces or use custom namespace separator in read/search views) is more reliable across the program. it isn't perfect yet, but I'll keep working
a heap of taglist code has been cleaned up. some weird logical issues should be better
now the code is nicer to work with, I am interested in feedback on how to further improve display and workflows here
.
the rest:
added two mirrors for nitter, whose main site is failing due to load. I added them randomly from the page here: https://github.com/zedeus/nitter/wiki/Instances . if you have nitter subs, please move their download source to one of the mirrors or set up your own url classes to other mirror addresses. thanks to a user for providing other parser fixes here
gallery download pages now show the 'stop' character in the small file column when the files are done
gallery download pages now report their 'working' status without flicker, and they report 'pending' when waiting for a download slot (this situation is a legacy hardcoded bottleneck that has been confusing)
thread watchers also now have the concept of 'pending', and also report when they are next checking
improved the new grouped status sort on gallery downloader and watcher pages. the ascending order is now DONE, working, pending, checking later (for watchers), paused
the network request delay after a system resume is now editable under the new options->system panel. default is 15 seconds
the 'wait on files too' option is moved from 'files and trash' to this panel
when the 'just woke' status is active, you now get a little popup with a cancel button to override it
'open similar-looking files' thumbnail menu entry is moved up from file relationships to the 'open' menu
the duplicate filter right-hand hover window no longer has both 'previous' and 'next' buttons, since they both act as 'flip', and the merged button is moved down, made bigger, and has a new icon
added 'view next' to the duplicate filter shortcut set, so you can set a custom 'flip between pair' mapping just for that filter
thanks to a user helping me out, I was able to figure out a set of lookups in the sibling/parent system that were performing unacceptably slow for some users. this was due to common older versions of sqlite that could not optimise a join with a multi-index OR expression. these queries are now simpler and should perform well for all clients. if your autocomplete results from a search page with thumbs were achingly slow, let me know how they work now!
the hydrus url normalisation code now treats '+' more carefully. search queries like 6+girls should now work correctly on their own on sites where '+' is used as a tag separator. they no longer have to be mixed with other tags to work
.
small/specific stuff:
the similar files maintenance search on shutdown now reports file progress every 10 files and initialises on 0. it also has faster startup time in all cases
when a service is deleted, all currently open file pages will check their current file and tag domains and update to nicer defaults if they were pointed at the now-missing services
improved missing service error handling for file searches in general--this can still hit an export folder pointed at a missing service
improved missing service error handling for tag autocomplete searches, just in case there are still some holes here
fixed a couple small things in the running from source help and added a bit about Visual Studio Build Tools on Windows
PyOpenSSL is now optional. it is only needed to generate the crt/key files for https hosting. if you try to boot the server or run the client api in https without the files and without the module available to generate new ones, you now get a nice error. the availability of this library is now in the client's about window
the mpv player will no longer throw ugly errors when you try to seek on a file that its API interface cannot support
loading a file in the media viewer no longer waits on the file system lock on the main thread (it was, very briefly), so the UI won't hang if you click a thumb just after waking up or while a big file job is going on
the 'just woke' code is a little cleaner all around
the user-made downloader repository link is now more obvious on Lain's import dialog
an old hardcoded url class sorting preference that meant gallery urls would be matched against urls before post, and post before file, is now eliminated. url classes are now just preferenced by number of path components, then how many parameters, then by example url length, with higher numbers matching first (the aim is that the more 'specific' and complicated a url class, the earlier it should attempt to match)
updated some of the labelling in manage tag siblings and parents
when you search autocomplete tags with short inputs, they do not currently give all 'collapsed' matching results, so an input of 'a' or '/a/' does not give the '/a/' tag. this is an artifact of the new search cache. after looking at the new code, there is no way I can currently provide these results efficiently. I tested the best I could figure out, but it would have added 20-200ms lag on all PTR searches, so instead I have made a plan to resurrect an old cache in a more efficient way. please bear with me on this problem
tag searches that only include unusual characters like ? or & are now supported without having to lead the query with an asterisk. they will be slower than normal text search
fixed a bug in the 'add tags before import' dialog for local imports where deleting a 'quick namespace' was not updating the tag list above
.
windows clean install:
I moved to a new windows dev machine this week and a bunch of libraries were updated. I do not believe the update on Windows _needs_ a clean install this week, as a new dll conflict actually hits the coincidentally now-optional PyOpenSSL, but it is worth doing if you want to start using the Client API soon, and it has been a while, so let's be nice and clean. if you extract the release on Windows, please check out this guide: https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#clean_installs
the Windows installer has been updated to remove many old files. it should now do clever clean installs every week, you have nothing to worry about!™
.
boring db breakup:
the local tags cache, which caches tags for your commonly-accessed hard drive files, is now spun off to its own module
on invalid tag repair, the new master tags module and local tags cache are now better about forgetting broken tags
the main service store is spun off to its own module. several instances of service creation, deletion, update and basic fetching are merged and cleaned here. should improve a couple of logical edge cases with update and reset
.
boring taglist changes:
taglists no longer manage text and predicates, but a generalised item class that now handles all text/tag/predicate generation
taglist items can occupy more than one row. all position index calculations are now separate from logical index calculations in selection, sizing, sorting, display, and navigation
all taglist items can present multiple colours per row, like OR predicates
items are responsible for sibling and parent presentation, decoupling a heap of list responsibility mess
tag filter and tag colour lists are now a separate type handled by their own item types
subordinate parent predicates (as previously shown just in write/edit autocomplete result lists) are now part of multi-row items. previously they were 'quiet' rows with special rules that hung beneath the real result. some related selection/publish logic is a bit cleaner now
string tag items are now aware of their parents and so can present them just like autocomplete results in write/edit contexts
the main taglist content update routines have significantly reduced overhead. the various expansions this week add some, so we'll see how this all shakes out
the asynchronous sibling/parent update routine that populates sibling and parent data for certain lists is smarter and saves more work when data is cached
old borked out selection/hitting-skipping code that jumped over labels and parents is now removed
'show siblings and parents' behaviour is more unified now. basically they don't show in read/search, but do in write/edit
a heap of bad old taglist code has been deleted or cleaned up
next week
This was a big couple of weeks. Setting up the new dev machine--I replaced my six year old HP office computer with a nice mini-pc with an SSD--worked out great, but there were some headaches as always. The taglist work was a lot too. I'll take next week a little easier, just working misc small jobs.
1 note
·
View note
Text
Version 527
https://www.youtube.com/shorts/xK5SJ6CuezY
windows
zip
exe
macOS
app
linux
tar.gz
I had a good week working on important updates to the build and a new media player prototype.
This build has special update instructions! All users who update from 526 or earlier to 527 or later will have to do this once!
full changelog
build update
A couple of weeks ago, I tried updating OpenCV (our image library) for everyone, but it caused a dll conflict and the program wouldn't boot. I am trying again this week, and since we have to do this change, I am also rolling in a long-planned change to the main exectuable names. 'client' is now 'hydrus_client' and 'server' is now 'hydrus_server'. Some users will have to do a 'clean install', and most will have to update their shortcuts or launch scripts.
As always--but particularly this week--please make a backup before you update. The following instructions are simple, but if anything goes wrong, you can always roll back to a safe backup.
Ok, the instructions, by situation, are:
- If you use the Windows installer, update as normal. It will do the clean install for you. Your start menu 'hydrus client' shortcut should also be overwritten with one to the new executable, but if you use a custom shortcut, you will need to update that yourself.
- If you use one of the normal extract builds, do a clean install. You also need to update any program shortcuts.
- If you use the macOS app, there are no special instructions. Update as normal.
- If you run from source, git pull as normal. If you haven't already, feel free to run setup_venv again to get the new OpenCV. Update any custom launch scripts to point at the new hydrus_client.py file.
A 'clean install' is as here: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs -- You are basically going to be deleting everything except your database (to clear out old dll files) and then updating as normal.
To update your shortcut or launch script, simply edit it, and where it says 'install_dir\client.exe', just rename it to 'install_dir\hydrus_client.exe'. For Linux users, that'll be 'install_dir/client'.
If you have a custom firewall rule for the Client API, you'll need to update it for the new executable name too.
And that's it! Let me know if you have any trouble.
QMediaPlayer
This is for advanced users only. Also only users who run from source and use Qt6!
I integrated Qt's built-in media player this week. I hope that in future it may be a fallback for users who cannot run mpv. Unfortunately, while it worked surprisingly well when it worked, it was also very crashy. I've got it stable when running from source, but it seems to insta-crash when in a build, so that's something to figure out later.
If you are an advanced user who runs Qt6 from source, you will now see the new experimental Qt Media Player as a selectable viewer under options->media for audio, animations, and video. It has a number of limitations (check the changelog for the full list), but it does work in most cases. Have a play with it and let me know how you get on.
next week
This week was a lot of work for what felt like little outcome. I was disappointed that QMediaPlayer crashed in the build. In any case, I'm short on getting small things done, so I'll return to that. Just some little fixes and quality of life.
I am taking my vacation week on the 8-14th of June, so I have four releases left before then. I won't go for anything huge, but try, if I can, to tie up some loose ends.
1 note
·
View note
Text
Version 525
youtube
windows
windows
zip
exe
macOS
app
linux
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
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.
0 notes
Text
Version 495
youtube
windows
Qt5 zip
Qt6 zip
Qt5 exe
macOS
Qt5 app
Qt6 app
linux
Qt5 tar.gz
Qt6 tar.gz
I had a great week working on more Qt6 support and getting Note Import Options ready for advanced users to try out.
Qt6
The Qt6 launch last week went generally well. There were a couple of little typo bugs as expected, but most users reported nothing drastic.
I have fixed several issues and also improved graphical quality at >100% UI scale. Qt6 handles UI scale tech much better, but that also exposed all the better where my custom UI was failing. Thumbnails at 125% were looking pretty ugly, with nearest-neighbour scaling, so I knuckled down and did my homework on how all this is supposed to work, and I think I have it fixed. Thumbnails should look ok at any UI scale in Qt6, and their banner text too. My fixes apply to Qt5 too, but as far as I can tell that only really works comprehensively for 100%/200% scale. I will try to tackle the media viewer next week.
If you are an experienced user with a backup, please feel free to try Qt6 out on your real install. If both Qt5 and Qt6 are available, the client will now default to Qt6, so you shouldn't need to do a 'clean install' like last week. My test of this went fine, but if there is some odd dll conflict when you try to boot, check here on how to clear things out and either revert to Qt5-only or try Qt6-only:
https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
Any reports on failures here would be useful so I can write in any needed 'delete these old files' rules to the Qt6 Win installer.
As a reminder, afaik Windows 7 cannot run Qt6, so don't try it out if that's you. I will switch over to Qt6 exclusively in a few weeks, at which point I'll update the help and talk more about your future options, which will be: stop updating the client; move to a newer OS; run in Win7/Qt5 from source.
Note Import Options
Unfortunately I couldn't fit all this in again, but I've done work I'm happy with and have parts of it ready for advanced users to play with. Fingers crossed, the first simple version of this will be completely integrated next week.
The File Import Options update last week went ok. I messed something up with the Presentation Options, so highlighting a gallery or watcher with a default FIO was always showing the same thing (new or all files) instead of what the default actually said. This is fixed.
I have pushed FIO and TIO further together this week. File Import Options and Tag Import Options are now merged into one button and one dialog across the program. The dialog is tabbed, so you edit both sets of options at the same time, and in future, any new Import Options will work through the same interface.
Note Import Options is going to do that very soon. I need to figure out how NIO defaults are going to work (probably the same way TIO does, based on network domain to allow for finicky per-site options as needed) and do some more parsing stuff, and then it should all link together. If you would like to check out what NIO looks like, please hit up network->downloader components->EXPERIMENTAL: check out Note Import Options. Read the help and tooltips, and let me know if it is crazy confusing or if you think I have missed anything simple, obvious, and important.
Downloader creators can also play with note parsing. It isn't linked to anything yet, but you can see how it works. It is pretty simple, just a new Content Parser type. You set the name of the note and parse the text. It'll get washed through the NIO and then applied to the file. The main remaining problem is the parsing system can't yet do multi-line results. I'd like to tackle that in the coming week(s). If you make downloaders, please have a think about what notes if any you would like to parse and what tech I can add to make that easier. However to stop myself going crazy, I have decided for this first version to not allow parsed note names.
full list
Qt6:
if available, Qt6 is now the default. specifically, if the QT_API environment variable is not set, the default is now PySide6, and if that is not available, then PySide2 (Qt5). previously, the opposite was true
fixed a bug in last week's File Import Options default update with the new 'default' FIOs always showing 'new' files on a gallery/watcher highlight. the Presentation Import Options and the check to see if the pending local file domains actually exist now correctly look up the 'default' FIOs
Qt6 has much better UI scaling support than Qt5 for zooms other than 100%/200%. many Windows users are at 125%/150%, which revealed some pretty ugly thumbnails and thumb banner text in Qt6. thank you for the reports. I did my homework and read up on how this is _supposed_ to work and I have hacked pretty thumbnails at unusual UI scales. it also redraws itself correctly when I move from a 100% screen to a different one at 125%; let me know how you get on. I'm quite pleased
the media viewer is still slightly borked at >100%. the fix will be slightly different, but I have a plan and hope to have it sorted for next week.
fixed setting a mouse scroll wheel shortcut in shortcut options in Qt6
as a reminder, as far as I know, Windows 7 cannot run Qt6. I will be dropping the Qt5 build in a few weeks, so if you are a Windows 7 user, have a think on what you want to do--either stop updating, move hydrus to a newer OS, or run from source on Win 7/Qt5
.
note import options and note parsing:
note parsing is ready in parts. I am rolling them out for feedback from advanced users and hope to link it all up into a working system next week!
the different 'x import options', previously file and tag import options, and this week adding 'note import options', are now edited through one combined button and dialog. this 'import options' button dynamically adjusts to deal with how many types of import options the importer has and will relabel and tooltip and right-click-menu itself appropriately
this new button and multi-edit-panel show '(is default)' status in menus and tabs for quick referral
if you want to play with note import options, check out the new EXPERIMENTAL menu option under _network->downloader components_. read the help and tooltips and let me know if I have missed anything simple, obvious, and important
I have no default system for Note Import Options set up yet, so I have not added it for real. I will do something domain-based, similar to Tag Import Options.
I did however write simple note parsing support. any Content Parser can now have a 'note' parsing type, with a note name. downloader creators, please feel free to play with this, although it isn't complicated and isn't plugged in yet. I think we should review what sites have parseable notes and plan for that rather than start implementing for real just yet. the main limitation is that the parsing system can't do multi-line results yet
I'd like to see if I can get NIO defaults going next week, and this should suddenly all lock into place. multi-line parsing may be easy or a massive pain, I'm not sure yet
.
misc:
added two new checkboxes to _options->files and trash_ to turn off the yes/no confirmation when you copy/move file across multiple local file services
the 'overwrite this session?' confirmation dialog now says the session name you are overwriting
fixed a bug where thumbnails were not immediately updating their banner text on changes to the summary generator objects in _options->tag presentation_
moved the 'focus thumbnail in preview window' checkboxes from 'gui pages' options page to 'thumbnails'
updated the text and enabled status of the 'BUGFIX: discord DnD' stuff in _options->gui_
updated the job description texts in the file maintenance dialog, improving formatting and clarifying what happens in each missing/incorrect job, and what 'remove record' means precisely (it leaves no deletion record)
fixed a bug from last week when trying to edit your default tag import options
.
boring note import options cleanup and refactoring:
moved ClientGUIImport code up to a new hydrus.client.gui.importing module, refactored it into multiple files, and merged in some other edit panels for various import gui
merged the file/tag import options buttons into one cleverer and cleaner class. changed its update callables into nicer Qt signals. wrote a new tabbed edit panel for it to work with, and replaced all old import option buttons across the program with the new system
fixed an issue where the 'import options' buttons (now merged) would allow you to set them as 'default' through the right-click menu even when the button was set to not allow defaults (this state occurs in the options dialog, when you _set_ what the defaults are)
fixed the same when you try to paste default options into the button
brushed up and completed the note import options object
wrote a 'edit note import options' panel
fixed a small thing where the 'string-to-string' list widget wasn't setting the custom 'value' column header name correctly
next week
More of this, I'm afraid! I regret focusing on this for so long, but the work is going well and I want both done properly. I'll see if I can get the media viewer displaying good at >100% UI scale, knock off any other Qt6 problems, and then hammer out Note Import Options defaults so we can actually start parsing real stuff.
1 note
·
View note
Text
Version 494
youtube
windows
Qt5 zip
Qt6 zip
Qt5 exe
macOS
Qt5 app
Qt6 app
linux
Qt5 tar.gz
Qt6 tar.gz
I had a great week with two big changes. First, there is an optional 'Qt6' version of the program for advanced users to try out, and second, File Import Options has some important updates.
Qt5 and Qt6
If you are a regular user, stick with the Qt5 versions of the release this week. It is the same as before.
Hydrus is moving up to a new version of its UI library, Qt. The new version has a ton of bug fixes and generally better support for newer OS concepts like UI scaling. I am going to be putting out releases for both 5 and 6 for a month or two, testing it with advanced and then normal users, and then will switch to 6 exclusively. Everything seems to be going well, and you don't have to do anything.
If you are an advanced user though, please try out the Qt6 builds. They work exactly the same as the old ones. Just to be careful, I recommend you not try them on your real database first off, and doubly so if you do not have a great backup. I am not worried about database damage, but you never know, and if there are problems, I don't want to give you inconvenience on your main install. Try a fresh extract on your desktop first to make sure it boots ok, and then delete that extract. Then, if you want to try it on your real database, try doing a 'clean install' as here: https://hydrusnetwork.github.io/hydrus/getting_started_installing.html#clean_installs
If you don't do a clean install, you'll still have Qt5 dlls in your install folder and the client will default to the older version (for now). If you are a macOS user, you don't have the concept of 'clean install', so just run the App as normal, but make sure you have a backup of your database first. There's also no Windows Qt6 installer yet. You can check help->about to see what version of Qt is currently running.
So far, the update has been remarkably smooth for me, with very few bugs. A user has been watching the situation for me and kindly provided a patch to deal with the most important syntax changes, so moving over has not been a massive pain in the neck. I've been using it IRL for a few days now and I think things are just that bit smoother and less flickery.
I am particularly interested in Linux and macOS users' feedback. So far, the main limitation I know about is that Windows 7 can't run Qt6 (it is just too old), but there may be other issues in other platforms. Let me know, and we'll see if we can iron them out.
I am going to keep hydrus Qt5 compatible, so anyone who needs to stay on it but wants to keep updating will have the option of running from source.
file import options
My other plan for this week was getting 'note parsing' working for the downloader. I laid out everything I would have to do, and the first bulky thing I have to do is get 'Note Import Options' integrated. That will be a surprising amount of work, and over some ugly areas, so I decided to take things a little slower and do some cleanup beforehand so I could do it properly.
So, this week I overhauled some of how File Import Options works. There is some behind the scenes work to make all the import options work a little nicer, and also, on the front end, File Import Options now does two new things:
First, File Import Options now has a filetype filter. You can say 'only allow jpegs' or 'only allow video' or whatever you like, just like the 'system:filetype' search predicate. Import Folders used to have this too, but they send those settings down to their File Import Options when they update this week.
Second, File Import Options now have the idea of being 'default' like Tag Import Options do. All your existing File Import Options will stay as they are, but any new ones will be in 'default' state, meaning at the time of import, your settings under options->importing will be used instead. This makes it easier to edit your File Import Options en masse, since there is only one place to go for most changes you ever want to make.
The manage subscriptions dialog now has a 'overwrite file import options' button too, if you do want to mass-set some specific File Import Options across your subs. You might like to just set them all to default this week--I think I will.
This 'default' concept is going to be applied to Note Import Options too. I am still thinking about how extensive the defaults system should be for File and Note Import Options. At the moment, File Import Options still just has the 'quiet' and 'loud' defaults in the options dialog, but I could expand things so you can set a default File Import Options for particular domains as you can for Tag Import Options. I'm thinking of combining them all into one tabbed edit dialog, so I may also extract the Presentation Options out of File Import Options, since those may have a different shape of 'defaults' than File Import Options most of the time. If you care about this stuff, let me know what you think.
full list
QT6:
thanks to a user's help, we are rolling out a Qt6 test build this week. we've been running Qt5 for a few years now. 6 is mostly a very large bugfix patch, and I am hopeful this update will relieve several legacy issues related to UI scale, colour support, draw flickering, and other unusual stuff. so far, it is working for me great. I'll be putting out joint 5 and 6 builds for 4-8 weeks, to iron out any big problems, and then I'll switch over to 6 releases exclusively. if you are an advanced user, please give it a go this or next week and let me know if you run into any traceback errors about deprecated method names or completely jank layout in the less used parts of the program
the actual changes you'll see are mostly style, just slightly different font spacing, things like that. if you have a system-baked Qt5 style that hydrus magically inherits, this will no longer work, you need to get a Qt6 version of the style (although I understand this is happening already for the popular styles, so you may already have them)
users on Windows 7 and similarly old OS versions are unable to run Qt6 programs, sorry!
I intend to keep the code 5-compatible, and users who run from source can choose whichever version of Qt they prefer, as here in the help: https://hydrusnetwork.github.io/hydrus/running_from_source.html#qt
the linux Qt6 build also goes up from ubuntu 18.04 to 20.04. let me know if you have any trouble, but it feels like it is time to update this too
.
file import options overhaul:
I wanted to do note parsing this week, but when I reviewed the whole job, there wasn't enough time to do it properly. so, in prep for a cleaner introduction of 'note import options' next week, I am overhauling how the other import options do some stuff
all file import options now support filetype filtering! it uses the same control as system:filetype or in import folders, but with some improved logic. on update, existing import folder filetype settings will be copied down to the file import options
file import options now work on a similar 'default' system as tag import options. existing file import options will stay as-is, but new ones will begin in a 'use the default settings at time of import' state. those defaults are editable under _options->importing_. for now I am not adding a 'use this file import options default for this web domain' system, but it might happen in future. let's see how this all shakes out first
the file import options button now has a right-click menu like the tag import options button
the manage subscriptions panel now has a 'overwrite file import options' button to mass-set FIO
cleaned up a bunch of old file import and import options code
.
misc:
system:filetype now remembers meta filetypes better. if you select 'all video', it will now still select all video even if hydev adds support for a new video type in future. also if you select 'video + animations', it'll say that rather than listing out every possible specific-type
fixed an issue where loading a favourite search wasn't always setting 'include current/pending' values on the buttons correct
fixed up a status display in the gallery downloader and watcher pages--if you pause an importer while it is doing work, it now says 'pausing...' as its status until any current jobs are finished. it was giving empty text before, as if it were finished already
fixed some unusual behaviour with downloader highlighting where the first query pended to an empty page was secretly highlighted for the next session load, and fixed the 'subscription gap downloader' also doing this and not obeying the normal 'highlight new downloaders if nothing already highlighted' option
improved the error when the 'make sure this directory exists' function runs into a file with that pathname
fixed a rare selection position error, maybe Qt6 only, when clicking in the thumbnail grid as it is loading
.
boring Qt6 code cleanup:
as a side thing, I set up quick-launch environments for QtPy5, QtPy6, PySide2, and PySide6 in my IDE this week, so I can now test all these situations and jump back in time no problem in future
integrated a user's patch to bring us up to Qt6 compatibility and did a little more work to get it backwards compatible with older qtpy and Qt5
refactored the critical Qt boot setup and monkeypatching from QtPorting to a new QtInit module
migrated the hydrus code for keyboardModifiers, event-pos, and globalPos all to the Qt6 equivalents so the monkeypatching is always going to be on older versions looking forward
fiddled with QPoint and QPointF conversions a little so I _think_ Qt5 and Qt6 is always talking about the same type
updated build scripts and requirements.txts for the new situation
updated the help a bit for the new situation
next week
Note Import Options! I'm going to focus on it. I'll see if I can merge all the Import Options together, get the note merge tech we need working and tested, and then get some actual note parsing working in the downloader so we can play around with it.
0 notes