Commit Graph

970 Commits

Author SHA1 Message Date
Govert Versluis 96637ffcd3 pkg/blobserver/mongo: Add support for blob storage in MongoDB
Related changes:
Split docker-related test-helper functions from pkg/sorted/mongo.
These helper functions are now also used in the pkg/blobserver/mongo
tests too.
Also fixed a typo in a comment in pkg/blob/fetcher.go and a missing variable in
debug output in pkg/blobserver/storagetest/storagetest.go

Addresses http://camlistore.org/issue/127

Change-Id: I8b6f57f9ced066d6f83788fdcc87be6619c65c3c

Conflicts:
	pkg/blob/fetcher.go
2014-03-22 12:36:59 -07:00
Aaron Boodman a85361a2a7 Rename IndexPageReact to IndexPage
Change-Id: If901a5e9585bb561795c904341b777aa62ad4a26
2014-03-22 06:24:48 -07:00
Aaron Boodman 99a4ff78f5 Remove Closure-based index page, as it is no longer used.
Change-Id: Ibd24c5785841ad1ff978576c4d83362ea0fd3fde
2014-03-22 06:19:29 -07:00
mpl 3d7c093ac8 Merge "UI: reset search session data if empty result." 2014-03-21 13:11:14 +00:00
Nick O'Neill 2d70c95aef Tweet importing with some basic info
Change-Id: I73455eef50dcdc495ddc042d266b3a4a8020c877
2014-03-20 18:57:43 -07:00
mpl 828999e322 UI: reset search session data if empty result.
http://camlistore.org/issue/352

Change-Id: I085c744a8ca31c4420f8132c897305c548b0483e
2014-03-21 00:53:01 +01:00
mpl 2dd3e17129 sorted/sqlite: initialize DB when needed, added test.
Change-Id: Ibd418e357e2bed6a5beed2dda2f947c7c999fe92
2014-03-19 18:16:05 +01:00
Tamás Gulácsi 65fa5d6d3e Picasa: add importer.
Imports all images from all albums, and puts each image in its album.
Each album is linked under "Picasa (<username>)".
Tries to skip already imported files (check based on album/filename).
See Issue #391.

Change-Id: If00751671a429891c05bbe41f59c1421b2ff2de8
2014-03-17 10:52:51 +01:00
Aaron Boodman f44173135f Merge "Fix bug where "Select as current set" item never shows up." 2014-03-17 04:39:40 +00:00
Aaron Boodman 4677e5ec97 Fix bug where "Select as current set" item never shows up.
Change-Id: Ibc6b98c3feb65f28c3768cfaf6169044e41ad160
2014-03-16 21:38:43 -07:00
Brad Fitzpatrick bfc607fee7 index: reindex blobs when dependent blobs arrive out-of-order
Keep track of missing dependencies both in memory and in the index's
underlying sorted.KeyValue. When we see a dependent blob arrive, see
if we can reindex things.

Fixes camlistore.org/issue/102

Change-Id: I3d8cfc463e4b8c9d158be8f9656e772839b093b9
2014-03-15 08:44:09 -07:00
Brad Fitzpatrick bf94a73859 Get rid of SeekFetcher vs StreamingFetcher distinction and complexity.
StreamingFetcher is now just Fetcher, and its FetchStreaming is now
just Fetch.

SeekFetcher is gone. Blobs are max 16 MB anyway, so we can slurp to
memory when needed. The main thing that cared about SeekFetcher
was the GET handler, ServeBlobref, because http.ServeContent needed
one for range requests. That's rewritten in an earlier commit, using
the FakeSeeker from another earlier commit.

Lot of code got simpler as a result.

Change-Id: Ib819413e48a8f9b8d97f596d0fbf771dab211f11
2014-03-14 12:29:13 -07:00
Aaron Boodman 75fb861821 Merge "Web UI: Fix for infinite loop with extremely wide aspect ratio images." 2014-03-13 15:44:21 +00:00
Aaron Boodman 12a4c07c54 Web UI: Fix for infinite loop with extremely wide aspect ratio images.
Change-Id: I567000d10adc542e5759d06a82a28db380d225ad
2014-03-13 08:43:38 -07:00
mpl d9f33ac45b Merge "UI: enable "deleting" items on search page" 2014-03-12 13:42:47 +00:00
mpl 9263181931 UI: enable "deleting" items on search page
Items can be selected and effectively hidden from a UI point of view.

For now, since only the selected permanode is marked as deleted, and
GC is not yet implemented, no content is actually deleted. This is
really more like hiding the content permanently without deleting it.

Change-Id: I6ebc228905e3612503f153ff3bbb44ba24a43d09
2014-03-11 21:39:58 +01:00
Aaron Boodman 2add0472e1 Inital support for camliContentImage.
Change-Id: Ie89d296eb1ce5b8ae4ff4d4cb8c1f97f09a4c98c
2014-03-10 21:28:13 -07:00
mpl 8ab115cb21 UI: add support for deleting selected permanodes
Feature disabled for now, until the backend (corpus) part is ready.

Change-Id: Ib3527b8f3bfb6793bb60d5e91cd06bc8fab5a5c0
2014-03-06 23:05:20 +01:00
Brad Fitzpatrick 01f2173e64 ui: fix link from old detail page to new UI detail page
Change-Id: Iaa36f532169d3f6697060d9baa2178caaa19423d
2014-02-27 21:06:03 -08:00
Aaron Boodman ff16bcf1e9 Merge "Starting to fool around with property sheet UI" 2014-02-27 09:59:35 +00:00
Aaron Boodman 7ecc4858b9 Starting to fool around with property sheet UI
Looks like: http://i.imgur.com/HxE1oFi.png

Change-Id: Id3188148fd1ef97dac16a53e96ebe41f64cf1ee7
2014-02-27 01:57:49 -08:00
Brad Fitzpatrick a61c921750 Merge "ui: Add QR code for configuring mobile clients." 2014-02-24 01:43:28 +00:00
Brad Fitzpatrick 6d30b8d274 camlistored: make test use CAMLI_VAR_DIR instead of tweaking HOME/HOMEPATH/APPDATA
For upcoming change to enable strictness in osutil's use of host paths
during tests.

