Commit Graph

4979 Commits

Author SHA1 Message Date
David Glasser
df73dca222 Make a comment about something important into an XXX comment. 2013-12-02 19:17:29 -08:00
David Glasser
10f3e9c90f Add a comment about a non-redundant stopped check. 2013-12-02 19:17:29 -08:00
David Glasser
16ac0d7ba2 Fix bad error check. 2013-12-02 19:17:29 -08:00
David Glasser
badf20c35a LICENSE for quotemeta, add comment about duplication 2013-12-02 19:17:29 -08:00
David Glasser
7d1ab34788 Refactor MongoConnection options: oplogUrl, not isOplog
Move hacky use of env var to a slightly more appropriate place
2013-12-02 19:17:29 -08:00
David Glasser
441279eb13 rename: 'options' should always be *our* options 2013-12-02 19:17:29 -08:00
David Glasser
a8201cc17e Block on first call to observeChanges if there is an oplog handle that is still
initializing.
2013-12-02 19:17:29 -08:00
Slava Kim
11bf813f90 If foo changes, than foo.bar observation result may change. 2013-12-02 19:17:28 -08:00
Slava Kim
480c353c65 Some simplest tests for isSelectorAffectedByModifier
and some tests fail :(
2013-12-02 19:17:28 -08:00
Slava Kim
c3c79a94ea Tests for getPaths for selector and fix for a bug these tests caught 2013-12-02 19:17:28 -08:00
Slava Kim
dbbda54c68 First implementation of _isSelectorAffectedByModifier. 2013-12-02 19:17:28 -08:00
David Glasser
7f85f38110 Change repl set name from dummy to meteor.
This name ends up in the "meteor mongo" prompt, and a prompt of "dummy:PRIMARY>"
is way less welcoming than "meteor:PRIMARY>".
2013-12-02 19:17:28 -08:00
David Glasser
9cbb5946c4 don't poll the database if we can just execute the modifier directly 2013-12-02 19:17:28 -08:00
David Glasser
40befb8023 minor improvements 2013-12-02 19:17:28 -08:00
David Glasser
cd0bdecaec keep prototype on timestamps when they are cloned (all tests pass) 2013-12-02 19:17:27 -08:00
David Glasser
ab34a277fc make test do what it says 2013-12-02 19:17:27 -08:00
David Glasser
ff000110a0 only one mongo-livedata test fails 2013-12-02 19:17:27 -08:00
David Glasser
fbfda21dfb whoa, we're halfway there 2013-12-02 19:17:27 -08:00
David Glasser
c5c19114ab refactor oplog stuff into its own file 2013-12-02 19:17:27 -08:00
David Glasser
0017eacbe9 use docfetcher 2013-12-02 19:17:27 -08:00
David Glasser
33528ddbc3 test doc fetcher 2013-12-02 19:17:27 -08:00
David Glasser
85ada6a874 doc fetcher! 2013-12-02 19:17:26 -08:00
David Glasser
6905807375 rename writes collection to sequencers. will be used for observe catchup too 2013-12-02 19:17:26 -08:00
David Glasser
4f23be3168 oops, stop listenersHandle 2013-12-02 19:17:26 -08:00
David Glasser
c9c465bcfb all tests now pass (mostly because I made sure the failing tests
avoid oplog, but they are testing basically implementation details)

there's a "insert found for already-existing ID" somewhere though

trasnform: null, interesting...
2013-12-02 19:17:26 -08:00
David Glasser
5ffb4a9a15 handle _id properly in replace. many tests pass. 2013-12-02 19:17:26 -08:00
David Glasser
5a4ae936aa Until I do the right thing, it's slightly more right to do the query before
listening.
2013-12-02 19:17:26 -08:00
David Glasser
a93f742b3a ok, rewrite is done.
now "replace" updates work too. also give up on idea of knowing
what fields changed (more correct, does require an in memory diff).

many tests pass.
2013-12-02 19:17:26 -08:00
David Glasser
0344e946fd more progress 2013-12-02 19:17:26 -08:00
David Glasser
ffc70c1611 xxx now 2013-12-02 19:17:25 -08:00
David Glasser
d3d285426d somewhat implement write fence (latency compensation) 2013-12-02 19:17:25 -08:00
David Glasser
c4c9837194 fix $unset 2013-12-02 19:17:25 -08:00
David Glasser
abcc7d9bb9 very basic update support 2013-12-02 19:17:25 -08:00
David Glasser
1c8c7d171c very basic insert support 2013-12-02 19:17:25 -08:00
David Glasser
cae886b2f0 remove processing works. 2013-12-02 19:17:25 -08:00
David Glasser
ba63548d4d checkpoint monday morning 2013-12-02 19:17:25 -08:00
David Glasser
123c06ac3f oplog checkpoint from friday 2013-12-02 19:17:24 -08:00
David Glasser
6637656261 Don't reset the replset unless the port changes.
(Resetting the replset is slow!)
2013-12-02 19:17:24 -08:00
David Glasser
a832b11211 Factor tailing code out of observe-changes code. 2013-12-02 19:17:24 -08:00
David Glasser
878dfe9a1f In "meteor run", run mongo in repl-set mode, so that oplog is available.
Note: this is pretty slow. Before merging this branch, should cache the fact
that replset has been initiated on port N so that on the next run, if the port
hasn't changed, we don't need to re-initiate.
2013-12-02 19:17:24 -08:00
David Glasser
4d2097912d Add cursorSupportedByOplogTailing. 2013-12-02 19:17:24 -08:00
David Glasser
4ea191e452 Drop uglify dependency from handlebars module
This reduces the npm download done when updating the handlebars package
by 2M.  (Uglify is only used by bin/handlebars, not the handlebars API.)
2013-12-02 19:12:09 -08:00
David Glasser
e11228a3f8 Clean up package dirs containing only ".build"
These directories are often left around when switching from another
branch; git does not delete the gitignored .build directory (but it will
show up annoyingly in 'git status').
2013-12-02 17:50:30 -08:00
David Glasser
cd873c0e47 Drop handlebars from the dev bundle. 2013-12-02 17:15:37 -08:00
David Glasser
8ab66ff255 Stop using handlebars in the bundler.
The dev bundle contains a copy of the handlebars NPM module solely for
creating app.html.  This is separate from the NPM module used by the
handlebars NPM package.

On the shark branch, we no longer use the handlebars NPM module for
Meteor template (it is being replaced by Spacebars), so in preparation
for that, we'll remove this barely-used build-time dependency on
handlebars.

A subsequent commit will remove it from the dev bundle.

Once the Spacebars API has fully settled (eg, it has been merged to
devel), we should get rid of this ad hoc templating and replace it with
Spacebars, either in webapp_server (driven entirely by program.json) or
by using unipackage.load in bundler.
2013-12-02 17:15:37 -08:00
David Glasser
c066b90e1c Add comment referencing #1648 2013-12-02 16:59:50 -08:00
David Glasser
0a4663bafd Upgrade websocket-driver from 0.3.0 to 0.3.1
This fixes a DoS we found:
https://github.com/faye/faye-websocket-node/issues/26
2013-12-02 16:49:09 -08:00
Naomi Seyfer
b1cc446fc8 rename event with a meteor prefix 2013-12-02 16:25:40 -08:00
Naomi Seyfer
bc3b42a941 glasser comments 2013-12-02 15:15:06 -08:00
Naomi Seyfer
d1767da26d Short socket timeout while no pending request. Long timeout with pending req 2013-12-02 14:21:29 -08:00