A rendering bug in Chrome was causing some of the checkmarks to
wobble a bit on hover. This works around the issue.
Change-Id: I22ea0117075c8de13507d257ef0d1437f30e20df
Realized there was a way more elegant way to implement infinite
scroll. Now it is general to any kind of query (though not yet
to any kind of sorting, as there isn't support for continuing with
arbitrary sorts server-side).
Change-Id: I98dc627e1292524ddd8af8960c134f49ac41f337
If the JavaScript UI is open and the query you're looking at changes
due to new data arriving, the server should push the update search
results to you live, without needing to poll.
Change-Id: I00faf7737f9a459de39b21fb5226a8000feeee2b
The new package sorted/kvtest provides a generic KeyValue test for all
implementations. Memory, SQLite, and kvfile now use it.
This speeds up the index slurping start-up of my personal Camlistore
server from 30 seconds (when it was doing 17,000+ queries in small
windows) to now just 5 seconds. That 5 seconds can be improved yet
further.
Change-Id: Idd55ba9ccd3ed12a26868a41db1af676aff7b67b
Goal is to iterate faster (notably: for slurping the index to the in-memory
corpus on start-up), by doing fewer copies and generating less garbage.
Change-Id: I054b0de2b994eb1f2356aa8587a466bafeb6cf82
Will eventually be plumbed through lots of APIs, especially those requiring or benefiting from
cancelation notification and/or those needing access to the HTTP context (e.g. App Engine).
Change-Id: I591496725d620126e09d49eb07cade7707c7fc64
In the future this might be more configurable (e.g. mysql or sqlite or whatever, or different
paths). But this works for now.
Change-Id: I85853e6bfdd9063fc2eba5922b138d5552b730a9
Previous TODO entry was:
-- Get rid of QueueCreator entirely. Plan:
-- sync handler still has a source and dest (one pair) but
instead of calling CreateQueue on the source, it instead
has an index.Storage (configured via a RequiredObject
so it can be a kvfile, leveldb, mysql, postgres etc)
-- make all the index.Storage types be instantiable
from a jsonconfig Object, perhaps with constructors keyed
on a "type" field.
-- make sync handler support blobserver.Receiver (or StatReceiver)
like indexes, so it can receive blobs. but all it needs to
do to acknowledge the ReceiveBlob is write and flush to its
index.Storage. the syncing is async by default. (otherwise callers
could just use "replica" if they wanted sync replication).
But maybe for ease of configuration switching, we could also
support a sync mode. when it needs to replicate a blob,
it uses the source.
-- future option: sync mirror to an alternate path on ReceiveBlob
that can delete. e.g. you're uploading to s3 and google,
but don't want to upload to both at once, so you use the localdisk
as a buffer to spread out your upstream bandwidth.
-- end result: no more hardlinks or queue creator.
Change-Id: I6244fc4f3a655f08470ae3160502659399f468ed
Also, remove note about bref support from search instructions since
apparently that isn't supported yet.
Change-Id: I1ccbb8be44aa62ae7191aef913c7a226fd90a775
* Increase default image size a few settings
* Increase gutter between items
* Remove extraneous padding and whitepsace
* Remove unneeded gigantic heading
* Move build version into statusbar
* Change algorithm for fitting rows -- instead of preferring to clip
edges of image, instead prefer to adjust height of rows. I find it
looks more interesting visually when the widths of the images vary
more.
* Replace folder and file icon with something better looking
* Swap order of + and - buttons in toolbar, they were backward from
what is typical
Change-Id: Idfe85a813926c2c9eea774a86046df62ecacd45c
To select an item, click the checkmark that overlays on rollover.
To navigate, just click anywhere else on the item.
Also move selection from additive by default rather than exclusive.
Change-Id: I47e6ca1942fe1fdaaf615f6ab0e0a547f1a51735
Also:
* Make the entire BlobItemController a drop target for new files,
except for when over a set, then the set is the target.
* Minor visual refinements to highlight states during dragging.
* Fix bugs/flicker in dragdrop code.
* Fix bug where there is an empty button in toolbar before the first
item is selected.
Change-Id: I3c40a476395c885477e1316e6ff168399640e347
Move up a layer to the HTTP. Also, start to remove ContextWrapper
stuff. We've done it differently for App Engine instead, and will do
it differently yet moving forward.
Also add blobserver.Receive and use it in most places, moving checksum
verification up a layer.
Bunch of other cleanup and TODO fixing too.
Much simpler and cleaner.
Change-Id: I12e56c5d4e53bfcf82bdd8fb0b6d57c248ff605c
of enumerating Drive files, needs to be fixed once Drive supports
range queries. Allows you to sync to /sto-googledrive/, but not from.
Change-Id: I6ac5ef02c5f51a6abdab5c207a3a5693c6bb8581