Commit Graph

62 Commits

Author SHA1 Message Date
ekatek
99124d881a increment package versions 2015-01-20 10:25:22 -08:00
ekatek
fbfd5c4664 increment version numbers 2015-01-15 10:50:09 -08:00
David Glasser
a1f8394750 Fix double execution of Session.close
In Session.close, `self.socket.close` could trigger this event handler:

    socket.on('close', function () {
      if (socket._meteorSession) {
        Fiber(function () {
          socket._meteorSession.close();
        }).run();
      }
    });

which could trigger a reentrant call to Session.close.  The self.inQueue
guard was not sufficient to stop multiple execution, because it was too
low.

Symptoms included:

- The "sessions" server fact would be decremented twice and become
  inaccurate (and even negative!)
- Connection.onClose callbacks could be called twice

Fixes #3331.
2015-01-14 18:37:24 -08:00
David Glasser
60ba1f403b Revert "Use per-message websocket compression"
This reverts commit 67bea9c102.

See https://github.com/faye/permessage-deflate-node/issues/1

This can be consistently replicated by running test-packages ddp (note
that the tests pass but then the server crashes). "livedata server -
connection in publish function" specifically is enough
2015-01-08 14:26:28 -08:00
David Glasser
67bea9c102 Use per-message websocket compression
By default, we attempt to use this for every websocket message on both
client and server.

On the server, we provide the SERVER_WEBSOCKET_COMPRESSION environment
variable to control compression. If $SERVER_WEBSOCKET_COMPRESSION is
set, then it must be valid JSON. If it represents a falsey value, then
we do not use permessage-deflate at all; otherwise, the JSON value is
used as an argument to deflate's configure method; see
https://github.com/faye/permessage-deflate-node/blob/master/README.md

We do not provide a way to use it only on some messages. The underlying
spec allows this but permessage-deflate does not; see
https://github.com/faye/permessage-deflate-node/issues/2

We do not provide a mechanism to control compression parameters on the
client side.  The assumption is that the common reason to care about
compression parameters is to control server per-connection memory
usage. (The noContextTakeover configuration parameter should save some
memory and still allow for some compression, for example.)

Addresses #3007 (which will not be fixed until this change is deployed
on the package server as well).
2015-01-08 12:08:13 -08:00
David Glasser
6b204ca73a Bump package versions for 1.0.2 2014-12-19 10:31:59 -08:00
David Glasser
73b809c122 Bump versions for 1.0.2. 2014-12-11 22:44:41 -08:00
David Glasser
6ea8443f30 Update calls to addFiles, onUse, and onTest 2014-12-09 20:18:31 -08:00
Emily Stark
71652f9b9f Merge branch 'master' into devel
Conflicts:
	History.md
	docs/client/data.js
	docs/client/full-api/concepts.html
	docs/client/full-api/tableOfContents.js
	examples/localmarket/.meteor/packages
	packages/ddp/package.js
	packages/meteor-tool/package.js
	packages/mongo/package.js
	scripts/admin/manifest.json
2014-12-09 13:15:29 -08:00
Emily Stark
2cbad1fe9e bump ddp version number 2014-12-09 10:36:51 -08:00
David Glasser
de5f68cf70 bump all versions (due to source-map upgrade) 2014-11-25 09:06:26 -08:00
Sashko Stubailo
bf47ae7a98 Replace _relativeToSiteRootUrl with absoluteUrl 2014-11-13 17:42:43 -08:00
David Glasser
a4b5c02721 Fix test broken by faye-proxy merge 2014-11-12 16:30:35 -08:00
David Glasser
3a61be67ab Use Faye's proxy support. 2014-11-12 16:14:45 -08:00
David Glasser
5eb32ab334 Upgrade to release of Faye with proxy support 2014-11-12 16:14:45 -08:00
David Glasser
f9766a123f Revert "server DDP: Use low-level websocket-driver module"
This reverts commit a98c6d030a.
2014-11-12 15:58:00 -08:00
David Glasser
cea791f7c9 Revert "factor out creation of socket"
This reverts commit ac0014d852.
2014-11-12 15:58:00 -08:00
David Glasser
3a54db35c6 Revert "Support $HTTPS_PROXY in Node DDP client."
(Let a comment in tools remain.)

This reverts commit fb7921ade2.
2014-11-12 15:58:00 -08:00
David Glasser
1956f7b9c7 Revert "Cargo cult more cleanup code from faye"
This reverts commit b0d47e10bc.
2014-11-12 15:57:59 -08:00
Slava Kim
44832cbbdc Add return types and properties types in JSDoc to a lot of methods 2014-11-02 02:45:17 -08:00
Emily Stark
cb54ae18fb Merge branch 'master' into devel
Conflicts:
	History.md
	examples/localmarket/.meteor/release
	examples/localmarket/.meteor/versions
	packages/stylus/README.md
	tools/compiler.js
	tools/package-client.js
	tools/tests/old/app-with-private/.meteor/versions
	tools/tests/old/app-with-public/.meteor/versions
	tools/tests/old/empty-app/.meteor/versions
2014-10-28 10:42:30 -07:00
Sashko Stubailo
ab22135543 Merge remote-tracking branch 'origin/readmes' into devel
Conflicts:
	docs/client/full-api/packages/fastclick.html
	docs/client/full-api/packages/stylus.html
	docs/client/packages/stylus.html
	packages/blaze/README.md
	packages/spacebars-compiler/README.md
	packages/stylus/README.md