Change-Id: Ied1602d6dc4f5c92e97f760e04b97cc965610b20
2014-02-23 10:19:01 -08:00
Bill Thiede 58b6497b14 ui: Add QR code for configuring mobile clients.
Creates new page @ /ui/mobile.html for generating a QR code that
embeds configuration data for setting up mobile clients.

Imports code.google.com/p/rsc/{gf256,qr} version:

parent: 149:a3cbaf2339c4 tip

This addresses the server and web components of
https://camlistore.org/issue/372

Change-Id: If9239dd138707080afd7dedb5770d04893cbf0ba
2014-02-21 19:58:54 -08:00
Aaron Boodman a41cc2bab1 Merge "Fix choppy scrolling when flinging on OS X." 2014-02-18 07:12:08 +00:00
Aaron Boodman 930e3bee64 Fix choppy scrolling when flinging on OS X.
This was caused by a bug in Chrome: wheel events stop firing when source
element is removed from DOM. Workaround: leave element in DOM for awhile.

On the upside, React makes this clean to implement. No need to keep state
to remember to remove the dangling element. It automatically gets removed
when it is no longer the last element to receive the wheel event!

Change-Id: I1b9372bfd1edcfb532f6825d99044a314048c3b4
2014-02-17 23:08:22 -08:00
Aaron Boodman 5b811fa1b1 Actually turn Closure's DEBUG flag off. This was backwards in 17e3799cda.
Change-Id: I6228ef77bdbe82ad77fa5d60c853df02820d23c1
2014-02-17 10:58:44 -08:00
Aaron Boodman 17e3799cda Turn Closure's DEBUG flag off.
This improves the performance of Promise construction, which
improves the performance of dropping large numbers of files onto
the UI at once.

There is still more we could do to improve dropping large numbers
of files (probably we should implement a work queue and not try
to start uploading them all in parallel), but this is a quick
solution and probably helps other parts of the code as well.

Change-Id: I398ba8d6776b38b1a61a22598099c52dc2130469
2014-02-14 19:18:54 -08:00
Aaron Boodman cd7aedf8c4 Merge "Fix regression in navigation to non-image file." 2014-02-11 14:41:50 +00:00
Aaron Boodman 64f1d810b8 Fix regression in navigation to non-image file.
Before the initial click would yield an empty page, and you'd have
to refresh to see anything.

Change-Id: Ic26915aa26e4d9285e72ae7fa856283ee6790922
2014-02-11 06:39:30 -08:00
Brad Fitzpatrick 79cb116dbb Merge "pkg/types/serverconfig: json-tagged struct" 2014-02-11 00:56:11 +00:00
mpl 6707837806 pkg/types/serverconfig: json-tagged struct
Also changed the TLS/HTTPS config keys for consistency.

http://camlistore.org/issue/339

Change-Id: I704ec129f91b93ebb20bc1191816166a2f10692d
2014-02-10 21:49:11 +01:00
Aaron Boodman 4229b286dc Merge "Improve layout on mobile." 2014-02-08 23:48:17 +00:00
Aaron Boodman f36bbe54aa Improve layout on mobile.
There is still a lot of work to do on mobile, but this makes it
slightly better. Increases the default scale to something sane.
Fix the bug where we don't layout using entire width.

window.outerWidth is somehow completely busted on mobile.

Change-Id: Id574d6ee14ba59f6e835725d378f228796ff7ccf
2014-02-08 15:47:19 -08:00
Brad Fitzpatrick 1b53c6d851 appengine: remove unused dummyCloser
Change-Id: I0ac0dafe5d3a2639810f2951daeb5c6176cc5863
2014-02-08 09:25:59 -08:00
Brad Fitzpatrick 60d8bb3a2d appengine: fix build. Use uint32 instead of int64 for blob sizes.
Change-Id: I1952e291b8d86dfaed8310bd5812688849225435
2014-02-08 09:25:21 -08:00
Aaron Boodman 02e787202a Fix regression where checkmarks don't turn blue on click.
Was caused by incorrectly building child component props in
willReceiveProps() before new props are actually set.

Simplified code to always rebuild child component props in render().

Removed overly-clever code that was trying to filter out some
prop updates. We don't send spurious prop updates in any case that
I can think of.

Change-Id: Ie067b2d667517c24524863eac62baef0178608cb
2014-02-06 21:13:27 -08:00
Aaron Boodman b0775e03e9 Combine the 'Create permanode' feature with the existing 'Create set with x items'.
The web UI was implying 'folderness' by looking for certain claims against
permanodes. This won't allow us to represent empty dynamic folders, which seems
wrong.

Thus I've changed it to just represent all pemanodes as folders. In the future,
if there are more specific types of permanodes, we can handle that.

Change-Id: I73523634114c61f33705a88a4147e13ad60c59d6
2014-02-05 10:05:38 -08:00
mpl d4b4194ed0 ui: check for non nil results before using them
http://camlistore.org/issue/352

Change-Id: I321d2bf2a48eed9aa0b9b4f5bf5d630d3741af97
2014-01-28 00:14:20 +01:00
mpl bda0b712d7 serverinit: forgot to add appengine change in 448f266d72
Change-Id: I38fce10319f6bd4827861325f2a474cc08098139
2014-01-24 01:30:27 +01:00
mpl 448f266d72 rename pkg/serverconfig to pkg/serverinit
To avoid awkwardness with future pkg/types/serverconfig

http://camlistore.org/issue/339

Change-Id: If8a00941cdc269d6bcfe0f76c596154d5969bf0d
2014-01-23 17:18:46 +01:00
Aaron Boodman 69cb19ccdb Throttle updates to history so the URL bar doesn't flicker so much.
Change-Id: Ie2b1cc8a6abe2d41083dcd1116940508b22661f5
2014-01-20 12:00:04 -08:00
Aaron Boodman 976c78cb30 Turn React-based UI on by default.
Change-Id: I7370954eb1fda679be25e3ab652fb3776c55c938
2014-01-20 11:32:04 -08:00
Aaron Boodman 499fdbf47d Virtual scroll!
Change-Id: I3c564758f110975ecc1a5e6cf9a7db1777ade54b
2014-01-20 11:11:52 -08:00
Aaron Boodman ce5d5f99fb Fix two small bugs from previous commit:
1) We don't need the isMounted() check anymore because we're not poking at the DOM.
2) Detail() now needs a history param.

