With the precedence bug fixed, more directories are placed into
usedAsFile... enough to break nodeModulesMode=symlink. Fortunately bundler-test
did catch this.
The somewhat hacky fix is to look carefully for reserved empty directories and
replace them with symlinks. This may not be 100% correct; see the XXX comment.
This specifically would happen if you ran an app with at least one sub with a
ready message (ie not autopublish; eg parties) with auth, logged in, and then
killed the app and replaced it with a different app. Hot code push would stall
and the new app would not load until you hit reload.
Why? Due to the login method call, hot code push had to wait for the login
method to be done. A method being done, in this case, includes having all its
data visible. This means waiting for the at-reconnect global quiescence to
finish. But this would never happen, since that requires waiting for all subs
that had been ready to become ready again, and instead the subs were getting
nosub because this is an entirely different app.
Transform was being applied to every single Mongo query, including those issued
from _pollMongo. This led to the transformed doc being sent over DDP, and then
the client applied the transformation again. Instead, pass the useTransform flag
to prevent _pollMongo from transforming, so that the whole doc gets sent over
DDP and then the client does the transform, which is (I think?) what is supposed
to happen. I also think but am not sure that transform is supposed to be applied
for SynchronousCursors created for tailable cursors, so I had those
SynchronousCursors have useTransform=true.
(On Galaxy, start.sh deletes node_modules anyway.)
Normally you wouldn't use bundle to create things meant to be deployed (you'd
use deploy!) but Galaxy development itself consists of building things with
"bundle" to be assembled into a Galaxy.
They really only work well (ie, restart properly after reconnect) if they have
an increasing BSON Timestamp() field named ts. Sorry, that's just how Mongo
works.
Use them for "meteor logs" in Galaxy mode.