Commit Graph

970 Commits

Author SHA1 Message Date
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
Burcu Dogan d0d5f3a1fa 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.
Change-Id: I3ac055161c5023bd338fccccda83376df7381c64
2013-08-25 12:30:46 +02:00
Brad Fitzpatrick d6a0b34e5f camlistored: link in kvfile
Change-Id: I55f65275b45f7de0efc0c52e84ac61f4baebaa38
2013-08-23 17:14:33 -05:00
Josh Huckabee 8bf1eb8a9b Add postgres setting to default config file.
Change-Id: I45f374e61f17286f5c825ef537d052407ff1bccd
2013-08-22 10:02:58 -07:00
Brad Fitzpatrick ae20a0f7de Ditch App Engine ContextWrapper noise; add test that App Engine always compiles.
I had broken App Engine in my previous commit, since it wasn't part of 'make presubmit'

Change-Id: I32c25efbc7c348ff516128c87b6e817ae0685386
2013-08-21 18:51:10 -05:00
Brad Fitzpatrick b24cad68dd Cleanup: remove BlobHub and time.Duration waits from storage interface
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
2013-08-21 13:57:28 -07:00
mpl a41c89a24e devcam appengine: replaces ./dev-appengine
Change-Id: Ic4adcb8898fc3ead801aefd679682bcc646f3573
2013-08-20 00:10:01 +02:00
Brad Fitzpatrick b0d2a8f0e5 Merge "Adding Google Drive as a storage backend experimentally. No cheap-enough way of enumerating Drive files, needs to be fixed once Drive supports range queries. Allows you to sync to /sto-googledrive/, but not from." 2013-08-17 15:51:51 +00:00
Burcu Dogan 6e6e910af1 Adding Google Drive as a storage backend experimentally. No cheap-enough way
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
2013-08-17 15:30:02 +02:00
mpl d992780f03 Merge "camlistored: help getting started on windows" 2013-08-16 17:19:12 +00:00
mpl f5709afdd8 camlistored: help getting started on windows
-fail early when new config has sqlite but no sqlite installed
-hint at the server config doc url
-added windows with mysql section in the server config doc
-fixed typo in mongo indexer option

Change-Id: I4266eb6e34a55901e6af90a32eb1411fb5c37688
2013-08-16 19:14:30 +02:00
mpl 40951c103f appengine: fix the UI
-dev-appengine populates the default sourceRoot.
-app.yaml filters out the go files from the static
resources
-the UI handler warns that sourceRoot is required

Change-Id: I816456a882ff4b0573bc8962cce85139d8a0f611
2013-08-16 18:49:51 +02:00
Brad Fitzpatrick 5f5e8fcee4 Merge "appengine: more fixes" 2013-08-13 03:56:55 +00:00
mpl f66077e48b appengine: more fixes
-added status handler to the config
-made pkg/jsonconfig/eval.go use the relative path
for the config file, since appengine does not like
absolute paths.

Change-Id: If9d275e308ae60e15ecd9c831e22fa6301de0be6
2013-08-11 21:17:05 +02:00
mpl 489c78746b ui: deal better with unexpected non JSON responses
Change-Id: Ieacac4dc734421743ca30bf79b0f3afdbbe00892
2013-08-11 21:11:02 +02:00
Brad Fitzpatrick ba63f77d32 Merge "Improve appearance of non-image permanodes." 2013-08-05 15:01:20 +00:00
Brad Fitzpatrick 1f1c54e9f3 Merge "Schedule relayout whenever children are added to BlobItemContainer." 2013-08-05 14:59:59 +00:00
Aaron Boodman 5e24502348 Schedule relayout whenever children are added to BlobItemContainer.
This fixes some bugs where we don't relayout when items are added
to BlobItemContainer for various reasons.

Change-Id: Ie434acc12e660af438b93d2dabd41f3d75fb7493
2013-08-05 00:05:32 -07:00
Aaron Boodman ace41589a8 Improve appearance of non-image permanodes.
The add button still looks poo, but that will be a separate change.

