Commit Graph

100 Commits

Author SHA1 Message Date
Nick Martin
c1ece21051 Merge branch 'devel' into appcache 2013-03-06 17:06:05 -08:00
David Greenspan
12a123c466 docs link fixes from check_links() 2013-03-04 14:08:44 -08:00
Andrew Wilcox
9c55aeeb97 appcache package
This code depends on PR 680.  In addition, the docs include a link to
the proposed AppCache wiki page.

Adds the appcache smart package and associated documentation.

QA notes are in packages/appcache/QA.md (Is this a good place to put
them?)
2013-02-21 18:41:53 -08:00
Naomi Seyfer
dba23bd29c Session.setDefault, and updating todos to use it. #698 2013-02-20 17:56:39 -08:00
Naomi Seyfer
a2c9561ce2 Incrementing versions 2013-02-18 14:23:11 -08:00
Naomi Seyfer
657c101b2b Merging master to devel for 0.5.6 2013-02-15 11:16:52 -08:00
David Glasser
1535fe3437 Bump version number and add release notes. 2013-02-14 16:49:06 -08:00
David Glasser
e1b07e4848 Merge branch 'devel' into ddp-pre1 2013-02-13 17:05:07 -08:00
David Glasser
9a7ac87778 Document random package. 2013-02-13 00:42:05 -08:00
David Glasser
eb14cfceeb Rename Meteor.id() -> Random.id() 2013-02-12 23:44:04 -08:00
Nick Martin
1385137f01 Bump version number in prep for release 2013-02-07 22:49:56 -08:00
David Glasser
db917f4741 DDP server: Implement sub.error() and reimplement sub.stop().
Note that sub.stop() is now handled by the client (it removes the record of the
subscription) but there is no way for an app to observe this. (I expect we'll
use sub.stop() in implementing "fetch" in the Mongo connector.)
2013-02-07 15:43:28 -08:00
Geoff Schmidt
557dd363f4 markdown is mia 2013-02-07 14:52:18 -08:00
Naomi Seyfer
c6f72b612f Draft docs for new observe 2013-02-06 18:37:33 -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
deb06b627e Workshopping docs for EJSON and ObjectID w/ nim 2013-01-17 15:56:13 -05:00
Naomi Seyfer
20145a7f42 Docs for EJSON package 2013-01-17 15:56:13 -05:00
Naomi Seyfer
c99c816331 Fixing up docs, making ObjectID consistent with Node api 2013-01-17 15:51:56 -05:00
Naomi Seyfer
daa559366c Modified docs to reflect ddp-pre1 and new publish handler api 2013-01-17 15:24:28 -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
David Glasser
864371f9ab Bump version number to 0.5.4 and write History.md. 2013-01-08 10:40:52 -08:00
David Glasser
cf4190e9c0 Increment version to 0.5.3. 2012-12-23 12:36:05 -08:00
Naomi Seyfer
06a3e23730 The rest of the docs for Meteor.settings 2012-12-12 12:53:39 -08:00
David Glasser
68db80f500 Update version number to 0.5.2. 2012-11-27 08:43:29 -08:00
Nick Martin
83386b23d9 Bump version number to 0.5.1. 2012-11-15 23:14:19 -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
a5cc93ee55 Remove the 'sass' package, as warned in 0.5.0.
Meteor's sass package wraps the "sass" NPM module, which implements a version of
the Sass language much older than the .sass described at sass-lang.com (and
doesn't implement the current recommended .scss language at all). It also has
poor error handling, so it mostly just ends up confusing users.

The module is unmaintained, and its author now uses stylus/nib (which Meteor
supports: see the stylus package).

If many users want Sass support, we could add this back in wrapping the
"node-sass" package instead (which supports a more recent version of the Sass
language), but for now, just remove it. Meteor still supports Stylus and Less
out of the box.

Fixes #143.
2012-11-05 15:24:08 -08:00
Avital Oliver
953e509d8d Document {{currentUser}} and {{currentUserLoaded}} 2012-11-01 13:30:05 -07:00
Geoff Schmidt
893e37f4d7 #387: Document Meteor.uuid. Thanks @dandv! 2012-10-20 00:56:42 -07:00
David Glasser
d00f6e8bde Get rid of Concepts accounts section. Add to Data and Security instead. 2012-10-17 11:36:33 -07:00
Matt DeBergalis
b936654bcd move accounts above packages 2012-10-16 00:27:08 -07:00
Matt DeBergalis
55ed0c3ba4 data section
Conflicts:
	docs/client/concepts.html
2012-10-15 23:47:57 -07:00
Matt DeBergalis
ad1656b2cf D3.js package 2012-10-15 16:48:23 -07:00
Nick Martin
8460c028b9 Break password-only stuff into a separate section. Reorder a bit. 2012-10-15 16:33:29 -07:00
David Glasser
2e7697e9a0 Fix back button in docs. 2012-10-15 16:15:58 -07:00
Avital Oliver
e3a1f7f428 Refer to OAuth less in docs. Small improvements to accounts-ui docs 2012-10-15 16:12:09 -07:00
David Glasser
b53e2dcbb9 Don't add target=_blank to internal links. 2012-10-15 15:46:49 -07:00
David Glasser
b9a3f34377 Put Accounts API section before Template API. 2012-10-15 15:03:25 -07:00
Nick Martin
b6d7d7817c Re-order TOC to match document. 2012-10-15 13:52:44 -07:00
David Glasser
2a1754f69c Docs: Add "field specifiers" to TOC. 2012-10-15 12:19:35 -07:00
David Glasser
72731ddda0 Use jQuery to force all non-#internal links to use target=_blank.
Rewrite <a href> links to use Markdown syntax now that they don't need the <a
href> to get target=_blank.
2012-10-15 11:16:53 -07:00
Nick Martin
6dfb976104 Bump version number for 0.5.0. 2012-10-12 21:17:18 -07:00
Nick Martin
c7b5f51420 Re-order autorun and flush. 2012-10-12 14:55:32 -07:00
David Glasser
bae1a59af6 Publicize Meteor._autorun as Meteor.autorun (with docs and tests). 2012-10-12 00:50:35 -07:00
Nick Martin
3b0732fc1d Add accounts-ui package. 2012-10-11 15:01:39 -07:00
Nick Martin
ec54838d95 Add accounts concepts section. 2012-10-11 15:01:39 -07:00
Nick Martin
78b262741f Another pass through the docs. Almost all XXXs removed. 2012-10-11 15:01:38 -07:00
Nick Martin
99e1ed82c7 Catch up to new APIs. 2012-10-11 15:01:31 -07:00
Nick Martin
e2023399aa First pass: a place for everything and everything in its place.
We really need to make this easier.
2012-10-11 15:01:15 -07:00
David Glasser
5eb81e920d Increment version to 0.4.2. 2012-10-01 18:25:18 -07:00