Change-Id: I420e3211fde40673e3123a2b18460d0d12f32a70
2014-01-19 14:19:27 -08:00
Aaron Boodman 6333126e79 Yak shave to fix a layout glitch moments after page load.
Was basically caused by layout<->scrollbar interaction loop. Fix was to
calculate size of scrollbar and take it into account during layout.

At the same time, I decided to clean up the code and put the search results
scrollbar actually within BlobItemContainer, rather than having
BlobItemContainer reach up and change scroll styles of document.

This necessitated getting rid of some of the clever transform origin
stuff I was doing before, but it is less needed now.

Change-Id: I8641d87d8e593336aed48acef8b31680a52d7e6c
2014-01-19 14:03:42 -08:00
Aaron Boodman 1bd3e811ab Merge "Save scroll position and restore on back or escape from detail." 2014-01-19 20:29:15 +00:00
Aaron Boodman 251cbbd906 Merge "Wire drag and drop file uploads back up." 2014-01-19 20:29:02 +00:00
Aaron Boodman 74e9b4dc4e Merge "Stop showing pyramid throbber if an image fails to load." 2014-01-19 19:39:41 +00:00
Aaron Boodman 30477cf50a Stop showing pyramid throbber if an image fails to load.
Change-Id: I30193f7ffe178d728d0b6e4fced2fc77d93e239a
2014-01-19 11:38:58 -08:00
Aaron Boodman c848f09199 Fix bug where nav is not open when returning from detail page if was open when left.
Change-Id: I527ad917345dd6fcc67fe12c18ac06539f6e457e
2014-01-19 01:21:44 -08:00
Aaron Boodman 671a1b0085 Save scroll position and restore on back or escape from detail.
Change-Id: I844bb00509e744396821ce7bff7d1951b9639cac
2014-01-19 01:11:52 -08:00
Aaron Boodman a9dde0d354 Wire drag and drop file uploads back up.
Change-Id: I19939d152cfb66e10cf87105bef71849a508c82d
2014-01-19 01:06:05 -08:00
Aaron Boodman ce43c79437 Merge "Add SearchSession#refreshIfNecessary() - use to do manual refreshes when websocket not avaialble." 2014-01-18 22:45:37 +00:00
Aaron Boodman 8387acb5ce Merge "Trial fix for infinite piggie bug." 2014-01-18 22:45:11 +00:00
Aaron Boodman 5e1a6fe242 Add SearchSession#refreshIfNecessary() - use to do manual refreshes when websocket not avaialble.
Change-Id: Icb451ddff8fc6917f837f289f1b0f83fa7cc5d81
2014-01-18 02:11:56 -08:00
Aaron Boodman d53107050f Whoops. Fix stupid bugs introduced right before I committed 2dd87d.
Change-Id: I6a6032c1d8e49b08ccd919d8b7bd69c00c8858e7
2014-01-18 00:11:35 -08:00
Aaron Boodman 675c9d8cd8 Merge "Wire up the remaing nav items." 2014-01-18 08:07:23 +00:00
Aaron Boodman 2dd87d7281 Wire up the remaing nav items.
Change-Id: I730b192a2f1945659e953cdf0d45c0a77b6e161b
2014-01-18 00:06:17 -08:00
Aaron Boodman 5b16c9202b Trial fix for infinite piggie bug.
Change-Id: I589c1c6dd8d68552376f274c9bcb091fc6a289f3
2014-01-17 22:05:57 -08:00
Aaron Boodman d3c6824495 Prevents the little horizontal jostle that happens in the detail page
when you press 'right' the first time.

Change-Id: Ic39607258c056bcee898463ef4ed80cc64799baf
2014-01-17 00:15:36 -08:00
Aaron Boodman 69b1b76c88 Wire search back together in the React UI
Change-Id: Ica7afd21dda28a8a90ebd3c4dc3807821e018678
2014-01-16 16:55:59 -08:00
Aaron Boodman 37173dc7d4 Merge "Hardware accelerate the piggy." 2014-01-17 00:36:17 +00:00
Aaron Boodman c5a31bafbb Wire up the detail view to the React-based UI.
The scroll position doesn't restore when navigating back to the
search page from the detail page. That will be interesting.

Change-Id: I5a008cdd6d1c83a4b8031d14ee26cfd9e383d73d
2014-01-16 00:41:02 -08:00
Aaron Boodman c3ca04d82b Wire up some of the nav items.
Change-Id: I9c120badad448d6eae736133475dbc0acfe8993a
2014-01-15 23:05:30 -08:00
Aaron Boodman 95f95a2623 Hardware accelerate the piggy.
This improves the performance of the piggy animation by doing it in hardware
and eliminating a layout pass on every frame.

Change-Id: I02cf8b521af60af0e61f70c7f732f97074bdcdc1
2014-01-15 20:54:21 -08:00
Aaron Boodman 1803104293 Implement most of BlobItemContainer using React.
Still left to do: update the nav in response to selection changes,
implement nav items, drag and drop.

Change-Id: I3f7cd0b8bdccd11a5816dce2bc214e60f844a130
2014-01-15 20:17:21 -08:00
Aaron Boodman 2d8c5992bf Merge "Convert nav to React." 2014-01-16 04:16:48 +00:00
Aaron Boodman ade30f9637 Convert nav to React.
Change-Id: Id05e1c87f97e0c20b935ae5360ce089993aae5ac
2014-01-15 20:14:45 -08:00
Brad Fitzpatrick d1f2ae227f Start of Foursquare importer.
Change-Id: I56b0e71a3aad697b82710ebea6fc941436a3c119
2014-01-14 20:45:23 -08:00
Aaron Boodman 646cda0c24 Reset ServerSession#isComplete in response to websocket updates.
BUG=https://code.google.com/p/camlistore/issues/detail?id=333