Change-Id: Iea5fd53f7f4eabfc8c2ed45c043fcbd661b68077
Screenshots: http://imgur.com/JARUznn,tsv6dgU
2013-08-04 22:55:08 -07:00
Brad Fitzpatrick e3d3238989 closure: remove weird line breaks from buggy goimports, fmt
Change-Id: I65c8952d7fb3fbcdbaf61f004addf4514a8eee9a
2013-08-03 22:42:49 -07:00
Brad Fitzpatrick ffb10f6ce6 sigserver: fix build
Change-Id: I0e4b02a420ef2cfcae46d2d57ec99db1687df401
2013-08-03 22:29:57 -07:00
Brad Fitzpatrick 0bdf20884b all: delete pkg/blobref; convert all from *blobref.BlobRef to new blob.Ref
Change-Id: Id2dfb7f19452bedf4f3c9310b36227fd8117b225
2013-08-03 19:54:30 -07:00
mpl 66bc4f35d6 Merge "dev-server: remove. replaced by devcam server." 2013-08-03 16:34:35 +00:00
mpl f4ef8c0375 dev-server: remove. replaced by devcam server.
Fix related docs, config files, buildbot...

Change-Id: I638d3856f42953603b13204fb56782974d0db9ee
2013-08-03 01:12:38 +02:00
Brad Fitzpatrick e8d0200a11 Merge "integration tests: kill camlistored when all tests are done" 2013-08-02 19:04:41 +00:00
mpl 5fa82a3abb integration tests: kill camlistored when all tests are done
-osutil: PollParent to monitor parent process.
-camlistored: option to kill itself if it has been orphaned.

Change-Id: I87193254d55847e46134439ecd1b04f71718d083
2013-08-02 15:42:49 +02:00
Aaron Boodman 24458fca93 Tile images nicely within BlobItemContainer.
Screenshots here: http://imgur.com/XN9qFLP,PeEDPnW,CS35Pw6,VS0nHaG,SNT1ZXZ,2nMWVYz,8RmuLuw,NE8b26n,EFErMdg

Change-Id: I6a66b5b782363882261b80e7ac9930ff1046efa6
2013-08-01 22:25:52 -07:00
Aaron Boodman 02e0d5fc33 Prevent BlobItemContainer from receiving focus.
This seems to fix https://code.google.com/p/camlistore/issues/detail?id=183.
I could not find the code that is actually causing scrolling to occur ... I am
guessing something in Closure somewhere.

However, I also couldn't think of any reason for this component to be
focusable, and this doesn't seem to break anything that I can see.

Change-Id: Iaf64555ee175c774a218bb32d9bb4f97f46cc636
2013-07-28 17:17:33 -07:00
mpl 847c583183 UI toolbar: open search or index in same window/tab
Change-Id: I242fc4a23437b8ccf6bc6f33c3f8a7d9fdfc0023
2013-07-16 16:43:03 +02:00
mpl d5641cce0f UI index: enable drag and drop on a collection
Dropping anywhere on the container is now disabled.
One can either drop on the CreateItem (which results
in the same as dropping on the container was), or
drop on a collection thumbnail, which will not only
create the permanodes but add them to the collection
on the fly.

Change-Id: Ia4d761b2be25822a561c94c397dded02853e5b77
2013-07-15 17:32:53 +02:00
Brad Fitzpatrick d9eee3fe21 Merge "blobinfo: protect against xss from filename" 2013-07-08 22:58:01 +00:00
mpl 4a36967bc1 blobinfo: protect against xss from filename
http://camlistore.org/issue/173

Change-Id: I0b94578cea671ab3ba330a498f835a6e0bfdfc68
2013-07-09 00:21:41 +02:00
Michael Zuffoletti c2669a6dfc issue 23: Fix google storage blobserver as sync dest
Change-Id: I33d88dc5028ebb76d4c17d2a00d8f8346114f876
2013-07-08 11:33:10 -05:00
Brad Fitzpatrick 9468e5ba70 More docs. Every package is documented now.
misc.CountingReader moves into readerutil.

pkg/atomics is folded into pkg/types.

pkg/test/testdep is folded into pkg/test, with better name/docs.

Old cruft from pkg/webserver is deleted.

