This check was explicitly in the old selector compiler but the rewrite dropped
it. The `new RegExp("foo", "garbage")` throws on most browsers but not on old
WebKit.
syncImport was added in 1.3.2 and we just upgraded from 1.3.1 to 1.3.3.
Otherwise error handling gets pretty fussy (eg, sometimes less throws from
within a callback).
- Improve regex match against array.
- Improve matching of explicit deep nulls.
- Instead of doing a high-level "catch TypeError", do more explicit
type checks.
- Clone the selector (since we're going to save a reference in our
closure).
Now users can put _id into their documents prior to insert, and insert() will
respect that. This is useful if you want to write any Meteor Method that inserts
documents -- it allows you to have the same ID on both client and server, so you
don't get flicker when the server document wins
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.
The previous version only killed the wrapper bash script, not the child. We now
work around the broken (socketpair) stdin presented to Node's child processes by
using a bash heredoc rather than "cat |"; this means we can use exec, which only
gives us one process to clean up.
While we're at it, simplify code by switching from child_process.spawn to
child_process.execFile, which does the work of capturing stdout and setting a
timeout for us automatically.
Taken from the Bootstrap homepage: "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
Nitpick. There's no such thing as a "UX framework", and Bootstrap also provides more than just UI widgets, so I figured it would probably be best to just use the same description Twitter chose.
The cursor de-dup code introduced in Meteor 0.5.1 had a bug where a server-side
`observe` with no `added` callback would throw an error if the `observe` was
de-duped.