2014-10-28 09:50:07 -07:00
Emily Stark
b4c10d8f61 bump package versions 2014-10-28 02:49:54 -07:00
David Glasser
b0d47e10bc Cargo cult more cleanup code from faye
See https://github.com/faye/faye-websocket-node/commit/29d07c50022d1b
2014-10-26 10:50:41 -07:00
Geoff Schmidt
4b1bb9b3f4 Move content into ddp/README.md from DDP whitepaper 2014-10-25 15:18:30 -07:00
Sashko Stubailo
721fa0451b Update more readmes 2014-10-24 10:13:59 -07:00
Sashko Stubailo
dda0c44b52 Add a bunch of READMEs 2014-10-23 15:06:33 -07:00
Emily Stark
6fc46976da bump package version for 1.0-rc.3 2014-10-22 12:58:12 -07:00
David Glasser
a2218ce786 Make more DDP errors specific
These errors should look like connection errors, not clean closes:

- Heartbeat timeout (DDP-level or SockJS-level)
- Connection timeout (SockJS implementation)

The "disconnected with no error while waiting for something we asked
for" error in ServiceConnection is now a DDP.ConnectionError so that it
prints better.

If a command refuses to run due to a catalog sync error, it should print
the error. (Commands that merely warn that they could not sync don't
print that error, unless METEOR_LOG=debug.)
2014-10-21 12:52:24 -07:00
David Glasser
e22702be45 Make more DDP errors specific
These errors should look like connection errors, not clean closes:

- Heartbeat timeout (DDP-level or SockJS-level)
- Connection timeout (SockJS implementation)

The "disconnected with no error while waiting for something we asked
for" error in ServiceConnection is now a DDP.ConnectionError so that it
prints better.

If a command refuses to run due to a catalog sync error, it should print
the error. (Commands that merely warn that they could not sync don't
print that error, unless METEOR_LOG=debug.)
2014-10-20 15:04:12 -07:00
Emily Stark
827b206c02 bump package version numbers for 1.0-rc.0 2014-10-17 16:10:40 -07:00
David Glasser
e01ca1b13a Warn about a hack that troposphere does 2014-10-15 17:39:00 -07:00
Sashko Stubailo
36da5aecb4 Make all version numbers not have rc 2014-10-13 14:09:37 -07:00
Nick Martin
5b17ef1a30 Version bump for rc.6 2014-10-10 20:37:54 -07:00
Nick Martin
80eebe86ba Merge remote-tracking branch 'origin/behind-proxy' into 0.9.4 2014-10-10 20:29:28 -07:00
Slava Kim
8e919e41b5 Whitespace 2014-10-10 19:48:13 -07:00
David Glasser
fb7921ade2 Support $HTTPS_PROXY in Node DDP client.
This should mean that you can access the package server from behind a
corporate firewall.

I tested this by setting up a Linux machine that doesn't have access to
packages.meteor.com:

   $ sudo iptables -A OUTPUT -d 54.225.216.115 -j DROP
   $ sudo iptables -A OUTPUT -d 184.72.252.20 -j DROP
   $ sudo iptables -A OUTPUT -d 23.23.114.56 -j DROP

I confirmed that these commands both fail:

  $ curl https://packages.meteor.com/
  $ ./meteor search asdf   # when it needs to sync first

I bought a proxy server from Proxy Bonanza and confirmed that setting
the environment variable HTTPS_PROXY to
   https://PROXYUSERNAME:PROXYPASSWORD@PROXYIP:PROXYPORT/
made both of the commands above succeed.

Fixes #2515.
2014-10-10 14:49:05 -07:00
David Glasser
ac0014d852 factor out creation of socket 2014-10-10 14:46:51 -07:00
Nick Martin
cafb427aa7 Bump versions for 0.9.4-rc.2 2014-10-09 16:42:30 -07:00
David Glasser
a98c6d030a server DDP: Use low-level websocket-driver module
We want to support running DDP through a corporate proxy, but the
higher-level faye-websocket can't support that and won't be changed to
allow that: https://github.com/faye/faye-websocket-node/pull/30

Fair enough. Let's just switch to the lower-level module, since we don't
care about getting a browser-compatible websocket API.

This is a first step towards fixing #2515.
2014-10-08 18:07:11 -07:00
Sashko Stubailo
ea51b6a26a Update DDP.md 2014-10-08 15:55:07 -07:00
Sashko Stubailo
698fbedb10 Bump all of the version numbers to rc.0 2014-10-07 17:10:48 -07:00
Sashko Stubailo
c98e6d8afb Merge branch '0.9.4-pre.2' into devel
Conflicts:
	History.md
	packages/meteor-tool/package.js
	packages/minimongo/package.js
	packages/package-version-parser/package.js
	scripts/admin/banners.json
	scripts/admin/meteor-release-experimental.json
2014-10-02 16:04:13 -07:00
Sashko Stubailo
1e53f6b598 Bump all version numbers again after cherry-picking unipackage fix 2014-10-01 17:06:57 -07:00
Sashko Stubailo
0129c3f5ac Bump all of the version numbers again, to republish with the unipackage.json fix 2014-10-01 15:43:05 -07:00
Sashko Stubailo
c448c19936 Change DDP error to have String instead of Number 2014-09-30 18:32:32 -07:00
Sashko Stubailo
ce1a405101 Bump every single package version number due to a change in compilation 2014-09-30 11:51:17 -07:00
Sashko Stubailo
eecc272e4a Bump every single package version number due to a change in compilation 2014-09-29 23:44:50 -07:00
ekatek
bab557d49b incrementing package versions for a clean release 2014-09-25 18:34:34 -07:00
ekatek
220cc69e31 package versions incremented 2014-09-19 21:16:14 -07:00