Change-Id: I3f72d8b29804254ef944995fb085837c878f79f5
2013-07-07 21:12:30 -07:00
mpl 6e7030d7bb Merge "ui: use local sprite for the toolbar bg" 2013-07-05 18:02:06 +00:00
mpl b47c75be7d ui: use local sprite for the toolbar bg
http://camlistore.org/issue/170

Change-Id: I66c7dee6f7072d477fed0eb41027f712d72bc8fb
2013-07-05 20:01:00 +02:00
mpl 004c261358 closure: GenJSDeps now takes a VFS, delete ui/deps.js
This changes allows to always dynamically serve deps.js, generated
either from the local files, or from the embedded resources.
ui.go and publish.go now make use of it.

http://camlistore.org/issue/151

Change-Id: I129895b2c65a0726c1239bdd7387c62e90649a9d
2013-07-05 19:43:22 +02:00
mpl 3fdf0b0af6 Merge "server_connection: show error when xhr fails" 2013-07-04 20:52:57 +00:00
Brad Fitzpatrick f3e2862660 Merge "pics.js: fix element index bug and indent" 2013-07-04 20:11:51 +00:00
mpl 3cec70b4ad ui: rm wantsRecentPermanodes and index-compiled.html
Change-Id: I5dd8d0b11b5b82f51738fbe5669f5a7798929300
2013-07-04 21:47:34 +02:00
mpl e95ddeb36a pics.js: fix element index bug and indent
Change-Id: Id1aee8f1725ccb2ef1e7fbc85f1293b89a9ec28e
2013-07-04 16:11:58 +02:00
mpl 9b392f39a4 server_connection: show error when xhr fails
Change-Id: Ibe82cb33f04cc606740ec136e1ffb524a7025730
2013-07-04 14:48:36 +02:00
mpl e2f9403f63 ui/blobinfo.js: check mimeType presence to avoid exception
http://camlistore.org/issue/165

Change-Id: Ie1ee86b5cc7807786d428efb92f2f571dd0450f2
2013-06-27 17:14:20 +02:00
Brad Fitzpatrick fd759e2413 Show UI from base URL.
Change-Id: I1b722241fce0be7ebbce7bbdb87bc9b6e96b9121
2013-06-26 12:50:23 -07:00
Brad Fitzpatrick a826b177f9 Don't bring out failures to open a browser. The URL is already printed.
I don't care that xdg-open isn't available.

Change-Id: I453c44a172399fe8ecf9aa0551a5628f408f5f28
2013-06-26 12:48:21 -07:00
Brad Fitzpatrick da86949a92 Fix UI's debug JSON verification
Fixes https://code.google.com/p/camlistore/issues/detail?id=163

Change-Id: I6bdd57b9c47b6465ba01336a3a5f0487889ea327
2013-06-26 11:15:17 -07:00
Brad Fitzpatrick 909d310e2f Prettier JSON claims from web UI.
Fixes https://code.google.com/p/camlistore/issues/detail?id=162

