[ / / / / / / / / ] [ b / n / boards ] [ operate / meta ] [ ]

/hydrus/ - Hydrus Network

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

Catalog

The development of the fully open source software behind 8ch.net that anyone can use ("infinity") is a massive undertaking. Please consider supporting the Infinity Development Group on Flattr by clicking here. Your donations also contribute patches back to vichan, infinity's upstream and engine on which more than one hundred imageboards rely worldwide.
8chan Bitcoin address: 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C | Buy Bitcoin easily in the US | Buy Bitcoin anonymously all over the world | Bitcoin FAQ
Name
Email
Subject
Comment *
File
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options
Password (For file and post deletion.)

Allowed file types:jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 8 MB.
Max image dimensions are 10000 x 10000.
You may upload 1 per post.


New user? Start here ---> http://hydrusnetwork.github.io/hydrus/

YouTube embed. Click thumbnail to play.

 No.656

win32

zip: https://github.com/hydrusnetwork/hydrus/releases/download/v154/Hydrus.Network.154.-.Win32.-.Extract.only.zip

exe: https://github.com/hydrusnetwork/hydrus/releases/download/v154/Hydrus.Network.154.-.Win32.-.Installer.exe

source

tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v154.tar.gz

Overall, I had a really good week and a half. I am glad I took a couple days off after v153, and I have done a lot since then.

Unfortunately, when putting the release together today, I thought I would update the python install on my Linux and OS X laptops. I did this on Windows earlier in the week, and it took probably sixty seconds, with most of that being finding the link on python.org. Since non-windows is a little more complicated, I figured a half hour tops while things compiled.

Two hours later I was reading through three-year-old bug reports and desperately making symlinks to hack my graphics libraries back together. Everything got fucked up on both computers about five different ways as I tried to reinstall and update other packages for the new version of python. I'm not an expert on either system, so I was really just digging a deeper and deeper hole. I decided to stop banging my head against a wall–I will make a clean install of my dev environments on when I have some time and energy and no deadline, and I will try to remember not to touch anything on Linux or OS X in future unless I have a lot of time to undo it again.

This means that I can't put a Linux or OS X release out right now. If I can fix everything up on Saturday, I will make an auxiliary release then. Sorry!

hover window buttons

The hover window at the top, which I'm not sure whether to call the 'header' or 'command' hover window, now has little icon buttons instead of ugly-as-hell text buttons. They all have tooltips as well. Let me know if anything doesn't work, or if there are any other commands/buttons you would like added.

I've fixed up some sizing and hover-logic issues as well, so animation controls won't be obscured and the hover windows won't overlap.

subs with no file limit

If you tried to make a subscription without a file limit, it may have broken with zero or one file downloaded. I think I found the problem, so if you had this, please go services->manage subscriptions and reset the url cache on the problem subs. Let me know if they are still broken.

default system predicates

The default values for the system predicates will be reset this week. You can change them back to what you like in the options dialog, which looks just slightly different because I updated it to some new clean code I added in the last weeks.

I also fixed a problem with the options panel and system:num_pixels this week, which means system:dimensions is fixed for those for whom it broke.

yaml -> json conversion success

I want my program shortcut support to cover as many button presses and mouse clicks and actions as possible, so I spent some time this week rewriting the way I store and edit lists of shortcuts so they can better support this in future. For now, this ultimately means the custom filter shortcut dialog, which pops up whenever you start a custom filter, works a little less crazily. I have re-written the entire behind-the scenes and replaced the confusing 'save' and 'save as' buttons with a simple 'add/remove' system that'll save any and all changes on OK. The custom filter will start with whatever shortcut profile you have selected when you hit OK.

I want to do more with shortcuts and the custom filter dialog, including harmonising/expanding it to cover all shortcuts for all actions program-wide. I'm thinking something like the shortcut menus you sometimes get in vidya, with tabbed shortcuts for different classes of actions. You probably want to keep your 'navigating' shortcuts the same, but you might want to swap out different sets of shortcuts for assigning ratings or tags, so if I can split shortcuts into pages or tabs, it would make everything simpler. Anyway, if you have any thoughts on this stuff, let me know!

