/hydrus/ - Hydrus Network

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


New Reply on thread #1393
X
Max 20 files0 B total
[New Reply]

[Index] [Catalog] [Banners] [Logs]
Posting mode: Reply [Return]


https://youtube.com/watch?v=VFyu1qvub7A
windows
Qt5 zip: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.Windows.Qt5.-.Extract.only.zip
Qt6 zip: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.Windows.Qt6.-.Extract.only.zip
Qt6 exe: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.Windows.Qt6.-.Installer.exe
macOS
Qt5 app: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.macOS.Qt5.-.App.dmg
Qt6 app: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.macOS.Qt6.-.App.dmg
linux
Qt5 tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.Linux.Qt5.-.Executable.tar.gz
Qt6 tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v503/Hydrus.Network.503.-.Linux.Qt6.-.Executable.tar.gz

I had a good week improving how the program works behind the scenes. The build is more reliable, and it is now easy to run the program from source in Windows.

reliability

tl;dr: The program breaks less now and in the future.

Just as I was hotfixing a fresh boot problem last week, in the intervening time yet another boot problem arrived! We've been hit by several of these in the past couple of months, and I hate causing people this stress, so I decided to put some time into the way the official release is put together. I really hope this will not happen as much in future.

This is mostly technical, but the requirements.txts that prep the program environment are simpler, laid out for easier reading and maintenance, and have frozen version numbers for important libraries. I also put time into the build script itself, doing some cleanup and anti-deprecation work. The issues with PySide6 and dateutil are fixed.

I want the program to be more stable going forward when I click 'publish'. It has been duct-tape-and-a-prayer for too long. Thank you to those who report problems, and please keep them coming if and when this new system fails. I want to keep improving things here, especially too as more users run from source.

running from source

Absent any more issues, I expect this to be the last week I put out a Qt5 build. The Qt6 build is stable with no giant outstanding problems. Users on Windows 7 (and some similarly old Linux and macOS versions) cannot run Qt6, so they will need an alternate solution.

It is now easy to run the program from source in Windows. I have written several batch files to make it simple, no technical knowledge required beyond the ability to open a zip file, and the help has a brand new full walkthrough. If you want to run Qt5, the way to do so is equally simple and clearly labelled. Updating, too, is very similar to how you already update with the Windows extract zip.

https://hydrusnetwork.github.io/hydrus/running_from_source.html

The process is also simpler and clearer for advanced users who want to use 'git', 'venv', and 'pip' manually. If you have been running hydrus from your system python, you might want to check out the help to learn how to set up a venv--it is really easy these days, and you can save yourself a real headache.

I'm obviously interested in reports if any of this fails for you; or if there is anything you find confusing. There is more work to do here, and once we have a workflow people are happy with, I would appreciate if some advanced Linux and macOS users can translate my new .bat files roughly to .command and .sh (I just don't have the familiarity/expertise in these platforms to do this well), so we have easy 'running from source' support for all platforms.
full list

- misc:
- fixed show/hiding the main gui splitters after a regression in v502. also, keyboard focus after these events should now be less jank
- thanks to a user, the Deviant Art parser we rolled back to recently now gets video support. I also added artist tag parsing like the api parser used to do
- if you use the internal client database backup system, it now says in the menu when it was last run. this menu doesn't update often, so I put a bit of buffer in where it says 'did one recently'. let me know if the numbers here are ever confusing
- fixed a bug where the database menu was not immediately updating the first time you set a backup location
- if an apng has sub-millisecond frame durations (seems to be jitter-apngs that were created oddly), these are now each rounded up to 1ms. any apngs that previously appeared to have 0 duration now have borked-tiny but valid duration and will now import ok
- the client now catches 529 error responses from servers (service is overloaded) and treats them like a 429/509 bandwidth problem, waiting for a bit before retrying. more work may be needed here
- the new popup toaster should restore from minimised better
- fixed a subtle bug where trashing and untrashing a file when searching the special 'all my files' domain would temporarily sort that file at the front/end of sorting by 'import time'
- added 'dateutil present' to _help->about_ and reordered all the entries for readability
- brushed up the network job response-bytes-size counting logic a little more
- cleaned up the EVT_ICONIZE event processing wx/Qt patch
- .
- running from source is now easy on Windows:
- as I expect to drop Qt5 support in the builds next week, we need an easy way for Windows 7 and other older-OS users to run from source. I am by no means an expert at this, but I have written some easy-setup scripts that can get you running the client in Windows from nothing in a few minutes with no python experience
- the help is updated to reflect this, with more pointers to 'running from source', and that page now has a new guide that takes you through it all in simple steps
- there's a client-user.bat you can edit to add your own launch parameters, and a setup_help.bat to build the help too
- all the requirements.txts across the program have had a full pass. all are now similarly formatted for easy future editing. it is now simple to select whether you want Qt5 or Qt6, and seeing the various differences between the documents is now obvious
- the .gitignore has been updated to not stomp over your venv, mpv/ffmpeg/sqlite, or client-user.bat
- feedback on how this works and how to make it better would be appreciated, and once we are happy with the workflow, I will invite Linux and macOS users to generate equivalent .sh and .command scripts so we are multiplatform-easy

