Permalink
Switch branches/tags
Commits on May 22, 2017
  1. tools: fix Galaxy discovery

    1a03655 in 1.4.4.2 expanded on the HTTP error checking added by 30aec9f in
    1.4.2. Neither of these changes were aware that discoverGalaxy invokes
    httpHelpers.request with json:true, resulting in a `body` that is a parsed JSON
    object rather than a string or Buffer.  Before 1.4.4.2, this had no consequences
    because body.length is undefined and `undefined < 90` is false, but the change
    to Buffer.byteLength actually made the condition true.
    
    It's safe to not check length in the JSON case because a truncated JSON object
    is not legal JSON (unless the truncation just drops trailing whitespace, in
    white case that's OK).
    
    I check for both string and Buffer because some calls to this function pass in
    an encoding option.  Buffer.byteLength works with both types.
    glasser committed with benjamn May 20, 2017
Commits on May 21, 2017
  1. tools: fix Galaxy discovery

    1a03655 in 1.4.4.2 expanded on the HTTP error checking added by 30aec9f in
    1.4.2. Neither of these changes were aware that discoverGalaxy invokes
    httpHelpers.request with json:true, resulting in a `body` that is a parsed JSON
    object rather than a string or Buffer.  Before 1.4.4.2, this had no consequences
    because body.length is undefined and `undefined < 90` is false, but the change
    to Buffer.byteLength actually made the condition true.
    
    It's safe to not check length in the JSON case because a truncated JSON object
    is not legal JSON (unless the truncation just drops trailing whitespace, in
    white case that's OK).
    
    I check for both string and Buffer because some calls to this function pass in
    an encoding option.  Buffer.byteLength works with both types.
    glasser committed with benjamn May 20, 2017
Commits on Feb 28, 2017
  1. Remove `meteor npm install` instruction (#8433)

    As of #8108, `meteor create` runs `meteor npm install`, so it doesn't need to tell you do to do so.
    glasser committed with abernix Feb 28, 2017
Commits on Jan 20, 2017
  1. Merge pull request #8268 from meteor/glasser/force-ssl-readme

    force-ssl: update README
    glasser committed on GitHub Jan 20, 2017
Commits on Jan 19, 2017
  1. force-ssl: update README

    - Drop reference to *.meteor.com apps (no longer exist)
    
    - Clarify that this is a separate feature from Galaxy's "Force HTTPS" setting,
      and that MDG recommends the latter for apps on Galaxy.
    glasser committed Jan 19, 2017
Commits on Jan 5, 2017
  1. Merge pull request #8221 from meteor/glasser/deploy-genericError

    Make deploy errors easier to identify
    glasser committed on GitHub Jan 5, 2017
  2. Make deploy errors easier to identify

    glasser committed on GitHub Jan 5, 2017
Commits on Dec 19, 2016
  1. Fix missing var in mongo package.

    glasser committed Dec 19, 2016
Commits on Dec 15, 2016
  1. In Node 6, send a 400 on HTTP parse failure

    Previously we used the Node default behavior of just closing the
    socket. This made it difficult for load balancers to understand if the
    backend is buggy or the client request was bad (if Node is validating
    something more strictly than the load balancer).
    
    This only takes effect on Node 6; in older versions the socket is
    already destroyed before the event is invoked. See
    nodejs/node#4557/ for details.
    glasser committed Dec 15, 2016
Commits on Nov 23, 2016
  1. Don't allow websockets to indefinitely wait for DDP handshake

    In general, we try to avoid allowing TCP connections to be open with no
    traffic on it indefinitely.  We place timeouts on incoming HTTP
    connections in webapp_server.js (which we adjust to longer values when
    there's an HTTP request pending), and once a DDP connection is fully
    established we require heartbeats.
    
    However, if the incoming connection is a websocket, the faye-websocket
    package used by SockJS calls setTimeout(0) on the underlying socket when
    it initializes the WebSocket object:
    
    https://github.com/faye/faye-websocket-node/blob/3148348a3/lib/faye/websocket/api.js#L111
    
    So if a client does the WebSocket handshake with the server but never
    sends a valid DDP connect message, the socket can be held open
    indefinitely. (To add insult to injury, a 1MB Buffer object is retained
    on such sockets due to something in the faye-websocket code, at least on
    older versions of Node like 0.10.)
    
    This commit restores a timeout on the socket for this in-between period.
    
    (We actually saw this issue in production on the Meteor Developer
    Accounts server --- hundreds of such broken connections would accumulate
    over time.  This may be triggered by a particular setup we use involving
    proxies for the accounts server, or it may be a more generally
    applicable issue.)
    glasser committed Nov 23, 2016
Commits on May 31, 2016
  1. History update for DEPLOY_HOSTAME improvements

    glasser committed May 31, 2016
Commits on May 20, 2016
  1. galaxy discovery tweaks

    - Use deploy-specific CNAME by default
    - Don't print deploy URL twice for authedRpc.
    glasser committed with benjamn May 19, 2016
Commits on May 19, 2016
  1. galaxy discovery tweaks

    - Use deploy-specific CNAME by default
    - Don't print deploy URL twice for authedRpc.
    glasser committed May 19, 2016
Commits on May 16, 2016
  1. discover deploy server and change default

    Update the default deploy server from deploy.meteor.com (which no longer
    exists) to galaxy.meteor.com.  However, if your app's DNS is already
    pointed at Galaxy, automatically discover the deploy server's URL.
    
    See meteor/amsterdam#305
    glasser committed May 14, 2016
Commits on May 14, 2016
  1. remove unnecessary log

    glasser committed May 13, 2016
Commits on May 13, 2016
  1. destroy universe

    "universe" was an old attempt to allow you to run various MDG
    servers (Meteor Developer Accounts, the package server, an old version
    of the Galaxy deploy server, etc) on localhost and configure the tool to
    talk to it not via a bunch of environment variables but via a file
    called "universe" at the root of your checkout. Nobody uses this (and
    most of the URLs have environment variables for them anyway).  Simplify
    the code by removing this entirely.
    
    Also remove some more dead code, and a test that claims it only runs if
    you have universe set up.
    glasser committed May 13, 2016
  2. delete dead code

    This code makes it look like there are more codepaths that care about
    $DEPLOY_HOSTNAME than there actually are.
    glasser committed May 13, 2016
Commits on Mar 12, 2016
  1. Merge pull request #6468 from meteor/glasser/no-mother

    docs: Remove references to free hosting service
    glasser committed Mar 12, 2016
Commits on Mar 11, 2016
  1. docs: Remove references to free hosting service

    glasser committed Mar 11, 2016
Commits on Feb 26, 2016
  1. Drop tests that use the test-package-stats server

    These tests have long been flaky, and we are changing some of the
    infrastructure that the test server relies on.
    glasser committed Feb 26, 2016
Commits on Feb 24, 2016
  1. Drop tests that use the test-packages server

    These tests have long been flaky, and we are changing some of the
    infrastructure that the test server relies on.
    glasser committed Feb 24, 2016
Commits on Oct 7, 2015
  1. Make package.json deterministic again

    Now that we include it in published packages (as
    node_modules/.package.json) we don't want it to change on every npm
    update, or else we'll have to spuriously update package versions.
    
    (The next release with this fix will spuriously update package versions,
    though!)
    glasser committed Oct 7, 2015
Commits on Sep 25, 2015
  1. Fix to METEOR_BINARY_DEP_WORKAROUND change

    Avoids crash on mostCompatibleArch
    glasser committed Sep 25, 2015
Commits on Sep 22, 2015
  1. Merge pull request #5226 from meteor/write-package-json

    One way of cross-compiling local binary packages
    glasser committed Sep 22, 2015
  2. One way of cross-compiling local binary packages

    If $METEOR_BINARY_DEP_WORKAROUND is set, then when bundling for a
    non-host platform (build/bundle/deploy commands only), if a package has
    no server unibuild for the target architecture, use the host
    architecture and replace the npm modules with a package.json and
    npm-shrinkwrap.json.  Also write out a top-level setup.sh script (inside
    programs/server) which runs npm install in all such directories.
    
    To support this, we make sure to save the package.json and
    npm-shrinkwrap.json files in various intermediate directories in case we
    need them later.  (We put them inside node_modules because that is what
    gets copied from source tree to isopack.)
    glasser committed Sep 19, 2015
  3. Merge branch 'pr/5243' into devel

    Fixes #5243.
    glasser committed Sep 22, 2015
  4. Cleanup

    glasser committed Sep 22, 2015
  5. Include exports in codeless legacy builds

    Fixes #5228.
    glasser committed with stubailo Sep 22, 2015
  6. Include exports in codeless legacy builds

    Fixes #5228.
    glasser committed Sep 22, 2015
Commits on Sep 19, 2015
  1. Put npm dependency info into isopacks

    The code to read this data will come later, but getting this in 1.2
    means that packages published with 1.2 will contain the dependency info.
    glasser committed Sep 19, 2015
Commits on Sep 9, 2015
  1. Merge pull request #5104 from OleksandrChekhovskyi/devel

    Fix method calls during reconnect
    glasser committed Sep 9, 2015
  2. Merge pull request #4340 from meonkeys/remove-ensureIndex-safe-option

    don't add {safe:true} to MongoDB indexes
    glasser committed Sep 9, 2015
Commits on Sep 2, 2015
  1. Fix client refresh

    Since 87b11bd we were treating client-only refreshes of the initial
    server build as if they were initial builds, and not resetting the
    project context.  This meant among other things that local packages
    weren't being rebuilt, which led to #5074 (but also would have led to a
    whole bunch of other problems).
    
    Fixes #5074.
    glasser committed Sep 2, 2015
Commits on Sep 1, 2015
  1. Undocumented $METEOR_FORCE_PORTABLE option

    If set, it assumes that all local packages are portable and can be
    deployed to any platform.
    
    If you are using this, you need to consistently use it every time you
    run Meteor, not just when deploying.  The first time you use it in a
    project that has been used without it, you should run `meteor rebuild`.
    glasser committed Sep 1, 2015