Since I was completely rewriting shortcut storage, which had been stored in the db as YAML, I decided to put some more work into the YAML->JSON conversion I have been considering the past month and make shortcuts the first JSON object I support. After a lot of thought and trial-and-error, I got a really neat system going. For shortcuts, what before took about 30ms now takes 2ms. Even though the raw difference in speed is fractional, the immense speedup of the serialisation process bodes well for when I transfer some of the larger objects (like tag updates) over to my new system.

Now the difficult part of all this is done, I hope to regularly move other currently YAML-able objects over until all the YAML is gone. Things will work faster, produce fewer bugs, take less space, and be easier to update.

db profiling mode

I have added a db profiling mode, under help->debug, that, while active, will measure exactly how much time every database action is taking, and on what lines of code the most CPU time is being spent, and then dump all that information to the log. This is something I do informally while coding a lot, and now you can produce these reports as well. This means that if a particular search is running slow for you, or if a dialog takes a long time to open, you can:

Activate db profiling mode

Attempt the slow database action

Watch your popup windows fill with profiling notifications

Close the program

Check client.log, under install_dir/logs

Scroll to the bottom, where there will be several new profiles, which are basically long tables of numbers

Copy the appropriate table

Email it to me/post it on the board

And then I can get to work on what is being so slow. This is obviously technical, so please do ask me for help if you can't figure out where your log file is, or what db action name you are looking for, or whatever.

full list

- managed to completely break my linux and os x dev environments trying to update python–their release will come soon, once I've cleaned them up

- removed some old cv code

- updated to opencv 2.4.11 on windows

- fixed a bug in trying to upload a small number of tag petitions

- hover command buttons are now shrunk to exact fit size

- added zoom buttons to command button hover window

- added navigation buttons to command button hover window

- added fullscreen switch button to command button hover window

- added archive/inbox button to command button hover window

- added delete button to command button hover window

- added generic close window button to command button hover window

- added tooltips to all the command buttons

- cleaned some misc canvas code

- hover windows now fit better, without overlap

- moved media info strings to top of media canvas, so they hide behind hover header

- hover windows will now not cover webms or gifs when the mouse is over the media container

- hover command buttons now work for inbox filter, including back/skip buttons

- inbox/archive button feels and works correctly for the inbox filter

- updated manage options dialog's 'default file system predicates' mess to use the new cleaner predicate panels

- all file system predicate defaults have been reset to default

- added system:num_pixels to file system predicates default panel

- fixed the system:num_pixels predicate being broken on options save

- removed the ratings system predicates from file system predicates default panel

- fixed misc system predicate bugs

- moved yaml->json conversion forward:

- settled on object code

- added built-in compression to serialisation

- added db tables and access code to support it

- fixed a little layout mess in the edit custom filter action dialog

- created a rich 'shortcuts' class for storing shortcut->action information that can be easily expanded to handle mouse events as well

- new shortcuts class works on new json storage rather than yaml

- moved custom filter shortcut action storage and general handling to new shortcuts object

- moved old favourite_shortcuts tests to new code

- cleaned a lot of the custom filter dialog code

- rewrote the custom filter setup dialog to work more like other dialogs–now all changes are saved on ok, and save/save as/delete is replaced with add/delete

- auto-creation of 'previous' shortcuts is removed, as all changes are saved to shortcut sets anyway

- removed the ratings filters–the numerical filter may make a return in another form, your thoughts would be appreciated

- fixed a cache counting bug when archiving redundant files during import

- sped up file deletion a little bit

- added an inbox cache to reduce laggy inbox checking, particularly search result fetching on dbs with large inboxes

- fixed subscriptions that have no initial file limit, please reset your sub url caches to fix in these cases

- did a lot of server/client database merging and refactoring

- improved some database error handling

- fixed an error in file repository superbans

- optimised some critical db code

- sped up tag censorship filtering

- added a db profiling mode, accessed from the help menu, that will dump copious db profiling info to the log

- misc code cleaning

- improved some popup mesage print sync timing

- rewrote some server auto-setup code to deal with slowly-starting server

next week

