Commit Graph

254 Commits

Author SHA1 Message Date
Avital Oliver
98c5efd8f1 Prerequisites for python-ddp-client 2013-05-06 12:13:02 -07:00
Avital Oliver
3ff6df2e9e Merge branch 'master' into devel
Conflicts:
	History.md
	packages/accounts-github/github_server.js
2013-04-24 14:01:22 -07:00
Avital Oliver
97b4ed263d 0.6.2.1 2013-04-24 11:10:16 -07:00
Nick Martin
c12f3851d1 Add audit-argument-checks to parties. This way when we do QA, we will exercise the package. 2013-04-18 19:30:44 -07:00
David Glasser
f67db983c3 New check library. 2013-04-18 19:17:53 -07:00
Nick Martin
f8c561140f Bump version numbers on apps. 2013-04-16 12:51:51 -07:00
Nick Martin
ac1e62ac30 Update apps to 0.6.2-rc3 2013-04-15 23:35:44 -07:00
Avital Oliver
a163c78dd0 0.6.1 2013-04-08 10:42:07 -07:00
David Glasser
1c8a667242 Update docs and examples to 0.6.0. 2013-04-04 12:08:38 -07:00
David Glasser
974583d9a6 Tested examples and docs with 0.6.0-rc7. 2013-04-03 17:00:32 -07:00
David Glasser
43f6ea8a80 update docs and examples to 0.6.0-rc1 2013-04-01 12:17:25 -07:00
David Greenspan
fe58789d8f fix error logging in login-demo 2013-03-26 11:13:55 -07:00
David Greenspan
f7dbbca72f log errors from login (eg not configured) 2013-03-25 22:07:57 -07:00
David Greenspan
d90f422b43 more readme 2013-03-25 21:25:05 -07:00
David Greenspan
2c8f7d5d87 demo of login and private data 2013-03-25 21:19:33 -07:00
David Glasser
a0e9fc3979 Add release files (0.6.0) to docs and all examples.
As part of the release process we'll update docs and all active
examples (other/unfinished examples can be updated as necessary). eg, first to
0.6.1-rc1, etc, and then to 0.6.1 when that is tagged from rc.
2013-03-19 15:13:54 -07:00
David Glasser
3c8f0b5949 Wrap client code in closure too.
Update parties and test helpers to not use file-level vars.
2013-03-19 15:11:14 -07:00
David Glasser
faa1818973 drop 'var' from wordplay functions used outside file 2013-03-19 15:11:14 -07:00
Avital Oliver
78ca755d3d Npm.require unified requireNpm and __meteor_bootstrap__.require 2013-03-19 15:11:04 -07:00
David Glasser
1a68026aa3 collection.update() and .remove() may only use IDs as selectors when sending RPCs.
ie, they can use arbitrary selectors on the server and in client stubs, but not
in other client contexts. This is to prevent clients from executing arbitrary
selectors against the DB.

Because of this, the update and remove allow/deny callbacks can only ever get
one doc, so switch them from getting an array to just getting the doc (like
insert).
2013-03-13 04:44:47 -07:00
David Greenspan
a18a92e65f Deps.run => Deps.autorun 2013-03-11 12:17:39 -07:00
David Greenspan
b9c3e1fa30 port examples 2013-03-08 12:50:46 -08:00
Naomi Seyfer
dba23bd29c Session.setDefault, and updating todos to use it. #698 2013-02-20 17:56:39 -08:00
David Glasser
9b486b3c9b Meteor.random -> Random.fraction
add Random.choice
2013-02-13 00:08:50 -08:00
David Glasser
d2ae5f7e1c Replace almost all uses of Meteor.uuid with Random.id. 2013-02-12 23:55:19 -08:00
David Glasser
0021307708 Updates to Python DDP client.
- Implement version handshake.

- Use a condition variable instead of sleep(0).

- Don't crash on 'added' with no fields.

- Include 'reason' when connection is closed.

- If our code throws an exception, make sure to print it before killing the main
  thread.

- Don't print a KeyboardInterrupt traceback on Ctrl-C or
  kill-due-to-connection-close. (ie, don't print two tracebacks if the thread
  throws.)
2013-02-12 11:40:43 -08:00
David Glasser
40bfd2e360 Add a reactive ready() method to subscription handles. Fixes #273.
Inspired by a pull request from tmeasday (though we've changed the underlying
code enough on ddp-pre1 that I had to rewrite it myself).

Use it in todos. No docs yet, but the Meteor.subscribe docs are already
scheduled for some attention.
2013-02-08 18:41:41 -08:00
Naomi Seyfer
d3d267d95b Deleted dead code from wordplay 2013-02-05 16:15:51 -08:00
David Glasser
3f2aad7c0e Rename subscription "complete" to "ready" everywhere (including in the
protocol and the publisher API).

Also update examples/other/quiescence for ddp-pre1.
2013-01-30 13:34:58 -08:00
Naomi Seyfer
677a43fe19 Updated python DDP client to ddp-pre1 2013-01-17 15:23:24 -05:00
David Glasser
2aa92b2ed3 Update to use APIs from new versions of fibers and uglify-js.
Combine files before minimizing.

minimongo - subkey sort fails when minized, so clearly there is some sort of
uglify bug.
2013-01-16 11:34:30 -05:00
David Glasser
27d3073660 Make Meteor.autosubscribe a deprecated alias for Meteor.autorun.
Instead of a general client-side sub de-duping mechanism (which mostly existed
for the sake of autosubscribe, and causes issues with server-driven
unsubscribes), make Meteor.subscribe explicitly aware of reactivity.

Expose an "invalidated" flag on Meteor.deps.Context.

Guarantee that invalidation callbacks from different contexts will not be
interleaved at flush time. This has the implication that if you do

   context1.onInvalidate(function () {
     context2.invalidate();
   });

and this is the only way to invalidate context2, then context2's invalidation
callbacks will not be called until after *ALL* of context1's callbacks are
called. This allows us to be sure that the "unsubscribe, unless autorun tried to
re-create an identical sub" logic runs after the autorun function is rerun.
2013-01-15 17:07:03 -05:00
Nick Martin
0c64008499 Optimised images
Originally from https://github.com/meteor/meteor/pull/569

Reworked to:
- apply to soma.png, not soma.jpeg (file was previously misnamed).
- don't touch bootstrap's glyph image. It would cause conflicts later, and is not neighborly.
2013-01-08 20:52:30 -08:00
David Glasser
64253bc470 accounts-ui-viewer: use triple-stash for the inclusiong of checked="checked" to
avoid escaping the quotes.
2012-12-26 23:30:26 -08:00
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