All database triggers are removed and replaced with more efficient inline code.
Cached number of files, namespaces and tags for a tag repo are kept updated, so review services should rarely take very long to load.
Cached number of A/C counts (current and pending) are kept updated, so A/C results should rarely take very long to load.
The way A/C cache searches are done is improved.
The way A/C cache entries are calculated is vastly improved.
The way several db SELECT DISTINCT * and SELECT COUNT( DISTINCT * ) queries are performed is improved.
The custom httpconnection object is improved to better deal with server-side connection closes. (Cannot connect to server problem)
The custom httpconnection object does http redirections more intelligently.
The custom httpconnection object now parses non-ascii content-type (e.g. utf-8) properly, according to server-side header. The tag "pokémon" will now parse correctly.
e621 and rule34@booru.org are fixed. (just a couple parsing-variable changes)
If some tag parsing entries are checked on a booru download page, the tags will be downloaded, parsed and applied even to files already in the database.
The mouse cursor will remain visible in the fullscreen browser while the right click menu is open.
I corrected some which->that grammar in a couple dialogs.
Auto-repo-setup (from the help menu) was broken in a very stupid way, but I fixed it. I apologise for not noticing.
Thumbnails now show creator and title up top. They are a bit crushed, so I may rearrange them.
Autocomplete tag cache DONE. Please tell me if you encounter excessive slowdown or incorrect counts.
Autocomplete tag logic improved in about five ways. Tags should appear more intuitively and with more accurate counts.
Copy and paste buttons in manage tag dialog to facilitate spamming many tags from one file to another.
Imageboard dump is fixed!
URL download got fixed last week and I forgot to say!
A peculiar pseudo-foreign-key bug with the active_pending_mappings table is sorted. (leading to more accurate queries and counts)
Since display of large queries is so much faster, the 'woah! 12,000 query results' warning is gone.
Fullscreen precache timings are rebalanced, hopefully for the better!
The importing gui classes are a little smoother, and thumbs should load one by one, not row by row, once the page height is exceeded. The scrollbars should be less janky.
Page transitions are smoother.
Importing from URL will now load those urls that are already inside the db (hella fast, too), just like importing from hdd.
The double-update-download bug is finally fixed! Now you'll download update number 258 only once, and not twice in a row. (I hope!) It never mattered much, beyond a little CPU, but it annoyed the hell out of me. Working out what was wrong took ages. (Long story short: Python's Priority Queues are not parallel FIFOs!)
There was a weird bug in pending tags sometimes going to higher tag-precedence services, rather than the one chosen in the manage tags dialog.
There was a typo in reset service.
More content update unification in the db, making things much neater behind the scenes.
I found a potential hang in the db-shutdown code.
I found another potential hang in the db-shutdown code!
The number of messages in your inbox is now displayed on the statusbar.
Bold, Italic and Underline now work with Ctrl+B/I/U in the message compose panel.
The 'don't receive messages from Anonymous' checkbox in Add, Remove and Edit Services for message depots now does something.
system:unread in message search now has a count.
A draft will remember its saved changes when you click on another conversation and back again.
Message unread/read status now syncs to message depot.
Can set defaults for file system predicates.
Animated Text class written.
system:unread tag in messaging.
Import bug fixed.
Messaging search logic improved.
Message depot default check time down to 180, and daemon thread improved to manage with that.
Application startup is more stable.
Some AddMessage logic improved.
Drag+Drop service fixed and improved.
Tags added while importing will now turn up in autocomplete.
I unified more of the client's content-update db calls. Just making stuff neater.
I massively simplified the autocomplete tag code in preparation for another bash at doing autocomplete cache. A/C is far too slow atm, imo.
Some A/C counts are still off, particularly when there are a mix of current and pending. I couldn't figure out what is causing it, but I'll look at it more as I do the cache.
In add, remove and edit serivces, you can now specify if you want to receive messages from Anonymous or not. Unfortunately, because I forgot to implement it in DoMessageQuery, this checkbox doesn't actually do anything yet! Whoops!
Inbox/Archive for messaging works. The inbox icon is back, and F7 to archive as usual.
Unread/Read for messaging works. Click on your status next to a message panel to change.
All message participants are shown in the conversation listctrl.
The message page will open with 'system:inbox' active, ordered by newest message.
I fixed conversation listctrl sorting in a couple ways.
Some bugs in the db->gui update reporting system are fixed, so the compose window and draft panel will close properly on a message-send, and the conversation listctrl will swiftly update unread counts and inbox status and so on.
The draft panel's save button wasn't updating sometimes when it should have been.
html links in messages will show in the main frame's statusbar and launch in your browser when clicked.
I reworked how many system tags are searched in file queries to make them muuuuch faster. Now, any time you go system:hash, :size, :mime, :age, :width, :height, :duration, it (should) be significantly faster than before.
Ever have a png file that had an ok thumbnail but a black preview/fullscreen? It was probably an 'LA' image, or 'greyscale with an alpha channel'. Display of LA images is now fixed.
Streamlined the way file 'archive' and 'delete' commands are sent throughout the application, with an eye to eventually adding all other user-commands to the same system (to make it simpler, and also to do undo-redo).
I've updated the help docs, including the section on how messaging actually works.
You can now enter system tags with enter/return from the keyboard, not just double-clicking with the mouse.
A whole bunch of stuff I didn't write down that generally made messages work beyond sending "Hello World".
Unicode messages now work.
Newlines in messages now display properly.
Fixed contact saving and drag-and-drop to the manage contacts dialog.
You can now add a contact using a contact address (assuming their service is v39).
A bug in contact renaming is fixed.
My contact (hydrus admin) is now added automatically.
Messages are orphan-deleted properly server-side.
Message depots you control now get an entry under the admin menu.
The conversation listctrl is now properly sorted.
The HtmlWindow that shows message body is now resized to its minimum needed height via magic that I ain't gotta explain.
Messages that fail to send can be retried by clicking on the failed.
Some draft save/send button enable/disable logic was updated.
I switched around some server-side account logic.
You can't zoom a flash window bigger than the screen.
I've made the mouse appear in fullscreen when you move it, and this includes while you drag. See how you feel about it. I'll make options to change behaviour if people care.
Better zip structure. (No more CWD rubbish)
New tar.gz release with only the code and help. Code is 1.2MB, help is 14MB lol. I'll improve the structure of this release next week. I threw it together by hand today, but I'll improve its structure next week.
SVCP now replaced with SCTVCP and CSTVCP for now, with more planned next week.
Repo sync daemon adds db jobs less manically, now, locking up the gui less.
Repo sync daemon reports successful updates to the log.
Tag petition review page has a visual bug fixed.
ThumbnailMediaPanel manages its underlying bmp canvas more intelligently.
Some ugly page-closing code was cleaned up.
There is a 'regex examples' popout window on the regex-filename-tag import dialog, with copy-pastable examples of python regexes that'll work for common filename-parsing situations.
Home and End keys now select the first/last thumbnail as well as scrolling.
DB consolidation, and foreign keys and triggers with it. The db is less prone to orphan ids and miscounts.
For long-time users, all orphan ids should have all been deleted, reducing weirdness.
Total size of local service is now tracked accurately.
Archive while importing should work a bit better now.
Update logic should be more reliable, as should all service_updates.
Archive count for file repos should be less wrong.
Fixed two (!) typos in system:age predicate code.
File upload is fixed (not sure if it was ever broken in release, but I fixed the stupid thing I did anyway)
DB (and server) errors should report better now, revealing inner-db code in the traceback. (and printing it to the appropriate log)
Improved the mime_to_enum object for image/jpeg, image/jpg, image/jpe, image/wtfaretheygoingtocalljpegnow.
HTTP connections can deal with some esoteric commands, like 301, without throwing a fit. All http goes through the same code.
Danbooru should now be in your booru list, and it _should_ work.
Pausing/Cancelling a booru gallery parse should now work.
4chan dumper now understands captchas being wrong and the thread not existing; in the former case it'll let you put in a new captcha and try again, in the latter it'll stop the whole dump.
Boorus are working for users who started last week
The server can now manage many more simultaneous requests without bugging out.
The early freeze/import freeze due to simultaneous access in the client is fixed.
The client's file+thumbnail server (details in help's advanced.html) works again.
Client DB now stores md5 and sha1 for all local files.
Client DB has a larger cache size.
The freeze caused when importing thousands of files at once with tags is fixed.
The yaml imageboard import (when you drag and drop a .yaml file onto the imageboards dialog) now adds form fields correctly! If you had problems here, check out install_path/static/default_imageboards.yaml to reset them!
The autocomplete counts should be more accurate, particularly when there are a mix of current and pending tags in the db.
The autocomplete in the regex-path dialog will now search the db correctly (it was misconfigured).
Autocomplete is also just a _little_ faster
File imports are now low priority, so gui activity should still happen nice and quick even while an import is occurring.
The review services frame will now show how long until the next update will be checked (see picture above). In case of error, it will show how long until it tries again.
The review services panel and manage services panel are of a better default size, and they use my new listbook class exclusively, rather than the old notebook.
I've added some tooltips on not-obvious widgets.
Content Updates have vastly improved processing speed on a thumbnail view (x100 in some cases!). Tag updates particularly will not be so slow to process if you have a large search open.
The import gauge will now show the correct range according to the current queue size, not always the default 100.
Active Import Pages will throw up a yes/no dialog if you try to close them.
Some beautifying of code syntax. '\n' is now os.linesep, which means exported stuff should show up better in notepad.
Some changes in network protocol, although now I think of them, I realise I forgot to update the network version. They aren't important for most users, so w/e.
Made repo synchronisations not block so much, and not for nearly as long. You should be able to do queries and click on thumbs (albeit at a slower rate) while the client is downloading and processing updates.
Thumbs are exported, and, along with perceptual hashes, now treated as a global pool, reducing downloads and speeding queries.
Thumbnail resize is now asynchronous, done as each thumbnail is requested. Changing the thumbnail size in the options dialog happens real quick, and if you don't like a particular size, you can change it back just as fast.
Temporary DB locking mechanisms ensure serialisation, less inefficient locking.
ImportPage superclass works a lot better, in a lot less code. DB import code is now even simpler, and much faster, especially for redundant files. The new import page will also tell you how many files were successful/failed/already deleted/already in the db.
Fetching images for fullscreen or preview is fully asynchronous, and will no longer block the gui thread.
Some query logic is improved.
You can now import and export sites/imageboards from the manage imageboards dialog. It'll export to a .yaml file, which is easy to understand with a decent text editor. Just drag and drop onto the dialog to import.
Selecting thumbs has a little less preview-flicker now.
The new tagboxes now render numbers prettily, so 4123 -> 4,123.
(+) namespace:tag now colours properly.
The background for selected tags is now an appropriate colour.
You can now choose the colours of any namespace you like in the normal options dialog.
Clicking in whitespace in the new tagbox deselects, rather than select( 0 )s.
Spacebar, PageDown, Return and all the other special command characters are now propagated to flash in fullscreen view, just as long as the mouse is over the canvas.
database->vacuum is reinstated, database->reindex is retired. I recommend you run a vacuum once you are updated; it'll only take a minute now.
Rollback and initialisation bugs are fixed.
There's a splash window now that can offer client-boot feedback.
The way scrolling-to-focus is calculated is improved.
Pretty much everywhere you see tags will now show coloured tags! I finished up my own tagbox class, which for now will show tags coloured in the default booru scheme. It also loads in a few milliseconds, rather than the ~0.5s of the default listbox. It scrolls faster, too. I'll have user-customisable colours next release.
Files with invalid resolution, size and mime are now filtered out before dumping to an imageboard.
I fixed the 'searching immediately' bug. It was a stupid typo as usual.
Post-Filter scrolling should be a bit more reliable.
Some more log events.
I did a lot of work on my new tags box, although the actualy gui elements will have to be finished for v29.
Manage Imageboards wasn't saving properly. It is now.
My new progressdialog happens in several places. It is a little neater than the one in wx; just better for my purposes.
I reworked some of the transaction stuff in the db so that I can atomically queue pubsub events. (this means file import are less juddery)
After becoming very annoyed with wx's listbook/labelbook/whateverbook, I wrote my own. It's all over the place in my dialogs now. It is tighter, more reliable, and can scroll.
I reworked some of the way sets interacted.
There was an infinite recursion bug sometimes, when uploading files to a file repo.
Cleared out some old unused library imports, so the client is slightly smaller.
Had a cyclical import (!). Luckily, python is forgiving, but I have still fixed it.
Collection thumbnails will now update with their new pending tags correctly.
Some wx.Panel vs wx.Window issues and nomenclature resolved.
Full Page decouple. Now the window to the left is a seperate, much neater class. It and the media/preview windows talk to each other in a clever way that means I can make new kinds of page much faster. It scrolls, too.
Thumbnails resize will tell the thumbnail window just to redraw itself, not refresh the entire query.
'system:local' and 'system:not local' are now mutually exclusive (will swap each other out, rather than overlap), like inbox and archive.
A little neatening of the system predicate code.
'system:similar_to' RMB menu entry fixed for some cases.
There is a new log window. Go view->new log page to see it. It doesn't show much right now, but you can see synchro successes and errors pop up as they happen.
There is now a popup button on the import dialog and the URL downloader page that does 'advanced import options'. You can now tell these import processes to archive everything and/or ignore files below a certain size or resolution. By default, the client will not import anything <5KB or <50x50px. You can set no limit.
Flash windows will now own all keystrokes as long as the mouse cursor is over the flash. If you are browsing/filtering, just move your mouse over or off the flash window to make sure your return/page down/spacebar/escape/whatever is interpreted as you want.
The URL downloader will not download the same file twice in a row, so you can add a thread URL several times in a row, and it'll only download the newest files. The behaviour of this is affected by the 'exclude deleted files' checkbox in the client's options. I'll implement thread watching a bit later.
The double unnamespaced count bug ( 'system:blah (70)', 'blah (140)' ) in autocomplete should be gone.
Some rejiggering of how the statusbar updates means active import windows can't spam the statusbar when they don't have focus.
The count of pending tags is more accurate and uniform. When it says (+3), it means for three files, not in three cases.
Tag counts overall are better. When it says 'diaper vore (17)', you should be getting 17 files if you enter that search.
GUI tag repo precedence is slightly more accurate, compared to what the db thinks it should be.
I nailed down why system:mime wasn't working sometimes, and now it should work all the time.
I discovered some problems with repo-side bandwidth tracking. I fixed a couple bits, but have notes to look at it more.
In v25, if system:limit was greater than the search population, it threw an error! Whoops! Fixed now.
The post-filtering thumbnail problem is totally fixed, as are a couple other instances when thumbs would sometimes not draw.
The fullscreen change-image-jittering-around problem is fixed, I think.
Fullscreen archive works again. Not sure why/when it broke.
Importing with archive checkbox ticked sometimes didn't archive, lol.
A bunch of decoupling of gui elements, making for much neater code and less gui blocking.
Decoupling of import from hdd as well.
Query is now asynchronous! If you do a massive query on a slow computer, you won't lose the gui! You can go check other tabs, whatever, and the query will process in the background, rendering on the page you started it when it is done.
A number of cpu-heavy numbers are now cleverly cached, so system predicate fetch happens much faster, especially on 100,000+ image dbs.
Some 'collect' code is sped up and made generally less bonkers.
I wrote a couple new classes for my most common gui elements.
There is now an option in file->options to change the number of characters before autocomplete will go search the db for tags! If you have a slow computer and a huge db, you can set it to 2, 3 or even more chars. Default is 1.
Dialogs that ask you questions will now usually center on their parent window.
The current selection tagsbox won't show ( 'blah (12)', 'blah (+3)' ), it'll combine into 'blah (12) (+3) (-1)'. With the + meaning pending and the - meaning petitioned.
Autocomplete now respects which of the include_current and include_pending buttons are green! It'll only search current/pending as you wish! And the numbers will now be accurate!
My new question dialog with the yes/no buttons hooks the Escape key to mean no.
I don't use it much yet, but I have a new message dialog too.
A new end-of-filtering dialog makes the choices a bit more obvious
When you exit from fullscreen/filter view, the main thumbnail view it was based on should select (and scroll to!) where you were. But filtering is less reliable, since you may have just deleted the last thing you were looking at!
Better scrolling in thumbnail view
Scrolling in thumbnail view will follow the current selection, so the focussed media will always be visible.
Double right-clicking in filter now deletes instead of keeps (typo)
Slightly less flickering when processing repo updates
Made some form code neater
A lot of the thumbnail gui code has been decoupled and pubsub'd. It is all neater behind the scenes, meaning I'll be able to extend it easier in future.
I completely overhauled how my pubsub works. (pubsub is a messaging system inside the code). It is more flexible and easier for me to work with.
system:mime was not working in v23, not sure why. It's fixed now.
Some small speedup + neatening in db queries.
You can now scroll to the end of a thumbnail page by pressing End. WARNING: If you have like 10,000 thumbs in the current pane, it is going to have to load all those.
In the AutocompleteTagWrite object, which is the tag entry box in the manage tags dialog, there was a stupid bug that made many requests more expensive. It's fixed.
Autocomplete now works off one character's input.
I've swapped a bunch of expensive objects with easier staticbitmaps for now
I removed the clunky inbox and archive buttons, see how you feel about it.
I tried to do ultimatelistctrl to have coloured tags (like a *booru), but it was too buggy and slow for the client's purposes, so I'll probably have to write my own control.
system:mime exists, now. Not many mimes, yet, but have a play with it, see if you like it.
More intelligent prefetch in fullscreen - things should load muuuuuch faster
A little more intelligent sum() calcs in autocomplete - non-namespaced tags now sum all their namespaced versions as well
More rigorous client db transactions, just to make things more pretty and reliable.
Moved db files to /db, logs to /logs
Made inroads to getting review services to load faster, but version 20 will have more here.
I've updated the frame view so the file info is draw on top of the image. It's a hack for now, inside the image-frame, but it is the only solution for wx's annoying 'no overlapping' policy.
Fullscreen image prefetch does more and hopefully more intelligently
Entering a blank tag to quit tag dialog was broke when I updated autocomplete textctrls. I've fixed it.
Petition page is fixed, so I can finally clear out the tag petitions!
F10 was broke when the lib had deleted files lol! Fixed it.
Review services is more responsive to repo permissions updates.
Flash files are now correctly put in the inbox on import.
Synchronise Repositories daemon no longer takes ten gui-blocking seconds to process every update! This was an annoying slowdown, but I figured out what it was and reduced it to <1s with a quick patch. The problem will return with private tag repos, but I'll deal with that when I come to it.
Synchronise Accounts daemon has some better pubsub so it fires more intelligently. This in turn affects several other daemons, which should all be more responsive; e.g. when your permissions change, your pending thumbs/files should start downloading.
Improved delete orphans logic for the fiftieth time! It is great now, and won't ever bug you in the gui; it runs invisibly on shutdown and usually only takes a few secs to do its job.
Some of the gui updates triggered by the daemons are optimised so they block the gui less. Multiple stuff is bundled into single updates, those updates are less buggy, and the gui catches them better. Resetting the public tag repo will no longer lock up a slow system.
A few versions ago I changed the way repos were registered with the gui, and I've fixed some of the resultant daemon-related errors. This mostly affects admins, which mostly means me!
Download Thumbnails daemon was getting pretty slow for large dbs (100k+ files) because of an inefficient db query. This has been cleared up.
I banged my head against the wall for a couple of hours getting nested notebooks to work, and I am now a better person for it. Review and Manage Services dialogs feature better panel management as a result. Their panels are also much richer, reporting loads more data about the respective service. You can now see how many mappings the public tag repo has without having to delve into sqlite db browser.
I have unified panel and frame background colouring away from wx's bonkers idea of what things should be coloured. It should mean that everything is properly grey, but please tell me if your gui turns all black or transparent or whatever.
21457 is now 21,457 in pretty much all cases where it is appropriate.
Fixed a bug with wx gauges not liking large ranges because of signed short or whatever underlying var the C code was using to store it. (That should have been done at the wx-python level, but whatever.)
'localhost' resolves to 127.0.0.1 when editing a service, mainly because windows freaks out at the former, deciding to take a couple seconds longer to make any raw connection.
Dialogs and frames have better, multi-monitor-friendly positioning.
Flash files are loaded from a temp folder beneath the install dir, rather than lib's server, for various reasons. This temp dir also manages file copy/paste operations. I may move this back to the OS's approved temp folder, but we'll see.
Some weird filenames that were breaking the new import page no longer do
Autocomplete (either when searching for tags or adding new ones in) will now show the number of files tagged with that tag after the tag e.g. here
Manage tag dialog now pops up slightly to the upper left, rather than the center (default) of the screen, so you can see what you are tagging. I may make this more intelligent in future, so it remembers where you last left it.
I changed a couple small things in help regarding the new import.
Numtags system predicate now takes into account which of current/pending tags buttons you have active.
Thumbnail downloads fire more reliably.
Downloading a file was causing funky thumbnail draw, which seems to be fixed.
Delete Orphans daemon only fires on application close now, so post-filter db lag is gone.
Daemons now use events, not conditions! lololol, I'm an idiot who can't scroll down a library doc. For the longest time I was like "I wish 'threading' had events!" and it does.
Some account checks were missing in tag upload, but are now there.
A gigantic db rewrite that altered pretty much every table and query.
Calculation of tags for current selection now support collections, and is fast.
Was deleting a repo broke in 15? If it was, sorry! Didn't catch it, but it's fixed with the new system now.
Pubsub can do more, and is a little less 'argh, I think it works like that', and more OOP
The way tags are held by a thumb can support multiple tag servers (but only does public tag repo for now)
Repos are now a subclass of 'service'. I'll do more on this in the next version, including some nomenclature changes in the gui.
Imports are now asynchronous! There's a new import page that'll open on any import. It's a little jittery, but it all works. If you import 3000 tiny files, your gui may lock up for a few secs since it'll be able to import faster than it updates the gui.
Selection's tags box now shows collections' singletons' tags
Autocomplete now sources from the current thumbnails whenever it can (faster than db), and does so intelligently
Couple of small display bugs fixed
Some delete logic approved
Repos do some more efficient inserts on POST content
Petition optimisation, for auto-soft-approval before update gen
Dialog parents, dialog parents everywhere
DB cleanup of a couple of old methods
Autocomplete Write (when adding tags in manage tags dialog) now sources from the entire network's tags (not just for the files on your hard drive) when you type enough letters to stump it. i.e. If you have no files tagged 'evangelion', but you do have a file tagged 'eve', it'll show 'eve' if you type 'ev', but if you type 'eva', it'll requery the db more widely, and give you 'evangelion'.
system:ratio for searching for wallpapers or whatever. Combine with system:width>x for extra utility!
You can now hit F3 (manage tags) in fullscreen, whether browsing or filtering.
a couple of cpu-intensive DAEMONS schedule themselves better. (less slowdown after a big filter)
image rendering prefetch improved
smoother image rendering to screen (especially when zooming), less flickering
petition approval has smoother, less buggy workflow
new hashes and tags are added to the db muuuuuuuuch more efficiently. most public tag repo updates happen in a second or two, rather than 30+
some of the internal commands are streamlined together into a single class
ctrl-s fixed
clear pending file repos pubsub fixed
ctrl-r now shows/hides splitters
thumbnail delete logic is better
select logic is better
deleted_remote_files bug fixed
headache-inducing weakref repositories __eq__ bug in pubsub fixed
'with' keyword all over the place now. turns out wx has a bunch of objects with support it (including dialogs!)
gridsizers are now all flexgridsizers
the list of tags on the current selection now has a weight attached like 'flower (23)' to show how many of the current selection have that tag. it doesn't support collections' weight yet.
revised some ambiguous repo error messages
you can now have a main window with no pages open
right click menus on a selection are vastly improved (lots more info), but still a way to go.
on the import files dialog, you can now specify to auto-archive rather than send to inbox
thumbnails now know where they are uploaded/pending/petitioned to and will show that info with different icons
escape key now deselects
manage repos dialog is completely revised. comments appreciated.
You can now tell lib to search 'current tags' only, 'pending tags' only, or both.
Tag search is more efficient.
Search in general is more efficient.
Search code is more beautiful and decoupled.
Tags are stored in memory more beautifully, and a similar class holds repositories for thumbs also.
Age predicate is fixed (twice!)
Server code is more beautiful. DB-Server interface is decoupled into a mixin class to make it easier to understand and manage.
Icons for pending and petitioned files, and for 'currently downloading'.
Prefetch fixed, so nearby fullscreen images load just in case you want to see them.
Fixed a redundant pending tags bug
Fixed a swf tag petitions bug
On boot, temp folder is cleared.
The 'current tags' window is now union on the current selection, not intersect. If nothing is selected, it shows all the tags of the current selection. In a later version, I'll order this list by count-weight.
All (I think) tag updates are synchronous-ish with the gui. As updates come in from the public repo, thumbs will update themselves appropriately. Same goes for repositories.
You can now backup repositories from the admin menu. Info in help.
Under the help menu, a quick way to set up the beta repositories' credentials.
Account sync was full of bugs, and is now less so.
When you go fullscreen, the preview window should go blank, which should save a little cpu time when you are looking at gifs and your ears when you are looking at swfs.
Auto-complete is muuuuuch faster than it was. Also more correct. Still more work to do, though.
Librarium hosts an http server on 45874, which supports GET /file and /thumbnail just like a file repo. Utterly prototype, but you can test it right in your browser if you like. Go http://127.0.0.1:45874/file?hash=whatever when lib is running.
Ctrl-T opens a new local page/tab, Ctrl-W closes the currently active
Image display in preview and fullscreen has been revamped, and is now both a little buggy and much better.
Bandwidth tracking both server- and client-side should be more reliable.
Delete lag (the slowdown after you boot/delete something) should be reduced.
Query lag is significantly reduced, and new operators for predicates have been added. You can now go ≈ on a bunch of values like size and width and duration to get 'approximately equal to', which actually means plus or minus about five percent.
A stupid error on file upload is fixed. If you've been having problems seeing the files you uploaded in preview, try resetting the respective file repository.
Pressing a cursor key when no thumb is focussed no longer throws an exception.
Hitting enter on a blank input in the manage tags dialog now quickly oks the dialog.
Annoying splitter exception on import is gone. It was a one-line fix, because I was being stupid.
All searches should be a little faster. Mostly effects searches with 1000+ results.
Modal dialogs (in particular) should be just a little more responsive now. Less stuff is being dumped on the wx gui thread, and all db handling is more parallel.
Slow petition approval fixed, made almost instant.
Image rendering has been revamped. It should be less stuttery now, but there is still more work to do.
Some pending tag update logic was fixed.
If the focused thumb goes from 'not local' to 'local', its preview will load. (its on my to-do to do the opposite: clearing preview on delete in remote search.
DB daemons rewritten completely, so now a whole bunch of stuff flushes more efficiently, more reliably, and with less gui-blocking. Things happen smoother now.
Can now create repository database backups via librarium. Sending the command (via the admin menu) tells the repo to lock and copy its .db files to .db.backup. I'll update help to explain this more.
Can now copy files from within librarium to the clipboard! Just select from the right-click menu or press Ctrl-C, and your selection will be copied to clipboard. You can then paste to any directory, for quick export to anywhere. The export command remains for exporting thousands of files.
Export path can now be on other hard drives. You'll probably want to keep it on the same drive if you have lib on a usb stick, though.
Fixed a really stupid '<' for '>' typo that was causing a ton of gui blocking and repository slowdown.
File and thumbnail downloads are much snappier.
One person had a very odd error while trying to open manage repos. I don't understand what actually caused the traceback to happen, but I think I fixed it nonetheless.
inbox/archive buttons above the searchbox are now mutually exclusive.
Fixed the version number in lib's about window.
Fixed the preview window so it remembers its last size properly. Also reduced its min size so you can make it tiny.
Fixed the problem people were having with admin rights. See this post if you were having problems.
The RegisterRepoRequest that was filling people's logs on upload should be fixed now. Turns out I didn't understand how wx.CallAfter works during modal dialogs! I threw in a horrible fix, but it works. I'll revisit it.
No Comments