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
Aaron Boodman
4c48ed3a3a
Fix bug 279: We sometimes show duplicate images after upload
...
Change-Id: If1b633f8c0b7c358aa0d2679f4c95db545237e65
2013-12-23 20:31:27 -08: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
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
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