Change-Id: Ia6ac92254bdaadfe9b8df2d7242d9bfb61539d63
2014-01-10 21:20:47 -08:00
Aaron Boodman d4fbfe7180 Implement generalized navigation handling, use to implement escape handling in detail view.
Change-Id: Iba5359e9d17fcaa200a9cbb586ac9d6461c179aa
2014-01-10 15:50:05 -08:00
Brad Fitzpatrick ebcfb0270e Merge "Fix the weird flicker on mouseover of thumbnails." 2014-01-08 18:02:16 +00:00
Aaron Boodman 98866f426d Fix bug where you have to press back twice to get out of detail view.
Change-Id: Ib2a35b3eb1c92e401cf7826386e174ac6f875339
2014-01-08 03:03:11 -08:00
Aaron Boodman 4491995fad Fix the weird flicker on mouseover of thumbnails.
The effect you were seeing was a difference between hardware and
software compositing paths.

Chrome was promoting the content area to a hardware-accelerated
layer during animation, but dropping it back to software after the
animation was complete. There were little animations for the
checkmarks that were causing us to flip in and out of hardware mode
as you moused around.

Solution: force us to stay in hardware mode the entire time the
nav is open (translate: scale3d() is a well-known way to do this).

Bonus: the scaled text rendering looks better in hardware mode.

BUG: https://code.google.com/p/camlistore/issues/detail?id=284

Change-Id: I62f6c86d1ae12ba043f34c0659633bb5195dc50c
2014-01-08 02:42:10 -08:00
Aaron Boodman 2bdcf0e2d4 Don't do pushState() navigation on middle click
Change-Id: I549c5a49a3e68384162d919b412c809dcf0fa774
2014-01-07 22:40:14 -08:00
Aaron Boodman ea40141be3 Make the order of require() calls consistent.
Change-Id: If9180032d4ff6c49647613e67044ea078e0638a2
2014-01-07 22:12:28 -08:00
Aaron Boodman 79ff81a5a6 Use the "cam" prefix for all camlistore JavaScript identifiers.
Change-Id: Ia3d375abf4a4568ab0e83997e900a9d2aeae66c4
2014-01-07 21:47:45 -08:00
Aaron Boodman ff2600216e Convert the rest of the files in server/camlistore/ui to tabs.
Change-Id: I80fdb25b831c8ea9e780d9e104716c6756f0661c
2014-01-07 19:55:48 -08:00
Aaron Boodman 6e5ca7b445 Merge "Convert some spaces to tabs." 2014-01-08 03:39:00 +00:00
Aaron Boodman bba6eed13e Convert some spaces to tabs.
Change-Id: I2aadb495326665544bcabf90299cad8d70b08eee
2014-01-07 19:02:18 -08:00
Aaron Boodman 8a970d23f0 Merge "Add jstests.go, a unit test harness for JavaScript files." 2014-01-07 04:26:16 +00:00
Aaron Boodman 53e12a740c Add jstests.go, a unit test harness for JavaScript files.
Change-Id: I3d755f0001c0528f5db2dbe8cdfc10fa60443c89
2014-01-06 20:21:43 -08:00
Brad Fitzpatrick dde76aec90 Remove some old blobserver test stuff.
Change-Id: I9eebaf28aa1da14633e99be25e86ee2aba5b1e80
2014-01-05 22:50:26 -08:00
Brad Fitzpatrick 85d2675361 Merge "Update Closure to ab89cf45c216 (Dec 15, 2013)." 2014-01-05 07:13:41 +00:00
Aaron Boodman a9b0e80c65 Update Closure to ab89cf45c216 (Dec 15, 2013).
I meant to do this in Camlistore commit cc562aff, but that one only
updated to 1389e13 (Jan 23, 2013).

I was confused because the version of third_party/closure/updatelibrary.go
that was checked in prior to cc562aff did not correspond to the version of
Closure that was checked in. So when I ran updatelibrary.go, I got changes
and didn't realize I had to change updatelibrary.go too.

Change-Id: I3ba43a540a62caedbf7570a6d55382bd39a426dc
2014-01-04 21:42:23 -08:00
Aaron Boodman 077664455d Add link to relevant bug about aspect ratio
Change-Id: Ia2c71a718eec45113e4ef0f159ecea6a900b673d
2014-01-04 19:16:24 -08:00
Aaron Boodman 3c7d3d2af5 Change describe depth in web ui for search queries from 3 to 2.
As far as I know, the code never uses the third level.

This reduces a particularly bad example of https://code.google.com/p/camlistore/issues/detail?id=319 from returning 1.8MB of data to a svelte 1.2MB.

Change-Id: Ibfe4ca3f1b175cd316f6f603950991c1a2fc8577
2014-01-04 18:54:05 -08:00
Brad Fitzpatrick cdd7b97d32 Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2014-01-04 16:37:49 -08:00
Brad Fitzpatrick 3e725e2a98 Change self-signed cert fingerprint to 80 bits of SHA-256.
More secondary preimage resistance. Also better docs and less vague and less promoted Android
UI.

Feedback from Adam Langley, but likely misinterpreted.

Change-Id: I3bf1029b6fc07c0b8dab2af44926aa87b0d4cbad
2014-01-04 16:37:33 -08:00
Nick O'Neill 200c108fad Merge "Some additional fixes from a previous loading commit" 2014-01-05 00:25:23 +00:00
Aaron Boodman c158868989 Move hashing of file uploads into a web worker.
We were observing UI jank, which ended up being due to GC. Even with chunking
and very small chunk sizes, it was hard to reliably get 30fps on my macbook.

Moving to a worker completely solves the problem. We stay at 60fps the entire
time the hashing is taking place, no matter how many files/how large, etc.

Also, switch to using Closure's crypto support, which has been added since
the upload code was originally written, since it hassupport for incremental
hashing, javascript typed arrays, and other niceties.