- build stuff:
- _this is all wizard nonsense, so you can ignore it. I am mostly just noting it here for my records. tl;dr: I fixed more boot problems, now and in the future_
- just when I was getting on top of the latest boot problems, we had another one last week, caused by yet another external library that updated unusually, this time just a day after the normal release. it struck some users who run from source (such as AUR), and the macOS hotfix I put out on saturday. it turns out PySide6 6.4.0 is not yet supported by qtpy. since these big libraries' bleeding edge versions are common problems, I have updated all the requirements.txts across the program to set specific versions for qtpy, PySide2/PySide6, opencv-python-headless, requests, python-mpv, and setuptools (issue #1254)
- updated all the requirements.txts with 'python-dateutil', which has spotty default support and whose absence broke some/all of the macOS and Docker deployments last week
- added failsafe code in case python-dateutil is not available
- pylzma is no longer in the main requirements.txt. it doesn't have a wheel (and hence needs compiler tech to pip install), and it is only useful for some weird flash files. UPDATE: with the blessed assistance of stackexchange, I rewrote the 'decompress lzma-compressed flash file' routine to re-munge the flash header into a proper lzma header and use the python default 'lzma' library, so 'pylzma' is no longer needed and removed from all requirements.txts
- updated most of the actions in the build script to use updated node16 versions. node12 just started getting deprecation warnings. there is more work to do
- replaced the node12 pip installer action with a manual command on the reworked requirements.txts
- replaced most of the build script's uses of 'set-output', which just started getting deprecation warnings. there is more work to do

next week

I did not have time to do the sidecar import/export improvement, so I'll try again next week. I'd love to have 'neighbouring .txt file' support for URLs and .json/.xml, but let's see what I can manage.

Thanks everyone!


 >>/1396/
Great! For the right-click stuff, can you tell me which, if any, right-clicks work in the correct place? Is it always that right-clicks on the thumbnails are broken, but those on tags are good? Or are right-clicks on the taglist also broken, but ones on a normal text input widget ok? When they go wrong, were do they go? Is it always the top-left corner of the widget you click on, or does it go in a different direction?

I spawn my own menus on custom panels like the taglist and thumbgrid, but the way I do it has no coordinate, and I think it is up to the Window Manager to choose whether to do it on current mouse coordinate or top-left of the widget or something.


thumbnail of 54774.jpg
thumbnail of 54774.jpg
54774 jpg
(100.67 KB, 1365x712)
Very rarely sometimes the file search section would bug out whenever I move to another tab or page. Whenever I would do a search or open a new search page, sometime the search side would stretch across to whole page. I'm not sure if I missclicked something or what but this has been the 2nd time I had this happen since I updated to 503. Only way I've been able fix it is to close out of the page entirely and restard. Also using the Qt5 version of hydrus.

I had a great week focusing on a full-scale update of the 'neighbouring .txt' import/export system. When you import or export files, you can now send URLs as well as tags; you can use .json instead of .txt; you can transform and filter text as it passes through; and you can set up workflows to multiple files at once. Everything is presented and edited in new UI.

The release should be as normal tomorrow.

 >>/1398/
I was not familiar with what 'proxy pac' was, but it is a kind of javascript proxy configuration file? I don't support this, but if you run from source there may be a way to hack it in. I did a little search, and it looks like the main network library I use, 'requests', does not support this format easily:

https://stackoverflow.com/a/31534229

Some custom libraries referred in that same question seem able to do it. They may work well, but I do not know.

Whenever someone has a complicated proxying request, my general answer is to first see if your program supplies an OS-level or application-level wrapper, since that is always going to be easier and faster and more reliable than anything I can hack together. Do you have anything like that, where you can say 'any traffic from 'hydrus client', please wrap in this proxy'?

 >>/1399/
Thank you for this report. It looks like the media panel (the thumbnails area) is not being swapped correctly. If and when this happens again, can you please hit pages->management and preview panels->show/hide? That normally hides the panel on the left. Maybe it fixes your layout, maybe it reveals more information. It might be the media panel is there, but it is 0 pixels wide on the right. There's a 'restore' command on that same menu that might be helpful in fixing it, too. Let me know what you see. And if you can figure out what is more likely to trigger this bug, so I can try reproducing it reliably on my end, that would be helpful.


 >>/1397/
Right-clicks in the main screen are broken (thumbnails and tags). The menu goes on top of the screen. Tags in file / tag viewer seem to work.
Testing is bit difficult because everything works on boot but breaks after using Hydrus for a while, I don't know what triggers it. If I find anything I'll let you know.

Thanks again!

 >>/1401/
Sorry to say my network engine isn't clever enough for this yet. I hope to have individual domain proxy settings in the next time I update that system. It might be we are in a position then to suck up your configuration file here and auto-populate the settings, but this may be a long time in the future.

 >>/1402/
Thanks. Sorry about the breaking after a while, keep me updated!

 >>/1400/
> Thank you for this report. It looks like the media panel (the thumbnails area) is not being swapped correctly. If and when this happens again, can you please hit pages->management and preview panels->show/hide? That normally hides the panel on the left. Maybe it fixes your layout, maybe it reveals more information. It might be the media panel is there, but it is 0 pixels wide on the right. There's a 'restore' command on that same menu that might be helpful in fixing it, too. Let me know what you see. And if you can figure out what is more likely to trigger this bug, so I can try reproducing it reliably on my end, that would be helpful.
It took awhile but I waited long enough for it to happen again, its still pretty rare. I used the show/hide option in the pages menu and it fixed it or at least made it go back to its normal page. Nothing else out of the ordinary. Searches and images load fine.


Post(s) action:


Moderation Help
Scope:
Duration: Days

Ban Type:


11 replies | 2 file
New Reply on thread #1393
Max 20 files0 B total