Change-Id: I0a154c267665d189d43b0742047a8229bf627e65
2013-06-26 11:07:18 -07:00
mpl 0de2881a16 client: help (wrt to the gpg key) initialize the config
Change-Id: I983e4396abacbc4d8fc354863cffeece65dd5b90
2013-06-22 01:16:11 +02:00
Brad Fitzpatrick 1c9436d26a Make sourceRoot take precedence over fileembedded resources. 2013-06-20 14:58:12 -07:00
Brad Fitzpatrick b4087ccc36 Remove CAMLI_DEV_UI_FILES and last zembed file. 2013-06-20 13:44:30 -07:00
Brad Fitzpatrick 48d282991c Remove all the html/css/js zembed files from the tree, for now. 2013-06-20 11:49:10 -07:00
mpl d9258434fe ui: zembeds should belong to package ui, not newui
Change-Id: I5d69e73280051eb8b97f3e082e5cfe285439dac6
2013-06-20 19:07:05 +02:00
Brad Fitzpatrick 10d000d900 ui: serve Closure from embedded zip data when available
Change-Id: I9bb6bb4f13f69b293fd98441d82068c0677ffbd5
2013-06-18 23:14:36 -07:00
Brad Fitzpatrick 83e42a14a8 Add server/camlistored/ui/closure package stub.
Change-Id: I1b8fd14e1d30326077e313d53594136e0b7c9de5
2013-06-18 11:36:44 -07:00
Brad Fitzpatrick 1c4964c1bc Merge branch 'master' of ssh://camlistore.org:29418/camlistore 2013-06-14 12:56:04 -07:00
Brad Fitzpatrick ca58d8e2e0 Remove noisy var _ = log.Printf lines.
Change-Id: Ia58b8ef5f271f542ae4fe61c7fb1497322770322
2013-06-14 12:55:55 -07:00
mpl ed798d8118 ui: update zembeds because of previous search changes
Change-Id: Iab9e8d3ad1ee5d2ccc163b637fae3c7038f1ef4b
2013-06-13 01:26:07 +02:00
Brad Fitzpatrick 1eb2866d0f Merge "ui: always reset blobcontainer children upon a search" 2013-06-12 22:04:44 +00:00
Brad Fitzpatrick a71162ab5f Merge branch 'master' of ssh://camlistore.org:29418/camlistore 2013-06-12 13:45:19 -07:00
mpl 084ce4c187 ui: always reset blobcontainer children upon a search
Fixes: http://camlistore.org/issue/143

Change-Id: Ic2f139dc207f518c7904bcbcb1577115e93ca3c8
2013-06-12 17:05:57 +02:00
mpl a32b4a10be Merge "sqlite: Write-Ahead Logging, for improved concurrency" 2013-06-12 15:00:30 +00:00
Brad Fitzpatrick 11c32c142b Start of encryption support.
Change-Id: If99ac252fffa8b50f0a17e94e8aa454295dd7e2b
2013-06-12 04:35:50 -07:00
mpl 777abd6e31 ui: fix blobitem title issues
http://camlistore.org/issue/141

