Commit Graph

9096 Commits

Author SHA1 Message Date
David Glasser
d8ff20103d version bumps (pre rc10)
We'll make rc10 tomorrow, but I want to build a release just to play
with built releases again.
release/GLASSER-TEST@maybe-rc10
2014-08-18 20:48:43 -07:00
David Glasser
69cf01a138 don't leak readstream 2014-08-18 20:11:47 -07:00
David Glasser
883fc8516d files.OfflineError prettier than [object Object]
(It should also be caught at every httpHelpers.getUrl call and handled
properly, but this is a start.)
2014-08-18 20:10:52 -07:00
David Glasser
196089ae33 package-client: Help users without usernames
- If they're in deferred-registration state, give them their
  registration link and exit.

- Before running the login prompt, mention that it's a Meteor developer
  account which you can sign up for on www.meteor.com.
2014-08-18 19:13:06 -07:00
David Glasser
9054effdeb Fix ServiceConnection DDP negotiation
Now ServiceConnection's guarantee is that once a DDP connection is
successfully negotiated, it won't restart. This relies on the assumption
that the only use of reconnect({_force: true}) is DDP protocol
negotiation!

Drop some unnecessary (and flawed, for this application) `disconnect`
stream events.

Also, remove some unnecessary `new` calls.

Fixes 'meteor mongo some-galaxy app'.
2014-08-18 17:09:04 -07:00
David Glasser
f3085db2d2 Work around a node-tar bug
See https://github.com/npm/fstream/issues/26
2014-08-18 15:10:15 -07:00
David Glasser
b1b1520f3e Remove lots of pre-packaging scripts/admin stuff
You can still find it on release-0.8.3! :)
2014-08-18 00:40:00 -07:00
David Glasser
9ed6204acc Remove awssum submodule 2014-08-18 00:37:14 -07:00
David Glasser
4ac638d60b oops, didn't mean to add blank line 2014-08-18 00:32:15 -07:00
David Glasser
558fb92651 state that package stat error is only in checkout 2014-08-18 00:31:12 -07:00
David Glasser
4af87eadb1 old test app version bump (this is silly) 2014-08-18 00:28:37 -07:00
David Glasser
73b33ee4da note about why official.refresh uses buildmessage 2014-08-18 00:28:23 -07:00
David Glasser
08a6fa99fd Don't use _.once or instanceof with uniload
_.once has the problem that if you call the once'd function while it is
still in progress (re-entrantly or in another Fiber), it returns
undefined immediately.  That's bad for uniload! uniload already has a
cache, so just use that.  (In the future, perhaps detect an attempt to
uniload something that's currently in the process of being uniloaded in
another fiber and block until the other fiber is ready.)