Change-Id: I018d6839b2cf037b8d6b03e1a0ea7164bc5a782d
2014-01-04 15:42:57 -08:00
Aaron Boodman 55e02bf01f Make piggy walk in direction of navigation.
Change-Id: Ie6c6094f6e1312eb66929131fad75ab174e460ce
2014-01-02 16:03:47 -08:00
Aaron Boodman 561f53aa5f Implement forward back paging (using arrow keys) on detail page within
a search result..

When you are paging, typically only one request is done, for the big
image. However, if you reach the end of the current search session,
more results are loaded.

The URL updates during paging, and if you navigate to this URL fresh
the search will be performed first.

Change-Id: Ia2b9bbb4a2eb41a3a75971d0dc1ff4f3d93b4acf
2014-01-02 15:50:55 -08:00
Nick O'Neill b8d35b6fe2 Some additional fixes from a previous loading commit
Change-Id: I5bdd58fee08c87a8f59b05979d7bddb546fe8187
2014-01-02 12:06:20 -08:00
Aaron Boodman 07cce4a3e6 Integrate the detail view into index.html.
The detail view now loads with only two HTTP requests: one for the
piggy, and one for the big image. No other resources are loaded,
even the blob descriptions, because they are cached by SearchSession,
which is shared between the search ui and the detail ui.

Likewise, when you go back to the search results page, no additional
requests are done.

Also:
- When you press back on detail page, scroll position is now usually
  restored (if you refresh between index and detail, it still won't
  restore).
- Detail page live updates! It came for free with using SearchSession.

Change-Id: I58ada7bdd30afc2644860fbda6167fc5ce865b0d
2014-01-01 23:13:23 -08:00
Aaron Boodman 8b938bd8dd The search page had the same bug with non-integer image sizes o_O.
Change-Id: I4133e4c2ac50666d27918f84007395ccb05bc6ca
2014-01-01 23:10:43 -08:00
Brad Fitzpatrick 535cb01877 Merge "Refactor the data part of infinite scroll into new SearchSession." 2014-01-02 06:59:19 +00:00
Aaron Boodman d241251f34 Refactor the data part of infinite scroll into new SearchSession.
This will also be used by the detail page to facilitate fast
flipping and live udpates.

Also fixed the thing where we discard the websocket responses and
re-query for all updates except the very first one.

Change-Id: Iac196670db967f1d41b20ce30641118ede61f3c2
2014-01-01 21:05:47 -08:00
Brad Fitzpatrick 9760c3b907 Merge "Bucketize image size requests differently" 2014-01-02 04:52:41 +00:00
Aaron Boodman dc90821d64 Merge "Added a loading 'image' to blobs." 2014-01-01 19:08:24 +00:00
Aaron Boodman f1cecc4aca Bucketize image size requests differently
Change-Id: Ic5c62e2618188490fc30aefea06cf46b36dd6c92
2013-12-31 19:11:14 -08:00
Aaron Boodman 7fcd2e1807 Add link to and from the new detail page.
Change-Id: I2eb16295c5fa8106854a16d3b060c3f87c5ed1ae
2013-12-31 18:21:26 -08:00
Aaron Boodman e5d41793a0 Don't start fading the image in until it has loaded.
Change-Id: I0262464e7cea4d8c8acfa291c5d41365a8e1c885
2013-12-31 17:57:37 -08:00
Aaron Boodman 2d70e6794f Increase pigginess in new detail UI.
Change-Id: I4eb1acf7e6cd114edf7c5f66fcb4fb6ff8842bdb
2013-12-31 17:49:42 -08:00
Nick O'Neill 7a346403db Added a loading 'image' to blobs.
Change-Id: Icf3bff669e9a8190bf67d3f7597bbf57ce8a094d
2013-12-30 13:31:14 -08:00
Brad Fitzpatrick a26b5b727e Merge "Add first bit of a React-based detail page." 2013-12-30 18:07:20 +00:00
Aaron Boodman e4daf4c4b5 Add first bit of a React-based detail page.
When complete, this will be part of index.html, but for now I am developing it separately.

Change-Id: Ibda6fb9f396f64d771919934907dbe4e5cd9d030
2013-12-29 23:50:10 -08:00
Brad Fitzpatrick 8a05c520f8 search: make sort type encode as a string in JSON
Change-Id: I50c5663e850f3e8710381cc59daf246c8a600482
2013-12-29 16:28:06 -08:00
Aaron Boodman c1d52982a9 Reset transform origin correctly when switching queries.
BUG=294

Change-Id: Ica8621121bae4c71621f00473cb95765ac066ead
2013-12-29 11:53:20 -08:00
Aaron Boodman 7a6df7dd8a Clicking on the Camlistore logo should go back to the homepage.
BUG=296

Change-Id: I4fda6d0756cd7d9651ffa5610ef913b84eabd3a6
2013-12-29 10:30:55 -08:00
Aaron Boodman 9929e0ed50 Infinite scroll: keep loading more results until we overfill the screen
by at least 50%.

BUG=295

Change-Id: Ifdf3f05d4831cd7638d091a2e6e65a47b6b0e585
2013-12-29 10:26:24 -08:00
Aaron Boodman 1a4a4d5145 Fix typo in comment
Change-Id: I8faf1365d545952c475a8c852ec5707304b4a69e
2013-12-26 23:32:51 -08:00
Aaron Boodman 07a61c430d Optimize BlobItemContainer layout.
We were forcing synchronous relayout for each blobitem in a few
places. Removed those.

Change-Id: I18a6a73c28f1307e62947d5ee6b8881ca5eb505a
2013-12-26 23:16:00 -08:00
Brad Fitzpatrick 03ceecd9a5 Fix App Engine build.
Change-Id: I6b97b9899515a8481f343ea8ea842baf6bcdbbd7
2013-12-25 10:05:18 -08:00
Brad Fitzpatrick d5cf14d977 Make the reindex flag actually work.
Don't log.Fatal first saying the schema version is wrong.

