Commit Graph

220 Commits

Author SHA1 Message Date
David Glasser
1070a682fd Rename soma.jpeg to soma.png, because that's what it is. 2012-12-13 17:49:09 -08:00
Nick Martin
6fee95fc34 make static bigdata app to stress page load (merge box) 2012-12-12 22:01:09 -08:00
Nick Martin
ae07218515 Convert the benchmark to use Meteor.settings to load scenarios. 2012-12-11 00:17:28 -08:00
David Greenspan
11f98e0748 include jsparse-docs app in main repo
Under examples/unfinished.  Was in my personal repo.

This app displays a nicely-formatted full reference for the jsparse syntax tree.
2012-12-10 15:27:09 -08:00
David Glasser
2d04e07b7a wordplay: update idle status correctly.
Fixes #505, reported by pbkracker.
2012-11-23 11:03:31 -05:00
Avital Oliver
0af26570c3 accounts-ui fixes related to the introduction of {{loggingIn}}
- Correctly position certain elements
- Reduce flicker/things moving around in various cases
- Force dropdown to open in case there is a message to display
2012-11-16 17:24:45 -08:00
Nick Martin
42fa76ccc1 Basic benchmark app. Very unfinished. 2012-11-15 22:56:59 -08:00
David Glasser
f8c54c4046 Overhaul quiescence, method callback timing, and login methods on the client.
- Data streamed from the server is quiesced on a per-object basis, not a global
  basis. We track which documents a method stubs modifies, and create individual
  snapshots ("server documents") of those documents rather than whole-Collection
  snapshots. Data writes from the server to documents not modified by stubs are
  applied immediately to the local cache; other writes are applied to the
  "server document" snapshots. Server documents are flushed to the local cache
  when all method stubs that wrote to the document have sent their "data write"
  message.  (We still do "full database" quiescence after a reconnect.)

- Instead of calling method callbacks as soon as the result is received, we wait
  until all data that precedes their "data done" message is flushed to the local
  cache. This way, method callbacks can see all of their results locally. (This
  applies to Collection mutator callbacks as well.) If this delay is
  unacceptable, you can also specify the onResultReceived option to
  Meteor.apply; this callback is given the method result as soon as it comes in,
  and there's no guarantee that the local cache is up to date.
  (This is a client-only change: server-side callbacks do not block on the
  write fence.)

- Methods invoked with the "wait" option to Meteor.apply now wait until all
  preceding methods are fully finished to be *sent*, not just to call their
  callbacks. ie, previous calls block the "wait" method in the same way that
  "wait" methods block subsequent calls.

- Remove Meteor.userLoaded and {{currentUserLoaded}}.
  Meteor.userId() is now set only at the point where Meteor.user() is fully
      loaded.
  Current user data is published via an unnamed subscription, not via
      "meteor.currentUser".
  Replace them with Meteor.loggingIn() and {{loggingIn}}, which become true
      as soon as the login method is sent (instead of only once it succeeds).
  In accounts-ui, move the spinny into the dropdown, because it now shows up
      before error messages would.

- Previously, if we received the "result" message from a method but no "data"
  message, and then disconnected and reconnected, quiescence would be
  permanently blocked. Now, not only do we allow the app to continue working,
  but we even guarantee that the method's callback will be called at the
  "reconnect quiescence" point.

- Remove reset function from the Store API (the interface between
      _LivedataConnection and Collection), and add a boolean "reset" argument to
      beginUpdate instead.
  Add saveOriginals/retrieveOriginals functions to the Store API (pass-through
      to minimongo implementation).
  Allow "replace" messages to be passed to the Store API's update function
      (in addition to set/unset).
  Allow Store API implementations (eg tinytest_client) to not specify all
      functions.

- Server-side tinytest results now stream into the result page instead of
  appearing all at once at the end.

- Rename fields and methods of Meteor._LivedataConnection as camelCase, and
  prepend all internal fields with _.

- Different Meteor._LivedataConnection objects now have separate
  _userIdListeners _ContextSets.

- Remove snapshot/restore functionality from Minimongo collections. (Individual
  queries still have result snapshots.) The "server documents" in
  Meteor._LivedataConnection serve the equivalent purpose.

- Meteor.loginWithToken's callback is now a "call with error on error, call
  with no args on success" callback like the other login callbacks.

- The test-only Meteor._LivedataConnection.onQuiesce function is removed.
  Every single use of it is now supported by normal method callbacks.