Using instanceof with things you've uniloaded is a little sketchy: maybe
two different uniload calls will end up with two different copies of
Package.meteor.Meteor.Error, and it seems kind of hairy to ensure you're
not mixing and matching copies.  However, Meteor.Errors are all tagged
with a string errorType, which fills me with much less fear,
uncertainty, and doubt than instanceof.
2014-08-17 23:37:38 -07:00
David Glasser
acd5e0b04c remove deprecated release option from uniload.load 2014-08-17 23:33:06 -07:00
David Glasser
9427c803e1 fix report-stats test again 2014-08-17 23:12:03 -07:00
David Glasser
3b3e8d7b93 Simplify ServiceConnection.
- ServiceConnection should never try to reconnect. It's already the case
  that we don't hold open ServiceConnections over long periods while
  idle; it makes the class much simpler if it corresponds to a single
  TCP connection. This also means that as soon as we have one connection
  failure (eg you're offline) we can fail instantly instead of retrying
  pointlessly.

- Drop the explicit timeout code in ServiceConnection. There's already
  timeout handling in stream_client, and now that we don't retry, it
  actually takes effect.

- Be more rigorous about uses of Future in ServiceConnection. Ensure
  that each Future is only used once (ie, avoid "Future resolved more
  than once" errors).  Hopefully fixes #2390.

- ServiceConnection constructor now blocks until it's connected (and
  throws if there's a connection failure).  Maybe this introduces a tiny
  bit more latency to the connection, but it makes it much easier to
  handle errors properly.

- In packageClient.handlePackageServerConnectionError, show the error
  message corresponding to the connection failure.

- In Node, the (newish) error passed to the Stream callback is now a
  "DDP.ConnectionError" object. We can detect this in the tool (and we
  don't even need to do some complex uniload/instanceof dance, since
  error classes made with Meteor.makeErrorType label themselves with a
  string errorType).  We also no longer have a special
  ServiceConnection.ConnectionTimeoutError.
2014-08-17 21:34:57 -07:00
David Glasser
87b3748ec5 node ddp client: send errors to disconnect event
this includes the timeout one
2014-08-17 20:30:34 -07:00
David Glasser
b4039173a6 Status shouldn't be "waiting" unless we will retry 2014-08-17 20:19:57 -07:00
David Glasser
2115eed79a Revert "include a backtrace for "got open from inactive""
This reverts commit 4378d9f5d0.

The previous commit switches to a version of Faye which fixes the bug
that causes this error to be thrown.
2014-08-17 20:16:54 -07:00
David Glasser
6aae5086e5 Switch to a fork of faye fixing close-before-start
This should stop all the "Got open from inactive client" errors.
2014-08-17 20:15:32 -07:00
David Greenspan
e897539adb Work-around for Safari JIT bug 2014-08-16 20:39:24 -07:00
David Glasser
8a262adc97 Close stats server connections after using them
Notably, we were leaking a (DDP/https/TCP) connection for every restart
in 'meteor run'.
2014-08-16 16:07:28 -07:00
David Greenspan
b5715a9621 Stop trying to fetch an MP4 file in tests
We test event capturing using the <video> “play” event, because it is a non-bubbling event native to modern browsers.  We previously had the src URL be a video on the Internet, but even if the video could not be accessed, the test still seemed to work.

So now set the “src” to “”.  Seems to work in IE 9, Firefox, Safari, Chrome.
2014-08-16 11:21:45 -07:00
David Greenspan
7981f17af1 Make “same input.value” test work in IE 8 2014-08-16 11:04:43 -07:00
David Greenspan
0c9d5337aa Improve test driver progress bar CSS
Keep the label from moving with the progress bar in Firefox
2014-08-16 11:04:43 -07:00
David Glasser
149fbe942c get old cli tests passing for me 2014-08-16 10:23:35 -07:00
David Glasser
04ba193ee4 oops, re-initialize resolver after refresh
Fixes "TypeError: Cannot call method 'resolve' of null", caught by
cli-test.  Gets cli tests closer to passing.
2014-08-16 10:23:18 -07:00
David Glasser
eb0626a0a7 fix report-stats test from checkout
You'd think that when making a commit with a name like 'fix
reports-stats test from release', this "glasser" fellow would consider
checking to see if he broke the other use case, but that's apparently
too much to ask.
2014-08-16 10:04:00 -07:00
David Glasser
1e384092c3 fix --slow report-stats test (broken by 66f21a6) 2014-08-16 10:03:32 -07:00
David Glasser
56f96cc6df First try locking all previousSolution versions.
This is how some of us thought previousSolution already worked.
2014-08-15 22:42:09 -07:00
David Glasser
f39a820d96 Don't parse '@>=' ranges by default
They are still used internally by the constraint solver (to implement
update --breaking) but cannot be externally specified.

Also, stop supporting "@none", whatever that was.
2014-08-15 22:12:04 -07:00
David Glasser
e06c091652 Fix constraint solver tests 2014-08-15 21:46:13 -07:00
David Glasser
45de1ee51b Pass ignoreProjectDeps through one other layer 2014-08-15 21:41:11 -07:00
David Glasser
66ea15a9f3 Fix c.upsert with no callback from the client
Fixes #2413.
2014-08-15 17:53:07 -07:00
David Greenspan
7e44526ab9 Test for Avi’s fix to input elements (c2cf671)
Needs IE 8 version of test
2014-08-15 17:12:46 -07:00
Matthew Arbesfeld
67aee54c6a Remove the refreshable fields from autoupdate docs because they are no longer used 2014-08-15 16:30:56 -07:00
Matthew Arbesfeld
da08cc421e Fix autoupdate to ship autoupdateVersion to the client 2014-08-15 15:59:14 -07:00
David Glasser
bc6239dfc1 vbump for rc9
Hopefully we won't have to do "bump for all the npm modules" again after
this
release/METEOR-CORE@0.9.0-rc9
2014-08-15 12:34:47 -07:00
David Glasser
5dc428a915 Only rebuild npm modules on major/minor Node bumps
This means that we won't have to bump the version number of every
npm-using package every time we do a patch update of Node. (Though we
will have to do it right now, once.)  (That's because the .node_version
file is part of the package's contents... which is semantically
correct.)
2014-08-15 12:11:42 -07:00
David Glasser
c708cd6813 Just fix the npm bug, on 0.10.29
Even though 0.10.29 has a security hole, 0.10.30 is worse: it often
takes 100% CPU if you pass a float to setTimeout!
2014-08-15 12:11:42 -07:00
ekatek
c3f7688663 oops, process exact constraints correctly in list 2014-08-15 15:01:25 -04:00
Avital Oliver
c2cf67179f Blaze: Don't update input elements if their value doesn't need updating
This resolves #2403. Specifically, if you implement some form of
two-way databinding, and you modify an input field in some way
other than adding characters to the end, the insertion point
jumps to the end.

Still need to write a test for this.
2014-08-15 11:50:31 -07:00
ekatek
328ecb4d98 a lot of minor fixes that manifested as weird CS behavior 2014-08-15 14:27:22 -04:00
David Glasser
98b2885e85 Revert "Upgrade Node to 0.10.30. Fix npm bug again."
This reverts commit 56ff54b085.
2014-08-15 07:21:24 -07:00
David Glasser
aa8e237194 remove redundant _recomputeEffectiveLocalPackages
(from initialize)

Also, simplify unbuilt logic and ensure that some more data structures
are cleared on refresh.
2014-08-14 16:38:25 -07:00
David Glasser
5c5c5308de missed one 2014-08-14 16:37:47 -07:00
David Glasser
44bcae916d release metadata is in official only
The point of the other catalogs is to allow local packages to override
server packages. This has nothing to do with releases. So rather than
keep release metadata in memory multiple times and force developers to
wonder "what's the different between catalog.complete.getReleaseTrack
and catalog.official.getReleaseTrack?", now it really just only exists
on catalog.official.
2014-08-14 16:24:16 -07:00
David Glasser
924195b224 app versions bump, grr 2014-08-14 16:17:00 -07:00
David Glasser
29357964dc Comment about nodeModulesDirectories structure 2014-08-14 16:15:23 -07:00
David Glasser
401cee2ef6 Lazily load constraint-solver instead of its mori
This should be a performance win (no need to load constraint-solver
unless you actually need to use it!), and it's what I wanted to do
initially instead of lazily loading mori, but it wasn't feasible with
the old super-recursive catalog.

This fixes an issue where running 'curmeteor rebuild' twice (!) died the
second time with a "Can't load npm module 'mori'" error. This is because
uniload (when run from a checkout) sets up Npm.require to read directly
from PACKAGE/.build.PACKAGE/npm/node_modules, which might get deleted
later in the process!  There are some complex and maybe slow ways to
resolve this general issue (copy the node_modules somewhere else?) but
for now, the easiest way to avoid the issue is just to load Npm modules
immediately inside packages which need to be uniloaded.
2014-08-14 16:12:05 -07:00