Change-Id: I86272515cd62e5db13a5f31cffb91316285fb3fe
2013-12-25 09:49:51 -08:00
Aaron Boodman d3bdb623df Merge "Fix bug 279: We sometimes show duplicate images after upload" 2013-12-24 04:42:19 +00:00
Aaron Boodman 4c48ed3a3a Fix bug 279: We sometimes show duplicate images after upload
Change-Id: If1b633f8c0b7c358aa0d2679f4c95db545237e65
2013-12-23 20:31:27 -08:00
Brad Fitzpatrick a11ff22b8e camlistored: add --reindex flag; make sqlkv a sorted.Wiper
Change-Id: I6b16c1c32187fb754d3acdbe852d02a506236078
2013-12-23 19:07:17 -08:00
mpl 4a87b954fb Merge "pkg/index: move postgresql to sorted + some fixes" 2013-12-23 23:49:14 +00:00
mpl 8fec95752c pkg/index: move postgresql to sorted + some fixes
Change-Id: Ia6410256ffe8d4cbc2b9a5c056d075707105ab08
2013-12-24 00:37:14 +01:00
mpl 6e7eacea4a Merge "pkg/client: some cleanup, doc on the website" 2013-12-23 22:31:45 +00:00
mpl 1e8d46ee45 pkg/client: some cleanup, doc on the website
Changed some keys to be consistent with the server config, and removed
some others.

We're now using jsonconfig to get the keys and validate the config.

Removed some unused funcs/methods, moved some global vars as members of a client.

Also, having two possible defaults for the secret keyring
(.config/camlistore/identity-secring.gpg and .gnupg/secring.gpg)
was annoying and confusing imho, so I removed the latter.

http://camlistore.org/issue/259

Change-Id: Icf79fa8822b62b5d91843698861dd19cb553607a
2013-12-23 20:23:21 +01:00
Aaron Boodman e15052302b Implement the new "expression" support in the web ui
Change-Id: Ic0521f770ffd45c24505ff386b2c044dc307e284
2013-12-21 22:10:17 -08:00
Aaron Boodman 9b639b111f Reformat server_connection.js
Change-Id: Ic4b5dad8e8ab13c63fc0fe21417067ebbc2ff3b5
2013-12-21 18:20:32 -08:00
Aaron Boodman 350c68af03 Old dog, meet new trick: experimenting with new formatting style for JavaScript.
Change-Id: I22c7ee3db5aa13e8c9b51750d27c559ee0c06859
2013-12-21 17:46:17 -08:00
Aaron Boodman d8ed278279 Prevent layout glitch in nav bar during load caused by web fonts loading asynchronously.
Change-Id: Ic1fbfbf2a7d3a6b48fa7a17f0a1b823a6e1fe854
2013-12-18 23:31:46 -08:00
Aaron Boodman 32ee48d919 Make nav items light up on focus too (for keyboard navigation).
Change-Id: I0484a6c25ced83ebfb678159c6d5ab575ff5bcc9
2013-12-18 19:58:10 -08:00
Aaron Boodman 6851183392 Merge "Add an explicit close gesture to the nav. Going to try this out for awhile." 2013-12-19 03:53:57 +00:00
Aaron Boodman 23c4496287 Add an explicit close gesture to the nav. Going to try this out for awhile.
Change-Id: Iae3db925fa4540a47fe802982759ae31da7156ee
2013-12-18 19:51:32 -08:00
mpl 62f8a252ff pkg/index: move mysql to sorted
also minor cleanups in sqlite and mongo

Change-Id: I1f371358997d929c72a8f63d2630a1c3fa4a0240
2013-12-18 20:18:20 +01:00
Aaron Boodman 114f522bf0 Merge "Redraw most of the rest of the svg icons from scratch. There are two harder ones left." 2013-12-18 06:27:33 +00:00
Aaron Boodman 0751ae57b2 Redraw most of the rest of the svg icons from scratch. There are two harder ones left.
Change-Id: I57c0cef820aeb63977add027556d9bd4805bf655
2013-12-17 22:26:27 -08:00
Aaron Boodman e9b97a6b47 Fix bug that made nav sometimes not open with keyboard shortcut.
Change-Id: If1330c44f357c1cd650a4cbbd13f2b7d01d4e644
2013-12-17 21:37:22 -08:00
Tony Chang 392cc3eeab Don't re-fetch images when the images are ensmallen-ing.
Let the browser do the resize for us.
Also add tooltips to images.

Change-Id: I662c19e7b408ccdda934503ea8a29fff0e8a4a7e
2013-12-16 21:10:37 -08:00
Aaron Boodman 52f27cbbb0 Merge "Add slash and escape keyboard shortcuts for opening and closing the nav." 2013-12-17 04:32:24 +00:00
Brad Fitzpatrick b4c5e07480 Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2013-12-16 20:30:03 -08:00
Brad Fitzpatrick 30c7d8859a thumbnails: add a cache-busting URL component, support ETag
And quiet noisy logging on normal write failures.

We can now stress test the thumbnail generation by setting
CAMLI_DISABLE_THUMB_CACHE=1 which will make all the thumbnails in the
browsers be unique, and not write them to cache on the server.

Then, when we're happy with the thumbnails, we just increment the
thumbnailVersion string and that busts all the browser- and
server-side caches.

Change-Id: I3cda8e85ab8b1b0b2c9113f6dff613dfbf736028
2013-12-16 20:27:49 -08:00
Aaron Boodman 069423e054 Add slash and escape keyboard shortcuts for opening and closing the nav.
Change-Id: I83984a8f8887d92d99359609381f936d274373d1
2013-12-16 20:27:38 -08:00
Aaron Boodman 054b67bc04 Merge "New Navigation UI." 2013-12-17 03:30:07 +00:00
Aaron Boodman c4e74959a2 New Navigation UI.
I'm sure there's still lots of refinement that needs to be done here, but this
seems like a good checkpoint.

Change-Id: Ida808464c0cc40c84f7f79c016d3c6a148d50a32
2013-12-16 19:28:20 -08:00
Brad Fitzpatrick d9e7b03fca ui: subscribe to attribute changes over websocket too
Change-Id: I0ecdbe9ff321cd46e86534c7da1e90f48d0eb6f5
2013-12-16 17:37:17 -08:00
mpl b62c94fdd1 pkg/index: move sqlite implementation to sorted
Change-Id: I1e300ffa14547fabeac8d255fd694054ebcb9e53
2013-12-16 17:35:27 +01:00
Brad Fitzpatrick 9af5a970de Mark boring files generated by FUSE as "hidden", then hide in the UI.
Makes for prettier FUSE demos w/ files showing up live in the browser
with websockets.