After getting a Linux and OS X release out, I want to spend some time on ratings. A ratings hover window in the top-right of the media viewer, with new custom controls for setting ratings with one click.

I also want to copy the new hover button 'toolbar' to the manage tags dialog so you can navigate and interact in the same easy way while keeping the tagging dialog open. This may be more complicated than I expect, so I may have to put it off.

I enjoyed having the extra time for v154, and I was so pleased with the amount I got done that I considered moving to a two-week update process permanently, but the hectic mess of testing this week-and-a-half's huge changelog today and dealing with the several other problems and one annoying db update bug that took five successive builds to nail down reminded me that a week is a good balance between work done and ease of release. It also means a quicker turnaround on bug reports. I'm already several hours later than I am usually, and I think there might be some bad bugs in this week's release just because I was in a rush. If you encounter any problems this week, please let me know and I'll try to have them fixed by next Wednesday!

 No.658

Ran into issues- this happened with both of my hydrus instances

hydrus client started at Thu Apr 23 00:06:29 2015

booting db

updating db to v154

Traceback (most recent call last):

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 526, in THREADBootEverything

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientController", line 186, in InitDB

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusController", line 110, in InitDB

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 65, in init

Exception: Updating the client db to version 154 caused this error:

Traceback (most recent call last):

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.HydrusDB", line 57, in init

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientDB", line 5407, in _UpdateDB

IntegrityError: UNIQUE constraint failed: json_dumps_named.dump_type, json_dumps_named.dump_name

A serious error occured while trying to start the program. Its traceback has been written to client.log.

hydrus client shut down at Thu Apr 23 00:06:38 2015


 No.660

>>658

Thank you for his report. I was so busy yesterday that I thought I might have let something like this through; I'm sorry you have it. You should be able to downgrade back to v153 without any problems until I have this fixed.

Did you have several sets of shortcuts set up for custom filtering? Do you remember their names?


 No.663

File: 1429910567352.png (75.31 KB, 1391x710, 1391:710, like.png)

>>660

I had one custom filter in one of them, I called it like / skip

Numpad0 would mark a file as "like" using the binary ratings, but every time I viewed it it would show 1.0 as the action, until I edited it and re-assigned it to 'like'.

Here it is after I fixed it (editing and reapplying the action to like, where it said 1.0 before.)


 No.664

File: 1429910957903.png (61.81 KB, 1398x720, 233:120, clothing.png)

>>663

Deleting the filter allowed me to upgrade. Here's the filter for my other instance, if you wanted to see.


 No.665

Thought I'd give you some info on samba performance now that I have it up and running and there's the db profiling option.

Here's what I did to generate this log:

start hydrus from samba (takes roughly 40 seconds)

filter to system:everything (16,532 files)

filter to reactions (1,042 files)

press close button

http://sprunge.us/WeKh

Let me know if there are any particular actions you want me to profile.


 No.667

On a fresh install of 154, I get this trying to click file->options

TypeError

String or Unicode type required

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1945, in EventMenu

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUI", line 1089, in _ManageOptions

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 3454, in init

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIDialogsManage", line 2896, in InitialiseControls

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\include.ClientGUIPredicates", line 407, in init

File "C:\code\Hydrus\build\client\out00-PYZ.pyz\wx._core", line 13006, in SetStringSelection


 No.668

File: 1429998864716.jpg (2.87 MB, 1792x4000, 56:125, 73850296b87eca503c1e20bd42….jpg)

>>658

>>663

>>664

I have fixed this, and I will put a hotfix release out later today. If you still have your v153 db, you will be able to keep your old shortcuts, or you can continue using the v154 you already created after deleting your old shortcuts.

>>665

I'm really glad things are working this fast. Looking over those logs, most of my code works exactly the same speed–only HDD access is a bit slower. This is what you might expect, but I am pleased there aren't any other surprises. This is so successful that I will add some info to help about running the client like this, for future people in your situation.

>>667

Thank you for this. I forgot to update a default value and my test environment happened to skip that, so I didn't see the error. It will be fixed in the hotfix out later today.




[Return][Go to top][Catalog][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / ] [ b / n / boards ] [ operate / meta ] [ ]