From 32496511bbd6a6819d260993af8e4df3532347f6 Mon Sep 17 00:00:00 2001 From: David Glasser Date: Wed, 7 May 2014 17:46:08 -0700 Subject: [PATCH 1/9] Fix 0.8.1 regression in ROOT_URL with path Fixes #2109. --- packages/webapp/boilerplate.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webapp/boilerplate.html b/packages/webapp/boilerplate.html index a4fb29f8fb..e71c29c5ba 100644 --- a/packages/webapp/boilerplate.html +++ b/packages/webapp/boilerplate.html @@ -1,13 +1,13 @@ -{{#each css}} {{/each}} +{{#each css}} {{/each}} {{#if inlineScriptsAllowed}} {{else}} {{/if}} -{{#each js}} +{{#each js}} {{/each}} {{#if inlineScriptsAllowed}} From 0fa591bc5f3702bfc72387ba4e31a6b2d0a76217 Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Mon, 5 May 2014 20:49:38 -0700 Subject: [PATCH 2/9] Add credential secret argument to `retrieveCredential` functions. Fixes #2118. --- packages/facebook/facebook_server.js | 4 ++-- packages/github/github_server.js | 4 ++-- packages/meetup/meetup_server.js | 4 ++-- packages/meteor-developer/meteor_developer_server.js | 5 +++-- packages/twitter/twitter_server.js | 4 ++-- packages/weibo/weibo_server.js | 4 ++-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/packages/facebook/facebook_server.js b/packages/facebook/facebook_server.js index 6f6b0c48a8..aca7637e1d 100644 --- a/packages/facebook/facebook_server.js +++ b/packages/facebook/facebook_server.js @@ -95,6 +95,6 @@ var getIdentity = function (accessToken) { } }; -Facebook.retrieveCredential = function(credentialToken) { - return OAuth.retrieveCredential(credentialToken); +Facebook.retrieveCredential = function(credentialToken, credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; diff --git a/packages/github/github_server.js b/packages/github/github_server.js index c46fd787a5..654ed86d11 100644 --- a/packages/github/github_server.js +++ b/packages/github/github_server.js @@ -67,6 +67,6 @@ var getIdentity = function (accessToken) { }; -Github.retrieveCredential = function(credentialToken) { - return OAuth.retrieveCredential(credentialToken); +Github.retrieveCredential = function(credentialToken, credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; diff --git a/packages/meetup/meetup_server.js b/packages/meetup/meetup_server.js index 38b4154df0..85c7708312 100644 --- a/packages/meetup/meetup_server.js +++ b/packages/meetup/meetup_server.js @@ -55,6 +55,6 @@ var getIdentity = function (accessToken) { }; -Meetup.retrieveCredential = function(credentialToken) { - return OAuth.retrieveCredential(credentialToken); +Meetup.retrieveCredential = function(credentialToken, credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; diff --git a/packages/meteor-developer/meteor_developer_server.js b/packages/meteor-developer/meteor_developer_server.js index 47c17363c4..33d539baa1 100644 --- a/packages/meteor-developer/meteor_developer_server.js +++ b/packages/meteor-developer/meteor_developer_server.js @@ -93,6 +93,7 @@ var getIdentity = function (accessToken) { } }; -MeteorDeveloperAccounts.retrieveCredential = function (credentialToken) { - return OAuth.retrieveCredential(credentialToken); +MeteorDeveloperAccounts.retrieveCredential = function (credentialToken, + credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; diff --git a/packages/twitter/twitter_server.js b/packages/twitter/twitter_server.js index f7b6c0dcb0..ea0bc1cd14 100644 --- a/packages/twitter/twitter_server.js +++ b/packages/twitter/twitter_server.js @@ -36,6 +36,6 @@ OAuth.registerService('twitter', 1, urls, function(oauthBinding) { }); -Twitter.retrieveCredential = function(credentialToken) { - return OAuth.retrieveCredential(credentialToken); +Twitter.retrieveCredential = function(credentialToken, credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; diff --git a/packages/weibo/weibo_server.js b/packages/weibo/weibo_server.js index 8da78bb22b..8af7b0194f 100644 --- a/packages/weibo/weibo_server.js +++ b/packages/weibo/weibo_server.js @@ -72,6 +72,6 @@ var getIdentity = function (accessToken, userId) { } }; -Weibo.retrieveCredential = function(credentialToken) { - return OAuth.retrieveCredential(credentialToken); +Weibo.retrieveCredential = function(credentialToken, credentialSecret) { + return OAuth.retrieveCredential(credentialToken, credentialSecret); }; From 247ab62ebb50b66114488f56203c5a4bc4442c97 Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Thu, 8 May 2014 11:16:20 -0700 Subject: [PATCH 3/9] Unregister sessions from server when their heartbeats time out. Conflicts: History.md --- History.md | 6 ++++++ packages/livedata/livedata_server.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index cc91780c5d..e9c11971ff 100644 --- a/History.md +++ b/History.md @@ -1,6 +1,12 @@ ## v.NEXT +## v.0.8.1.2 + +* Fix memory leak (introduced in 0.8.1) by making sure to unregister + sessions at the server when they are closed due to heartbeat timeout. + + ## v0.8.1.1 * Fix 0.8.1 regression preventing clients from specifying `_id` on insert. #2097 diff --git a/packages/livedata/livedata_server.js b/packages/livedata/livedata_server.js index fff6114866..b6295d13a8 100644 --- a/packages/livedata/livedata_server.js +++ b/packages/livedata/livedata_server.js @@ -298,7 +298,7 @@ var Session = function (server, version, socket, options) { heartbeatInterval: options.heartbeatInterval, heartbeatTimeout: options.heartbeatTimeout, onTimeout: function () { - self.destroy(); + self.close(); }, sendPing: function () { self.send({msg: 'ping'}); From cdbc135e7c28f1af120bb43d5efeb2d41d119af6 Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Fri, 9 May 2014 14:23:36 -0700 Subject: [PATCH 4/9] Update History.md --- History.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/History.md b/History.md index e9c11971ff..b6c5be5c77 100644 --- a/History.md +++ b/History.md @@ -6,6 +6,13 @@ * Fix memory leak (introduced in 0.8.1) by making sure to unregister sessions at the server when they are closed due to heartbeat timeout. +* Add `credentialSecret` argument to `Google.retrieveCredential`, + `Facebook.retrieveCredential`, etc., which is needed to use them as of + 0.8.1. #2118 + +* Fix 0.8.1 regression broke apps using a `ROOT_URL` with a path + prefix. #2109 + ## v0.8.1.1 From ac3086cdb54d72b2fdc2aa7a770dbac9a800aa23 Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Fri, 9 May 2014 14:54:38 -0700 Subject: [PATCH 5/9] Make a History sentence more sentence-y --- History.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/History.md b/History.md index b6c5be5c77..34f5cac52f 100644 --- a/History.md +++ b/History.md @@ -10,7 +10,7 @@ `Facebook.retrieveCredential`, etc., which is needed to use them as of 0.8.1. #2118 -* Fix 0.8.1 regression broke apps using a `ROOT_URL` with a path +* Fix 0.8.1 regression that broke apps using a `ROOT_URL` with a path prefix. #2109 From ec170b7c3c950d9e1bfea5776edaa64db174ebc1 Mon Sep 17 00:00:00 2001 From: Avital Oliver Date: Fri, 9 May 2014 18:34:39 -0700 Subject: [PATCH 6/9] docs: turn off appcache on safari Turns out AppCache on Safari 7 is totally broken (see http://stackoverflow.com/questions/22888945/safari-7-application-cache-does-not-work). This, combined with our "reload if you can't load CSS or JS" strategy for multi-server deploy causes infinite reloads in some cases. Hopefully this will resolve the sporadic complaints we get from some users about infinite reloads. --- docs/lib/appcache-config.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 docs/lib/appcache-config.js diff --git a/docs/lib/appcache-config.js b/docs/lib/appcache-config.js new file mode 100644 index 0000000000..e6b270b261 --- /dev/null +++ b/docs/lib/appcache-config.js @@ -0,0 +1,11 @@ +// Turn off appcache on Safari. Apparently Safari 7's AppCache is +// totally busted. In particular, this fact combined with our +// "RELOAD_SAFETYBELT" strategy causes infinite reloads in Safari at +// times. +// +// See http://stackoverflow.com/questions/22888945/safari-7-application-cache-does-not-work +if (Meteor.isServer) { + Meteor.AppCache.config({ + safari: false + }); +} From 5dc48badef7e2e01e68c332b77399ef9c9550eed Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Mon, 12 May 2014 16:54:12 -0700 Subject: [PATCH 7/9] Update banner and notices --- scripts/admin/banner.txt | 8 +++----- scripts/admin/notices.json | 3 +++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/admin/banner.txt b/scripts/admin/banner.txt index a6f30c1a3c..bdc1e40483 100644 --- a/scripts/admin/banner.txt +++ b/scripts/admin/banner.txt @@ -1,7 +1,5 @@ -=> Meteor 0.8.1.1: OAuth security fix, bug fixes and new features for - Blaze, improved latency compensation, and more. +=> Meteor 0.8.1.2: Fix regressions from 0.8.1, including a memory + leak in DDP heartbeats. This release is being downloaded in the background. Update your - project to Meteor 0.8.1.1 by running 'meteor update'. If you haven't - yet upgraded to 0.8.x, we've backported the security fix to a new - 0.7.2.2 release as well. + project to Meteor 0.8.1.2 by running 'meteor update'. diff --git a/scripts/admin/notices.json b/scripts/admin/notices.json index c7b3c2396b..30a92c07a7 100644 --- a/scripts/admin/notices.json +++ b/scripts/admin/notices.json @@ -132,6 +132,9 @@ { "release": "0.8.1.1" }, + { + "release": "0.8.1.2" + }, { "release": "NEXT" } From 1b1a4d7c259313ebf01030d9a9bac8885a27cb42 Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Mon, 12 May 2014 17:09:41 -0700 Subject: [PATCH 8/9] Update docs to 0.8.1.2 --- docs/.meteor/release | 2 +- docs/lib/release-override.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/.meteor/release b/docs/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/docs/.meteor/release +++ b/docs/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2 diff --git a/docs/lib/release-override.js b/docs/lib/release-override.js index a621fda6f5..f95987c65d 100644 --- a/docs/lib/release-override.js +++ b/docs/lib/release-override.js @@ -1,5 +1,5 @@ // While galaxy apps are on their own special meteor releases, override // Meteor.release here. if (Meteor.isClient) { - Meteor.release = Meteor.release ? "0.8.1.1" : undefined; + Meteor.release = Meteor.release ? "0.8.1.2" : undefined; } From 1b1892fadd683ac558924f100a7bdd791fdd242d Mon Sep 17 00:00:00 2001 From: Emily Stark Date: Mon, 12 May 2014 17:14:40 -0700 Subject: [PATCH 9/9] Update examples to 0.8.1.2 --- examples/clock/.meteor/release | 2 +- examples/leaderboard/.meteor/release | 2 +- examples/parties/.meteor/release | 2 +- examples/todos/.meteor/release | 2 +- examples/wordplay/.meteor/release | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/clock/.meteor/release b/examples/clock/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/examples/clock/.meteor/release +++ b/examples/clock/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2 diff --git a/examples/leaderboard/.meteor/release b/examples/leaderboard/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/examples/leaderboard/.meteor/release +++ b/examples/leaderboard/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2 diff --git a/examples/parties/.meteor/release b/examples/parties/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/examples/parties/.meteor/release +++ b/examples/parties/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2 diff --git a/examples/todos/.meteor/release b/examples/todos/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/examples/todos/.meteor/release +++ b/examples/todos/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2 diff --git a/examples/wordplay/.meteor/release b/examples/wordplay/.meteor/release index 5ee5d6a2ff..6e8ef266dd 100644 --- a/examples/wordplay/.meteor/release +++ b/examples/wordplay/.meteor/release @@ -1 +1 @@ -0.8.1.1 +0.8.1.2