Change-Id: I41cc9ae0d33db39b4dbbf5b60714cee9a79b7248
2013-12-13 13:27:48 +04:00
Brad Fitzpatrick 511a599e3b Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2013-12-12 15:13:57 +04:00
Brad Fitzpatrick 61deeffef5 Make WebSockets work over https/wss, and make Auth work with WebSockets too.
Change-Id: I321f9d7fe80bf4c88771cbb925f3712229cc09ee
2013-12-12 15:13:44 +04:00
Aaron Boodman a5f189ef0e Fix an intermittent JavaScript error during server push.
Change-Id: If942a4d79dc53619e52b205dd462d0fb8f44aeae
2013-12-12 03:07:56 -08:00
Aaron Boodman ae06cdba97 Implements quick and dirty server-push support in the client.
Change-Id: I32a3d7887b2855fb261b0e6e5c7fbd54e8e0a868
2013-12-12 13:42:36 +04:00
Aaron Boodman 5e72b0f104 Implements quick and dirty server-push support in the client.
Change-Id: I32a3d7887b2855fb261b0e6e5c7fbd54e8e0a868
2013-12-12 09:38:34 +00:00
Brad Fitzpatrick fc4d26ad3b Revert "This patch hangs the server." (the websockets live query code)
I accidentally committed this earlier, but it was still a WIP.

This reverts commit aef2fba3e1.
2013-12-12 11:38:01 +04:00
Aaron Boodman aef2fba3e1 This patch hangs the server.
Apply the patch, load the UI, then run ./bin/devcam put -filenodes -permanode doc.
Server reliably hangs for me.

Change-Id: I4057d4575515d1298ab83e58059b669a6f2bdacb
2013-12-11 13:14:37 +04:00
mpl f9bfed9b57 camlistored: use osutil for default TLS cert/key
http://camlistore.org/issue/254

Change-Id: I9a0944497db64387058230c5245ed2718f36fde2
2013-12-10 15:13:50 +01:00
mpl aba07a9db1 Merge "camlistored: signal typo s/SIGTERM/SIGINT/" 2013-12-09 15:14:05 +00:00
Aaron Boodman e8a6569744 Clear the results in the case of a zero-item result
Change-Id: I80012c1008a21ddb992a451bc5144e3f4d3e6960
2013-12-09 00:20:36 -08:00
Aaron Boodman 00dab48430 UI: Kill permanodesWithAttr() in favor of generalized search.
Also give 'show roots' a URL and history entry.

Change-Id: Iaec6fd16dab897daa5a2b0623490b82c3b606281
2013-12-09 00:00:08 -08:00
Brad Fitzpatrick 06011342a0 Merge "Bucketize the thumbnail sizes requested better." 2013-12-09 07:06:58 +00:00
Aaron Boodman f1d9569e5d Fix wobbly checkmark.
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
2013-12-08 19:06:49 -08:00
Aaron Boodman 9aea2cda06 Bucketize the thumbnail sizes requested better.
This should result in more thumbnail cache hits.

Change-Id: I70b90500377ed0b35fb0e63f18b0139149eff1f3
2013-12-08 18:56:39 -08:00
Aaron Boodman 933e16ebf1 Replace special-case 'recent' query in web ui with new search.
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
2013-12-07 23:34:27 -08:00
Brad Fitzpatrick ccc9b2909e Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2013-12-07 22:23:12 -08:00
Brad Fitzpatrick ffc6c39d40 Live search results via WebSocket.
Works in the debug page now, but not wired up to the main UI.
Leaving that for Boodman.

Change-Id: I0d0acf78cbcd228e95e391d724ea43571d174511
2013-12-07 22:22:45 -08:00
Aaron Boodman eadf181f43 Merge "Fix JS error when scrolling permanode page" 2013-12-08 04:29:12 +00:00
Aaron Boodman 75ac082159 Fix JS error when scrolling permanode page
Change-Id: Ibae861247e083f9aec5b14e428bf086a3631d721
2013-12-07 20:26:33 -08:00
Brad Fitzpatrick b2d221af44 Start of Camlistore WebSocket support, for showing live search queries in the UI.
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
2013-12-07 20:19:20 -08:00
Brad Fitzpatrick 76171ddb3d Change sorted.KeyValue.Find to take an optional end bound; add tests.
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
2013-12-07 08:43:18 -08:00
mpl 0af0ddd79f ui/toolbar: fix typo that was commenting out the button creation
Change-Id: I983dd6cfc9bbcf0ae1a9e302476d29ffa918663a
2013-12-06 23:50:58 +01:00
mpl 8be74ec7c1 camlistored: signal typo s/SIGTERM/SIGINT/
Change-Id: I1111cd4911b08c3d6e8459916358432cb52ed6a1
2013-12-06 19:24:32 +01:00
Aaron Boodman 4637b6676f Add a 'clear selection' button per Brad request.
Also clean up dispatch of the related events somewhat.

Change-Id: I6c0e5fe20f2d985463cc434f9efd5796108da869
2013-12-04 20:47:33 -08:00
Aaron Boodman 0e8ed35fe4 Merge "Beginning of infinite scroll for recent permanodes." 2013-12-05 03:49:00 +00:00
Brad Fitzpatrick 11a1745034 Add KeyBytes and ValueBytes accessor to sorted.KeyValue.Iterator.
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
2013-12-04 14:18:52 +01:00
Brad Fitzpatrick b82b8efe4c Start of new context package and *context.Context type.
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
2013-12-02 13:20:51 -08:00
Aaron Boodman a22b12d9e7 Beginning of infinite scroll for recent permanodes.
This doesn't have a progress meter yet.

