After a temporary very busy period, I had a good, normal week. If you celebrated Thanksgiving as well, I hope you had a nice time! I was thankful to have safety, to not be hungry, to have nice friends and family, and to not have ebola.
In this week, I have added, fixed, and otherwise improved several small things.
For OS X users: A user contributed a great ReadMeFirst.rtf that describes how to get hydrus running well on OS X, and how best to upgrade to new versions. I have put the file in both OS X releases.
You can now edit the timings on the automatic maintenance routines (vacuum and delete orphans), including turning them off entirely, in the client's options dialog. Just look under the new 'maintenance and memory' page. You can also edit the 'idle' time, which is how many minutes of the user not doing anything that the client waits before checking to see whether it should run db maintenance.
animation scanbar responsivity
Due to some bad timing logic, the way the scanbar (the little grey bit under an animation that lets you change its position) was updating the current frame slowly (sometimes very very slowly) when clicked. It now should respond as fast as you click, including when you drag the scanbar back and forth. This smooth dragging seems to work at 60fps on my computers, so I'm really pleased with it.
Also, the scanbar will show the current frame number, just in case you are interested!
I have rejiggered how static (i.e. non-animated) images get resized when you zoom in and out so that instead of the old super-fast and super-ugly method, they are now a little slower and much more beautiful. You shouldn't see any ugly jaggies or moiré effects, I don't think. This new zooming can get slow on very high resolution images, so I might revisit it. If you find it unacceptably slow, let me know, and I'll add an option to restore the old fast method.
I rewrote about 50% of my popup messaging code this week, so you may find some messages look a little different, or they tell you a bit more information. The new system is hugely more flexible than the old one, so I'll be adding more popup info to existing processes in coming weeks. Most of them don't currently write themselves to the log, just because I ran out of time to get that done. If any of your popup messages break, please let me know!
I'll be doing the other half of this popup stuff next week, hopefully adding pause and cancel buttons on certain big operations like repository syncs.
created new 'maintenance and memory' options page in the manage options dialog, and moved some things over from 'files and memory', which is now 'files and thumbnails'
added options for idle, vacuum, and delete orphans periods to the 'maintenance and memory' page in the manage options dialog
fixed the incredibly annoying animated scanbar delayed-frame bug, where a click on the scanbar would not draw the new frame until the old frame's expected delay was complete. scanbar scanning is a lot smoother all around, now
animations now show their current frame number in the animation scanbar
status bar now shows inbox/archived counts on any selection
reworked static image zoom code so they resize beautifully, without jaggies, at the cost of a bit of CPU and memory
created new flexible message pathway
moved most messages to new pathway
improved a bunch of message and job_key related code
btw: messages will no longer close themselves; their end state is now to report what happened until you dismiss them. if this turns out to be annoying, I'll change it
fixed the pending menu not updating its count when files imported and added tags via archive sync
improved the logic behind the 'computer just woke from sleep' calculation
improved the accuracy of the 'client is currently idle' calculation
improved database vacuum so the .db-wal file is flushed afterwards, for both client and server
because of better vacuuming, server db backup no longer needs to create a bloated .db-wal backup
removed a very common superfluous empty tag upload packet in normal tag uploads
I'll do the popup stuff, and I'd love to give tag update processing another profile pass, to speed it up. I've almost convinced myself that a several-hundred-MB table in the database is not needed, so I may be deleting that and saving a lot of space and hopefully CPU time.
A user is also waiting on me to fix a weird thumbnail rendering problem, so I'll jump on that as well. (If you have had thumbnails suddenly stop fading in after scrolling down a bit, please let me know!) Other than that, I'll just try to clear out some more small things. I'm enjoying doing this quick stuff, and there is no end to do.