Change-Id: I391bfba6a2083132e8998fcc8c2ae712cfc69836
2013-06-11 14:53:23 +02:00
mpl 75507e65fa newui: Final move to get rid of the old ui!
1) Everything in ui/ except for js-notes.txt was removed.
2) mv newui/* ui/
3) modified pkg/server/ui.go to make it all work
4) modified Makefile to generate server/camlistored/ui/deps.js
5) regenerated all the zembeds
6) Some fixes to attempt to make it (re-)work on appengine:
  -removed the Go1.1 check
  -added pkg/osutil/restart_stub.go (for restarting a process)
7) The closure handler now redirects to the online files when
the closure library is not on disk, because we do not embed
the required closure js files.

Change-Id: Id1bcf007550cafb7188ba2674352e8f3bd07fb8c
2013-06-11 13:25:59 +02:00
Brad Fitzpatrick 5e13871b67 Merge branch 'master' of ssh://camlistore.org:29418/camlistore 2013-06-10 01:34:39 +02:00
Brad Fitzpatrick c6cb32bcac fileembed: put all metadata first, and also support rolling checksum splitting of large embeds
Change-Id: I9da21c9a21cb2f9b04484d4374a621cb4b97679d
2013-06-10 01:11:03 +02:00
mpl 4ea052fca0 newui: permanode: rm type drop down, added cammount tip
Change-Id: Iec6f4fb7c3e7ad1ed92ee409822f15a5e2d41e11
2013-06-10 00:41:05 +02:00
mpl ddc9a32426 newui: fixed bug on permanode page, constrained a type, added a TODO
Change-Id: Ibb92f4fbc9a4a433b9f3ebd53c9f5b8ccc50edea
2013-06-09 20:18:36 +02:00
mpl 277795ad46 Merge "server status: bugfixes, and rid of version as a field." 2013-06-09 17:12:11 +00:00
mpl 9942cda125 server status: bugfixes, and rid of version as a field.
Also smaller font on the index page

Change-Id: I5918dedfadf551a8a982d74670fefc4174555c72
2013-06-09 19:27:17 +02:00
mpl 7059a616c0 show server status on index page
We're only showing build version for now.
Next step would be status handler.

See http://camlistore.org/issue/111

Change-Id: I9e0792abe9ffed8139d38478d186b6e75f99de7e
2013-06-09 18:46:24 +02:00
mpl b815a01347 Merge "show server status on index page" 2013-06-09 16:34:05 +00:00
mpl 39f1c2bae1 ui: published gallery fix
Change-Id: I42320d31da7393a2062833897ec581a245608d7c
2013-06-08 19:08:29 +02:00
mpl 3040e3852e Merge "WIP: switch from ui to newui" 2013-06-05 12:29:29 +00:00
mpl 11a3f78691 WIP: switch from ui to newui
This CL proposes 4 changes:

1) When making the embeds, any .html files in newui is rewwritten
on the fly so that the resulting embed uses all.js instead of
individual .js files. all.js is the only javascript file embedded
for newui.

2) Various bugs and paths in the newui/*.js files were fixed so that
everything works when using all.js

3) pkg/server/ui.go was modified so that all features from ui should
now have an equivalent in newui, that is served through ui/new/.
In a next step, we can move back everything from newui/ into ui/ and
completely get rid of the old ui.

4) The published gallery now uses closure too.
In another next step, we should probably work on serving its static
part directly from an .html file or (include it in the zembed somehow?)
instead of generating it at every request. Or at least cache it?

This commit includes the zembeds in newui, except for zembed_all.js.go
since it is large and it would take a lot of space in the git history
everytime we change it.
The plan is to roll-sum it into chunks to address that problem.

Change-Id: I381d8ddf3a2bbe37e3c4b1c4bf423f16beffaaf4
2013-06-04 16:34:51 +02:00
Brad Fitzpatrick 45287dbd15 Merge "newui: filetree" 2013-05-25 21:42:48 +00:00
Brad Fitzpatrick e7486b0009 Update embeds
Change-Id: If959ebbfc1932b5ae89eac3bb480e90f95abe22a
2013-05-25 14:54:35 -07:00
mpl 64ddd47788 newui: filetree
Change-Id: Ibf8972a57c7253e55bcfcc679d141e933db3fe7b
2013-05-24 20:00:22 +02:00
Brad Fitzpatrick eb76b61a18 Merge "newui: debug page" 2013-05-23 19:08:33 +00:00
Brad Fitzpatrick 09eb1ce549 Merge "newui: search; select collection, like on index page" 2013-05-23 19:08:03 +00:00
Brad Fitzpatrick c88abec2b0 Merge "newui: permanode page: show members as blob container" 2013-05-23 19:07:44 +00:00
mpl b1577e34b9 ui: fix filetree (subsequent to describe response changes)
Change-Id: Ib715693ea98206158680cd9bec1566d6fe11ca96
2013-05-23 18:04:56 +02:00
mpl b126f548d3 newui: permanode page: show members as blob container
Change-Id: Ifd2a52e6ef97f97b9fb16bc11888be6875faf832
2013-05-23 16:54:33 +02:00
mpl 0a6a178333 newui: debug page
Change-Id: I9b6cbf007686cc0566dbf3c1d2c14ad3e83749fd
2013-05-22 17:09:02 +02:00
mpl d71d149522 newui: search; select collection, like on index page
This change also introduces the "bref:" prefix search,
to search a permanode by blobref (mainly to then
set that permanode as the current collection).

Change-Id: I9a8e6663dc6e6aff599c6740936b770cd5c54b4a
2013-05-21 23:12:11 +02:00
mpl 2ca201dd41 newui: index; select a current set, add members to it
This change adds 2 buttons to the toolbar.

1) setAsCollecButton_ is enabled only when a single item
(which has no content) is selected. When clicked, the button
sets that item as the currently selected collection/set
(BlobItemContainer.currentCollec_).

2) checkedItemsAddToSetButton_ is enabled when
currentCollec_ is set and some items are selected. When
clicked, it adds the selected item(s) to the current collection.

Change-Id: Ib8dcfa308b03b114e54612cd790e4b24e60a9d53
2013-05-21 20:35:16 +02:00
mpl 1d8bcfb908 newui: added ctrl-selection of items
http://camlistore.org/issue/134

Change-Id: I88c6f27658915b50399ef5f1fc00abdffefbe099
2013-05-20 16:05:27 +02:00
mpl 867dfb8706 newui: fix bug and behaviour for shift-selection of items
http://camlistore.org/issue/134

Change-Id: Id9f732a84fb1e54b9cff2e843957ffa639c02154
2013-05-19 00:49:29 +02:00
mpl af204bca92 newui: search page, with index page style
Change-Id: Iad9a3e914a4ffa79af6629c88a13a9946b7f3a2c
2013-05-19 00:38:19 +02:00
mpl 644561ad68 newui: blobinfo page
Change-Id: Iecc82e5feac704dfe7e280a6f21a17098a36070b
2013-05-13 23:17:12 +02:00
mpl abbcc38ee7 newui: permanode page
Change-Id: I3f2c5b54de2a43d5a53b1a31d7ecbf4b70afb6cf
2013-05-12 23:09:10 +02:00
mpl ff59e54b9a newui: index.html free of camli.js
All the deps needed from camli.js have moved into
server_connection.js, closure style.

Change-Id: Ic04847f428fdc983f660c12ae32fc75c80767438
2013-05-10 00:22:20 +02:00
mpl a4aba6671a sqlite: Write-Ahead Logging, for improved concurrency
http://camlistore.org/issue/114

Change-Id: I93c3d48f06a6cb0703bd9ce3f89b03fc59826a73
2013-05-01 18:04:03 +02:00
Brad Fitzpatrick 6be77f09e4 Merge "Allow HTTPS with a self-signed certificate." 2013-05-01 02:30:23 +00:00
Brad Fitzpatrick 85c0fa9c61 Merge "search: factorize max results sanitation, allow max specified from ui" 2013-05-01 02:22:24 +00:00
mpl ac431439f3 Allow HTTPS with a self-signed certificate.
A new client configuration parameter, "trustedCerts" (list of strings)
is introduced. A certificate fingerprint is defined as the 10 digits
prefix of the sha1 of the whole certificate (in ASN1. DER form).
trustedCerts should contain the list of fingerprints of the
certificates we trust. If not empty, the server's certificate
is checked against that list, instead of using the full x509 validation
on it.

-added a dial function and tls configuration, which check if we're using
SSL, and if we're in "trustedCerts" mode.
pkg/client/client.go
pkg/client/config.go

-moved android specific hacks from camput to the client layer, so that
the dial and tls config could reuse/access them. Also allows future
reuse for other commands, such as camget.
pkg/client/android.go

-adapted camput to the above changes:
cmd/camput/android.go
cmd/camput/camput.go
cmd/camput/files.go

-server prints a hint when it generates the self-signed:
pkg/misc/misc.go
server/camlistored/camlistored.go

-camliactivity:
clients/android/res/xml/preferences.xml
clients/android/src/org/camlistore/Preferences.java
clients/android/src/org/camlistore/SettingsActivity.java
clients/android/src/org/camlistore/UploadService.java
clients/android/src/org/camlistore/UploadThread.java

http://camlistore.org/issue/131

Change-Id: I6be20161549a69aafc8eb7b9e96e9351dc1c5b09
2013-04-23 17:10:37 +02:00
mpl 7c08f37abe search: factorize max results sanitation, allow max specified from ui
Change-Id: I066369829816189dbd2f682ce003c8b82022d131
2013-04-04 15:38:55 +02:00
mpl 146c5053b5 ui: small js bugfix (not null check)
Change-Id: I7c7b218263b28d1a8701972cb9eddfccbbe6275c
2013-04-04 01:12:20 +02:00
Brad Fitzpatrick 4c7e985c14 uploadhelper: use a type for JSON response, not maps.
Change-Id: I642af4daf97829a813bf7dad61cc7683ec780e69
2013-02-11 20:33:53 -08:00
Brad Fitzpatrick 9e694121d0 More closure annotations. Down to 12 warnings.
Change-Id: I40bd64d02c94b52eac7f522e52b694266163ea93
2013-02-10 21:05:30 -08:00
Brad Fitzpatrick 2ee7bb3359 More type annotations. 16 warnings.
Change-Id: I67350719305279c0d3e7c3869f53476f56f256a4
2013-02-10 20:42:48 -08:00