Change-Id: Iee089c99ff0fef2b2c724ccd5d6087eb4fa3f087
2013-12-01 22:59:39 -08:00
Aaron Boodman 0514b9fd3f Formatting cleanup in blob_item_container.js.
Change-Id: Id6430c205f2d97e9439105ce7498ae9bc8861557
2013-12-01 22:52:53 -08:00
Aaron Boodman 31a6685f1d When updating spinner, don't relayout entire doc
Change-Id: I004e691e015b8a5e64f95702dc1f08ac75c91c0f
2013-12-01 11:32:31 -08:00
Aaron Boodman bffbb0b349 Merge "Adds camlistore.Spinner, a progress meter based on the safe icon." 2013-12-01 18:09:50 +00:00
Aaron Boodman 9104eefb7c Adds camlistore.Spinner, a progress meter based on the safe icon.
This isn't used by anything yet, but will be used in subsequent changes.

Change-Id: I0bd3174b2e16f8cab814ce72425b5fa1fed8d07e
2013-12-01 10:08:47 -08:00
Brad Fitzpatrick 313f8d25cb camlistored: log more version info at start
Change-Id: I3e1e27f6a475e438bb3bf6c06ca3a0941a2944eb
2013-11-28 08:55:53 -08:00
Brad Fitzpatrick eae8a74fc9 serverconfig/genconfig: add kv queues to all sync handlers.
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
2013-11-24 15:12:11 -08:00
Brad Fitzpatrick 9e3a9fde51 server/camlistored: add start-up test that tests default production config file
Marked as broken for now. Will fix in subsequent commits.

Change-Id: If41932a72312ce8fbde1d237c3f84fa0acae83ee
2013-11-24 15:03:34 -08:00
Brad Fitzpatrick 1f407edd58 sorted: add Close method to KeyValure; register 'kv' impl type for cznic/kv
Change-Id: Ie4e21450dac9dad3433c65631706f52527502cbc
2013-11-23 21:07:03 -08:00
Brad Fitzpatrick 8cd6084aef Merge "Display a folder icon and make camliPath attributes navigable." 2013-11-23 16:04:57 +00:00
Brad Fitzpatrick 90c1e48afe Rename index.Storage to sorted.KeyValue and move it into a new package.
Having index.Index and index.Storage both in the same package led to
confusing discussions about "an index". Better names now, and smaller
packages.
2013-11-22 23:24:54 -08:00
Aaron Boodman 650bd9b61e Display a folder icon and make camliPath attributes navigable.
Like we do for camliMember.

Change-Id: I2db51d7397e0f8ab86ea71716fe06099ba22005a
2013-11-22 22:49:07 -08:00
Brad Fitzpatrick 70475701d1 Get rid of QueueCreator and all its associated complexity.
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
2013-11-22 14:33:31 -08:00
mpl f8b41e236e Merge "server/publish.go: use go html template for publishing" 2013-11-19 22:22:17 +00:00
mpl a6aeff034c server/publish.go: use go html template for publishing
Change-Id: Ic1c55d35e52e407864d339927b453de58a64e03c
2013-11-19 17:50:26 +01:00
Aaron Boodman 3f7543853a Bugfix: incorrect baseURL passed to InstallHandlers
Change-Id: Iaf26a806358cd82ca09c48d83ca86155e27c289d
2013-11-17 00:41:01 -08:00
Aaron Boodman e4f25a2444 First little bit of Flickr importer.
Change-Id: Ia42b07a81b01904f5722d06653c4bf9de2e81c64
2013-10-20 11:18:53 -07:00
Brad Fitzpatrick cf116c6da9 importer: work on infrastructure for third-party import from other sites
Change-Id: Ib4e5e4d543a1b2a913b99fa0a4d92f1a5b94c5dc
2013-10-19 15:48:05 -07:00
Aaron Boodman 02665d5d3c Use pushstate() to give searches URLs and history entries.
Also, remove note about bref support from search instructions since
apparently that isn't supported yet.

Change-Id: I1ccbb8be44aa62ae7191aef913c7a226fd90a775
2013-10-16 23:54:26 -07:00
Aaron Boodman 8418852996 Combine search and index page functionality.
Also:

* Changed favicon to a safe
* Clean up design of toolbar
* SVG support buggy in Chrome, replace SVG checkmark icons with PNG

Screen cap:
http://vault.aaronboodman.com/share/sha1-2dbb2b515fc84f2ef1395ee263cd41c1a6700de2?via=sha1-6eb9c7651ffa8e6f4f95e8fc6800a4672c4e179a&assemble=1

Change-Id: Ic5d2eb30ea1d72022a2b8804cae887319ac32a1b
2013-10-16 01:08:02 -07:00
Aaron Boodman 74eb8e6c3c Further visual refinements to layout of homepage:
* 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
2013-10-04 14:04:38 -07:00
Aaron Boodman aac43b56fc Move to "G+-style" selection.
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
2013-10-03 22:06:31 +00:00
Aaron Boodman f322018816 Move the button to create permanode into toolbar.
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
2013-10-01 00:16:29 -07:00
Brad Fitzpatrick 128f56887b Handle GET and HEAD the same in more (all?) places.
Change-Id: I486a95f0a6fc127d17dcf0abeb94eab292980156
2013-09-15 20:12:26 +01:00
Andrew Gerrand 4ca346f124 add diskpacked storage system
Change-Id: Ieb16459c06d596ad49bbe78b6e058955fcd6f649
2013-09-02 10:35:32 +10:00
Brad Fitzpatrick ca64e4f508 camlistored: on SIGINT, shut down cleanly, closing the kvfile index db
Change-Id: Ifcb8c22b088586bc72ad98dacc3be2d46e77928b
2013-08-26 21:07:28 -05:00
Brad Fitzpatrick ef6bc9499e Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2013-08-25 12:58:34 -05:00
Brad Fitzpatrick 46020e1551 Make kvfile index the default if SQLite isn't available.
We now work out of the box, with no external dependencies.

Change-Id: I8d0cedb33518e418a7ff28cdb22f9ba9ef400d6f
2013-08-25 12:57:51 -05:00
Brad Fitzpatrick 1e15d7ee89 Merge "camlistored: Adding --openbrowser flag, determines whether start page should be opened in browser. Start page should be / on the initial startup to let the user to config the server, and /<uiPath> on the following starts." 2013-08-25 17:31:35 +00:00