rewrote thumbnail canvas and scrolling code from a crashtastic monolithic bmp to a lighter, faster, and more flexible page buffer
all custom gui elements should be less flickery
the manage tags dialog will now grow significantly taller if its parent window is also tall
dialogs launched by the media viewer will initially position themselves according to that, rather than the main gui
dialogs launched by controls will initially position themselves according the control's toplevelwindow, as originally intended
thumbnail download (for file repositories) no longer happens silently in the background; it will now occur in the repository sync daemon, reporting its progress in the normal repo sync popup
missing thumbnails are now replaced with the hydrus psi symbol silently, with a simple statement written to the log
fixed a tiny typo in update error code that was reporting version wrong
fixed a typo bug in gettagarchivetags
fixed a typo that had broken namespace sorting
numerous other single-line miscellaneous bug fixes
fixed a bug with displaying media with size (0,0)
fixed a bug with zooming in flash files
improved some buggy tag selection logic that was sometimes desyncing indices between menu popup and selection
tags will now stay selected even through changes to the tags list
any attempt to close the autocomplete dropdown floating frame should now bump the close event up to the whole program
linux release now includes source code alongside executables
fixed a problem when trying to do a multi-release update that contained the v146 update
fixed the 'canvas not resizing after media removal' bug
when an autocomplete appears in a dialog, the dropdown window will integrate into the dialog (rather than being a popup), allowing mouse interaction
refitted the paths-to-tags dialog so the different static boxes and newly embedded A/C dropdowns fit better
fixes to and cleanup of sibling tag retrieval code
fixes to and cleanup of sibling tag filter code
fixes to and cleanup of sibling tag search code
fixes to and cleanup of sibling tag display code
fixed a couple bugs in READ autocomplete tag search caching that was stopping namespaced queries searching properly if typed in manually rather than pasted
fixed a similar bug in WRITE autocomplete tag search
fixed a bug that was ignoring namespace entirely in WRITE autocomplete
synchronised subscription popups' new file buttons with the text
manage tags and ratings dialogs will now OK on F3/F4, not CANCEL
zoom switch (default shortcut 'z') will now work for images smaller than the media viewer's canvas
in the media viewer, the canvas-fitting zoom value is now inserted into a media's scrollable zooms
added 'tags box background' gui custom colour
volume, chapter, and page tags will sort properly again in thumbnail view, including last week's improvements
the thread watcher will no longer break its checking loop on non-404 http request or parse errors (i.e. the manual 'check now' button will still work after a misc error)
to remove clutter, the preview window will no longer show tags and file information like the normal media viewer
subscriptions will now show a live 'show files' button as they process
the copy and 'open new page' right-click menu options on tags will now work on more controls
cleaned quite a bit of tags box code
cleaned up and unified a lot of miscellaneous canvas zoom and display code
fixed an error when trying to upload a file petition without any accompanying file uploads
when making a READ autocomplete tag query, instances of tags that only have a count in a single namespaced domain will no longer accumulate helper results in the non-namespaced domain i.e. no more 'blah (1)' 'title:blah (1)' dupes
improved the way the above results are calculated
pixiv artist downloading now correctly asks for numerical artist id
reworded some of getting started with files help page to better explain multiple selection
widened the splash screen a bit so db update messages have more space
all frames and dialogs now have an explicit minimum size that is usually far smaller than their initial size
the dialogs with listctrls (import files, manage custom filter actions, and so on) now start a little shorter in height
fixed some bad sizer flags in dialogs with listctrls
rebalanced content update throttling for quicker correction under heavy load
moved the new 5 second break in the gallery parser to a position for quicker status updates
the gallery parser will report total urls found when it is finished (even if that is zero) and wait a bit to let you read that
fixed services->news to hide if you aren't connected to any repositories
autocomplete boxes are now a very slight shade of blue, see if you like it
fixed 'launch file externally' for linux and os x
fixed 'launch directory externally' for linux and os x
fixed 'set up server for me' for linux and os x, I think
improved some general external-process-launching code
added wildcards to autocomplete results and file queries
autocomplete results will match your wildcard _exactly_
a new predicate type will appear at the top of wildcard queries; selecting it will search files with that wildcard
the new wildcard predicate can be prepended with a minus sign to exclude from results just like normal tag and namespace queries
in wildcard predicates, namespace and/or tag can contain wildcard characters
added some wildcard help
putting in '***' as an autocomplete query is now a pretty bad idea!
fixed some logic in how tags are matched against unusual search input in the db
sped up and cleaned how tags are matched against search input
fixed some namespace logic in how tags are matched against search input
below-character-threshold autocomplete queries will now return all applicable namespace results (e.g. putting in '1' will return [ 1, page:1, chapter:1, volume:1 ], not just [ 1 ])
added 'open externally' to launch the file in default external program to thumbnail and media viewer menu
added a five second delay between gallery-page fetches in the downloader to reduce chance of 429 errors (this was affecting big sankaku searches)
added danbooru webm downloading
fixed a typo in the thread watcher
fixed a bit-rot bug that was stopping the 'like' ratings filter from launching
combined mappings are no longer calculated and stored
recalculate combined mappings obviously removed from database menu
combined mappings no longer have to be recalculated on a service deletion; the accompanying 'this could take a long time' warning dialog is gone as well
combined mappings autocomplete counts are now calculated on-the-fly
combined mappings tag queries are now performed on-the-fly
combined mappings namespace queries are now performed on-the-fly
combined mappings zero/non-zero tag count queries are now performed on-the-fly
combined mappings regular tag count queries are now performed on-the-fly
corrected some logic with regular tag count queries, I think
autocomplete tag cache dirties and culls itself more efficiently on tag update
autocomplete tag cache dirties and culls itself more efficiently on file import/delete
removed a couple of non-useful AMP tests that were breaking due to a previous change in connection code
improved how popup messages give the gui permission to update; hopefully the gui will lock up less when big jobs with popups are happening
improved some misc timing logic
improved some repo sync timing logic
added simple emergency throttling to the repo sync daemon when the CPU/HDD is getting hammered
improved some repo sync text number-grammar and timing
added sankaku channel booru, including flash
the booru downloading code that discovers image urls is more flexible
improved my job pause/cancel logic so paused jobs, when cancelled/completed, will report themselves as no longer paused (this was affecting the downloader page, with paused jobs not dismissing themselves on a subsequent cancel)
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
added a menu option to any tag's right-click menu to open a new search page for that tag
added a subscription cache to the client database to speed up subs checking
added a filter to the message popup system so those annoying and 99% pointless PyDeadObjectErrors will not display. they will still be written to the log
cleaned up a couple of temporary file deletion errors
improved some more temp file deletion error handling
fixed a bug that I think was stopping file repositories from being deleted
improved the manage services db edit log
fixed a bad comparison that was causing superfluous edit actions after a manage services dialog ok
fixed a new bug related to displaying non text in the popup system
added a 'just woke from sleep' check to all daemons, so CPU heavy stuff like repository sync will not initialise if you just woke your computer. the grace period lasts about ten minutes
retuned the way the subscrption daemon initialises (it'll now wait two minutes after startup before firing)
fixed a typo that was causing fatten service info to fire more often than it should
added a yes/no warning to options ok when the thumbnail dimensions have been changed
added a popup message when thumbnail dimensions have been changed to report on deletion progress
added account testing to my server db testing suite
improved the security of the registration_key->access_key transaction; it'll now generate a new access_key with every call
fixed a critical media scrolling bug due to the wx update
improved some bad media scrolling code, sped things up a bit
fixed 'top' and 'bottom' media scrolling events
fixed a typo that meant the default fullscreen media browsing shortcuts were ctrl+ appended rather than working on their own
overly-verbose errors and other text popups are now cropped to 1KB for gui display, with a notice. the full message will be printed to the log as usual
improved how severe boot crashes are reported
fixed a bit of text-reporting code that wasn't handling non-text very well
improved handling of a weird popup message manager error
fixed an occasional overhasty cleanup error in the checkimportfolders daemon
added options for default values for the thread watcher's number of times to check and check period
fixed the thread watcher complaining about closing when the checking was finished
optimised some id generating code to stop spamming the id cache, which I think was overloading after a while and causing weird PyAssertionErrors
neatened autocomplete dropdown service storage and menu id generation
improved menu id generation for tagbox
fixed opening new petition page from view menu
added a 'this might take ages' warning yes/no dialog when trying to delete a tag service
added a little popup message info to report on progress when deleting a tag service
added some server db testing
fixed an error when double-clicking a tag in a page without search predicates
updated some help links from mediafire to the new github releases page
fixed a typo bug in server db's account flushing code
merged two complicated serverside account tables into two simpler tables
with this action, was able to clean out a lot of rubbish old server account code
made it so accounts can only be on one service. existing (admin) accounts that straddled sevices will have new access keys printed in a text file in the base installation directory on server update
rewrote the account object to be simpler and easier to maintain
swapped the old rubbish 'account_id' identifier in the account object for the much better 'account_key' identifier
harmonised some conflicting account-related variable names
refined the way the unknown account is stored and identified
split serverside account verification and identification into two separate paths, to reduce chance of security problems
reworked account identifiers (a general purpose account identifying object that is used in admin-server interactions) and their associated db functions to be more secure and reliable
simplified account data use checking
simplified and harmonised the way used bytes and used requests are stored and retrieved in the account and account type
with guarantee of account_key uniqueness across entire server, I have simplified session code in several places
updated help to reflect the new relationship between access keys and account keys
added 'copy account key' button to review services, which will now be the thing for users to use if they need an admin to modify their account
fixed serverside credential verification for non-instantiated (still have a registration key) access keys
added a bit of explaining text to the 'waiting' autocomplete state
fixed a typo that caused errors when deleting files from a file repo
improved assumed permission defaults on tag dialogs and right click download/upload actions (i.e. tag dialog's entry A/C will no longer disappear when you desync from tag service)
removed account desync on network version mismatch, to stop this problem anyway
fixed tag parents not showing in autocomplete dropdowns
added sqlite3 command line tool to db folder for convenience
fixed a typo in manage server's services dialog
some misc code cleanup
added default advanced tag options pane to manage options dialog
added default advanced tag options to manage subscriptions dialog
fixed booru namespaces in manage subscriptions dialog to be booru-specific
added default advanced tag options to normal download pages
No Comments