2012-11-14 18:10:08 -08:00
David Glasser
c947cbf1b3 Demo for quiescence. 2012-11-14 18:10:08 -08:00
David Glasser
e6a9ad6746 gitignore .meteor/local in non-existent examples. 2012-11-07 14:45:55 -08:00
Avital Oliver
b1eb334d41 accounts-ui improvements
- Better behavior when in-line. Text around {{loginButtons}} does not move up and down when logging in and out
- In various cases, text underneath {{loginButtons}} no longer moves up and down when logging in
- Refactored the way we support right-aligned login dropdowns to not use a container div
- Use inline-block instead of float for the image inside the login buttons
- Generally use inline-blocks more correctly (rather than blocks inside inline-blocks)
- Some other small refactoring
2012-11-02 12:20:22 -07:00
David Glasser
5e3f00c084 parties: capture double-click on map div, not svg.
In Firefox, the SVG is smaller than the map (bounding box on its items), so
coordinates were calculated wrong.
2012-10-16 17:56:12 -07:00
David Glasser
2b62152179 Add license and in-app attribution for OpenStreetMap. 2012-10-16 10:58:49 -07:00
David Glasser
2f11def1fb Use newer form of Template.foo.events. 2012-10-16 10:55:45 -07:00
David Glasser
7b03dfc43c Merge branch 'parties-example' into release-0.5.0 2012-10-16 10:54:35 -07:00
Nick Martin
15c6fe4220 Use query instead of custom logic to figure out where we clicked. Works in IE9. 2012-10-16 06:08:02 -07:00
Geoff Schmidt
45955d3ad3 parties: move parties.html into 'client' 2012-10-16 04:29:47 -07:00
Geoff Schmidt
4dee258b8e parties: validation + code cleanups 2012-10-16 04:27:02 -07:00
Nick Martin
f1895ba2eb Rip auth out of todos. Parties will be a much better auth example. 2012-10-16 04:19:24 -07:00
Geoff Schmidt
0ca1386c10 parties: style d3 portion of app 2012-10-15 23:49:58 -07:00
Geoff Schmidt
0c9268cb2d owners can write to some fields 2012-10-15 23:49:57 -07:00
Geoff Schmidt
4e7246320e small UI cleanups. sqrt for diameter. 2012-10-15 20:25:57 -07:00
Geoff Schmidt
5b3293192f send email on invitation. Facebook/Twitter support. 2012-10-15 19:38:15 -07:00
David Glasser
f119348d9c Remove addressed XXX comment: verification tokens are now separate. 2012-10-15 10:52:18 -07:00
Avital Oliver
c8be9ec0d9 parties: loginButtons dropdown is right-aligned 2012-10-15 09:24:45 -07:00
Geoff Schmidt
807a46791f parties: first cut on styling. still needs
some d3 love.
2012-10-14 23:38:46 -07:00
Geoff Schmidt
631bc8352b parties: styling WIP 2012-10-14 23:36:32 -07:00
Matt DeBergalis
7a3dbea1d0 remove vestiges of a separate rsvp collection 2012-10-14 21:09:12 -07:00
Matt DeBergalis
dd01154247 use d3 smart package 2012-10-14 20:00:04 -07:00
Matt DeBergalis
d4b9da1d29 update map style 2012-10-14 19:12:51 -07:00
Geoff Schmidt
e17412a18d invitation dialog 2012-10-14 18:35:36 -07:00
Avital Oliver
17bf9cc5c8 parties: fix access control check on rsvp method 2012-10-14 00:24:27 -07:00
Avital Oliver
ae6838dce4 parties: can create private parties 2012-10-13 23:02:07 -07:00
Avital Oliver
f112ffac6b parties: ux doesn't allow posting a party when logged out 2012-10-13 13:24:23 -07:00
Avital Oliver
40c1104bbb parties: add a placeholder background map image 2012-10-13 13:19:43 -07:00
Avital Oliver
e606a9b20a parties: unselected parties are transparent 2012-10-13 00:03:17 -07:00
Avital Oliver
3293ee0410 parties: limit string lengths 2012-10-12 23:21:59 -07:00
Avital Oliver
8064812225 parties: complete write restictions 2012-10-12 23:18:09 -07:00
Avital Oliver
d8e473701d Restrict visibility of private parties.
While doing so, refactored rsvps to now be an array on party rather than a separate collection.
2012-10-12 22:42:07 -07:00
Avital Oliver
c41a334a5f Only publish parties that the user should see 2012-10-12 18:01:07 -07:00
Avital Oliver
2d9b06c07e Meteor._autorun -> Meteor.autorun 2012-10-12 18:01:06 -07:00
David Greenspan
13622e5047 update to use loginButtons helper 2012-10-12 18:01:06 -07:00
Geoff Schmidt
f41e1b358c All Tomorrow's Parties example -- first checkin
WIP
2012-10-12 18:01:06 -07:00
David Greenspan
d442f8750a Todos: make more room for dropdown 2012-10-12 16:48:04 -07:00
David Greenspan
6d06e5486c accounts-ui-viewer: move dropdown to the right 2012-10-12 16:28:39 -07:00
Nick Martin
bc6e80073a Merge branch 'support-autorun' into devel 2012-10-12 15:21:48 -07:00
David Greenspan
32edb4043f loginButtons halign -> align 2012-10-12 09:38:20 -07:00
David Glasser
bae1a59af6 Publicize Meteor._autorun as Meteor.autorun (with docs and tests). 2012-10-12 00:50:35 -07:00
Dan Dascalescu
f0f35650fa The period isn't part of the collection name
http://en.wikipedia.org/wiki/Logical_quotes
2012-10-12 00:29:03 -07:00
David Greenspan
92ac9f1309 accounts-ui-viewer: allow testing of background color 2012-10-11 21:55:09 -07:00