From cf72234acc6d146247304e9858dd69eaa665106d Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Fri, 18 Mar 2016 12:52:37 +0100 Subject: [PATCH 001/169] Add setting for codeintel include dirs --- configs/client-default.js | 3 +++ package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/configs/client-default.js b/configs/client-default.js index 7d3fe52d..0cc65505 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -910,6 +910,9 @@ module.exports = function(options) { plugins.push({ packagePath: "plugins/c9.ide.language.codeintel/codeintel", preinstalled: hosted && !options.ssh, + paths: { + php: "/home/ubuntu/workspace:/home/ubuntu/workspace/vendor", + }, }); } diff --git a/package.json b/package.json index 1d9d34b5..35782717 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "c9.ide.language.javascript.tern": "#b55d0069bb", "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#4b329741b1", - "c9.ide.language.codeintel": "#56cf2d0032", + "c9.ide.language.codeintel": "#5b2da4538c", "c9.ide.collab": "#11a0d3c5ce", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", From 0adedc61c9d32acc8b684e2346edc9d2246b49d5 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Fri, 18 Mar 2016 12:56:12 +0100 Subject: [PATCH 002/169] Increase initial timeout codeintel still appears to be scanning the workspace during completion rather than during the scanning phase --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35782717..567b28f3 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "c9.ide.language.javascript.tern": "#b55d0069bb", "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#4b329741b1", - "c9.ide.language.codeintel": "#5b2da4538c", + "c9.ide.language.codeintel": "#84122055ba", "c9.ide.collab": "#11a0d3c5ce", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", From 071e3307dabdb226dbcecd2e2855ecea64f9f756 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Wed, 6 Apr 2016 10:55:20 +0000 Subject: [PATCH 003/169] Add settings to enable/disable completion --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 567b28f3..06a45c97 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "c9.ide.language.javascript.tern": "#b55d0069bb", "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#4b329741b1", - "c9.ide.language.codeintel": "#84122055ba", + "c9.ide.language.codeintel": "#c6741dc41e", "c9.ide.collab": "#11a0d3c5ce", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", @@ -91,7 +91,7 @@ "c9.ide.imgeditor": "#612e75ef4f", "c9.ide.immediate": "#19758abe08", "c9.ide.installer": "#0fde9f0067", - "c9.ide.language.python": "#330b80e3b2", + "c9.ide.language.python": "#a001e72a4b", "c9.ide.language.go": "#6ce1c7a7ef", "c9.ide.mount": "#4c39359b87", "c9.ide.navigate": "#1fbb7cd53b", From 7aa6db901c0e59084569b4248c6f093e3cbcea5f Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Wed, 6 Apr 2016 11:40:53 +0000 Subject: [PATCH 004/169] Add extra labels --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 06a45c97..013a3419 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "c9" ], "c9plugins": { - "c9.ide.language": "#8d02f86043", + "c9.ide.language": "#b392f03a6c", "c9.ide.language.css": "#be07d72209", "c9.ide.language.generic": "#92210f5a48", "c9.ide.language.html": "#22fdc74869", @@ -63,10 +63,10 @@ "c9.ide.language.javascript": "#d1a479805c", "c9.ide.language.javascript.immediate": "#c8b1e5767a", "c9.ide.language.javascript.eslint": "#3c57ed1720", - "c9.ide.language.javascript.tern": "#b55d0069bb", + "c9.ide.language.javascript.tern": "#64ab01f271", "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#4b329741b1", - "c9.ide.language.codeintel": "#c6741dc41e", + "c9.ide.language.codeintel": "#72157892e4", "c9.ide.collab": "#11a0d3c5ce", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", @@ -91,7 +91,7 @@ "c9.ide.imgeditor": "#612e75ef4f", "c9.ide.immediate": "#19758abe08", "c9.ide.installer": "#0fde9f0067", - "c9.ide.language.python": "#a001e72a4b", + "c9.ide.language.python": "#701bd2630a", "c9.ide.language.go": "#6ce1c7a7ef", "c9.ide.mount": "#4c39359b87", "c9.ide.navigate": "#1fbb7cd53b", From be12aad1bd121022017995cd097006508863729c Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Thu, 7 Apr 2016 12:38:02 +0200 Subject: [PATCH 005/169] Fix tests --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d6efb58..8f94b865 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "c9" ], "c9plugins": { - "c9.ide.language": "#e058ff301f", + "c9.ide.language": "#742877e271", "c9.ide.language.css": "#be07d72209", "c9.ide.language.generic": "#3949510863", "c9.ide.language.html": "#22fdc74869", From 9ca28e82f699c57a5f9c5ce1a3f2e5c820423298 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Fri, 8 Apr 2016 09:10:05 +0000 Subject: [PATCH 006/169] Don't immediately show completer when there's an exact match --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 567b28f3..77146e62 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "c9" ], "c9plugins": { - "c9.ide.language": "#8d02f86043", + "c9.ide.language": "#e146862568", "c9.ide.language.css": "#be07d72209", "c9.ide.language.generic": "#92210f5a48", "c9.ide.language.html": "#22fdc74869", From af2f458e9b9fc4355cbb7a5a4ec23f0a31528782 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Fri, 8 Apr 2016 09:20:27 +0000 Subject: [PATCH 007/169] Allow relative paths for PHP imports --- configs/client-default.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/client-default.js b/configs/client-default.js index 0cc65505..75baa7a2 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -911,7 +911,7 @@ module.exports = function(options) { packagePath: "plugins/c9.ide.language.codeintel/codeintel", preinstalled: hosted && !options.ssh, paths: { - php: "/home/ubuntu/workspace:/home/ubuntu/workspace/vendor", + php: ".:./vendor", }, }); } diff --git a/package.json b/package.json index 77146e62..d9bbdc1f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "c9.ide.language.javascript.tern": "#b55d0069bb", "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#4b329741b1", - "c9.ide.language.codeintel": "#84122055ba", + "c9.ide.language.codeintel": "#93d04e9eef", "c9.ide.collab": "#11a0d3c5ce", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", From e9cccf4c2ff48580679d0969ed035712e6845736 Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Fri, 22 Apr 2016 12:18:01 +0000 Subject: [PATCH 008/169] clean up un-used user properties and references to them --- configs/client-default.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/configs/client-default.js b/configs/client-default.js index 50593d86..41e9d9dd 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -692,11 +692,7 @@ module.exports = function(options) { pubkey: options.user.pubkey, date_add: options.user.date_add, active: options.user.active, - alpha: options.user.alpha, - beta: options.user.beta, c9version: options.user.c9version, - no_newsletter: options.user.no_newsletter, - subscription_on_signup: options.user.subscription_on_signup, premium: options.user.premium, region: options.user.region, }, From 2a99b3449ddd573d7e65c81b70dbe7f7d6778d12 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 28 Apr 2016 10:10:39 +0000 Subject: [PATCH 009/169] Fix memory leaks in rate limiter --- node_modules/c9/ratelimit.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index 404c6dfa..01c5cd65 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -6,26 +6,24 @@ var error = require("http-error"); module.exports = ratelimit; function ratelimit(key, duration, max) { - var limit = {}; + var counts = {}; return function(req, res, next) { var handle = req.params[key]; - var lim = limit[handle] || (limit[handle] = []); - var now = Date.now(); - for (var i = 0; i < lim.length; i++) { - if (now - lim[i] > duration) { - lim.splice(i, 1); - i--; - } - else break; - } - if (lim.length > max) { + counts[handle] = counts[handle] || 0; + if (counts[handle] >= max) { var err = new error.TooManyRequests("Rate limit exceeded"); - err.retryIn = duration - (Date.now() - lim[0]); - next(err); - return; + err.retryIn = Math.min(duration, 5000); + return next(err); } - lim.push(Date.now()); + + counts[handle]++; + setTimeout(function () { + counts[handle]--; + if (counts[handle] == 0) { + delete counts[handle]; + } + }, duration); return next(); }; From 07e7c55b44af54f5894a0fcc75e0fcf0c3648f98 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 28 Apr 2016 10:18:19 +0000 Subject: [PATCH 010/169] Add test --- node_modules/c9/ratelimit_test.js | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 node_modules/c9/ratelimit_test.js diff --git a/node_modules/c9/ratelimit_test.js b/node_modules/c9/ratelimit_test.js new file mode 100644 index 00000000..aaa2b2bc --- /dev/null +++ b/node_modules/c9/ratelimit_test.js @@ -0,0 +1,33 @@ +"use server"; + +require("c9/inline-mocha")(module); + +var ratelimit = require("./ratelimit"); +var assert = require("assert"); + +describe("ratelimit", function() { + it("Should limit based on key", function (done) { + var limiter = ratelimit("test", 10, 1); + limiter({params: {test: 1}}, null, function (err) { + assert(!err, err); + limiter({params: {test: 1}}, null, function (err) { + assert(err); + assert.equal(err.code, 429); + done(); + }); + }); + }); + + it("Should work again after a delay", function (done) { + var limiter = ratelimit("test", 10, 1); + limiter({params: {test: 1}}, null, function (err) { + assert(!err, err); + setTimeout(function() { + limiter({params: {test: 1}}, null, function (err) { + assert(!err, err); + done(); + }); + }, 15); + }); + }); +}); \ No newline at end of file From c61f465fd6746a1b48ff2a6c29a62c2d95dd11ea Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 10:24:18 +0200 Subject: [PATCH 011/169] c9-auto-bump 3.1.2363 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7cc201e3..ba5fab02 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2362", + "version": "3.1.2363", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ff2e366e5ad6abf7d9d2e631da7ee6eb837c1873 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 10:27:35 +0200 Subject: [PATCH 012/169] c9-auto-bump 3.1.2364 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ba5fab02..d433d863 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2363", + "version": "3.1.2364", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ff2b9dc33722d5913db547de1c92aa5da05a1e50 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 10:36:03 +0200 Subject: [PATCH 013/169] c9-auto-bump 3.1.2365 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d433d863..4e152e71 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2364", + "version": "3.1.2365", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0ff9f417166bd73f34e194891a780e421b91e5d0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 11:14:14 +0200 Subject: [PATCH 014/169] c9-auto-bump 3.1.2366 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4e152e71..150de924 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2365", + "version": "3.1.2366", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e01f6cad1a5fac5d55253bd8b5dc20ce8a64f072 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 14:40:17 +0200 Subject: [PATCH 015/169] c9-auto-bump 3.1.2367 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 150de924..55e86ae4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2366", + "version": "3.1.2367", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 822bff4e108bd684ce2bd2c079b61c9a92ca0768 Mon Sep 17 00:00:00 2001 From: basdewachter Date: Fri, 29 Apr 2016 15:31:05 +0200 Subject: [PATCH 016/169] add support for gitlab scm urls --- node_modules/c9/scm_url_parse.js | 4 ++ node_modules/c9/scm_url_parse_test.js | 99 +++++++++++++++++---------- 2 files changed, 65 insertions(+), 38 deletions(-) diff --git a/node_modules/c9/scm_url_parse.js b/node_modules/c9/scm_url_parse.js index 174e6c66..ced57767 100644 --- a/node_modules/c9/scm_url_parse.js +++ b/node_modules/c9/scm_url_parse.js @@ -13,6 +13,7 @@ define(function(require, exports, module) { "bitbucket.org": "bitbucket", "github.com": "github", "source.developers.google.com": "google", + "gitlab.com": "gitlab", }; var defaultProvider = "unknown"; @@ -75,6 +76,9 @@ define(function(require, exports, module) { case "bitbucket": scm = parsed.pathname.match(/\.git$/) ? "git": "hg"; break; + case "gitlab": + scm = "git"; + break; default: scm = parsed.pathname.match(/\.git$/) ? "git": "hg"; } diff --git a/node_modules/c9/scm_url_parse_test.js b/node_modules/c9/scm_url_parse_test.js index 726b0144..62c16561 100644 --- a/node_modules/c9/scm_url_parse_test.js +++ b/node_modules/c9/scm_url_parse_test.js @@ -16,57 +16,60 @@ describe(__filename, function() { describe("#parse", function() { it("should parse ssh url", function(done) { - var url = parse("git@github.com:fjakobs/lispjs.git"); - assert.equal(url.scm, "git"); - assert.equal(url.protocol, "ssh:"); - assert.equal(url.auth, "git"); - assert.equal(url.hostname, "github.com"); - assert.equal(url.pathname, "fjakobs/lispjs.git"); - done(); + var url = parse("git@github.com:fjakobs/lispjs.git"); + assert.equal(url.scm, "git"); + assert.equal(url.protocol, "ssh:"); + assert.equal(url.provider, "github"); + assert.equal(url.auth, "git"); + assert.equal(url.hostname, "github.com"); + assert.equal(url.pathname, "fjakobs/lispjs.git"); + done(); + }), - }), + it("should parse git url", function(done) { + var url = parse("git://github.com/fjakobs/lispjs.git"); + assert.equal(url.scm, "git"); + assert.equal(url.protocol, "git:"); + assert.equal(url.provider, "github"); + assert.equal(url.hostname, "github.com"); + assert.equal(url.pathname, "fjakobs/lispjs.git"); + done(); + }), - it("should parse git url", function(done) { - var url = parse("git://github.com/fjakobs/lispjs.git"); - assert.equal(url.scm, "git"); - assert.equal(url.protocol, "git:"); - assert.equal(url.hostname, "github.com"); - assert.equal(url.pathname, "fjakobs/lispjs.git"); - done(); + it("should parse https url", function(done) { + var url = parse("https://fjakobs@github.com/fjakobs/lispjs.git"); + assert.equal(url.protocol, "https:"); + assert.equal(url.scm, "git"); + assert.equal(url.auth, "fjakobs"); + assert.equal(url.provider, "github"); + assert.equal(url.hostname, "github.com"); + assert.equal(url.pathname, "fjakobs/lispjs.git"); + done(); - }), + }), - it("should parse https url", function(done) { - var url = parse("https://fjakobs@github.com/fjakobs/lispjs.git"); - assert.equal(url.protocol, "https:"); - assert.equal(url.scm, "git"); - assert.equal(url.auth, "fjakobs"); - assert.equal(url.hostname, "github.com"); - assert.equal(url.pathname, "fjakobs/lispjs.git"); - done(); - - }), - - it("should parse Bitbucket url", function(done) { - var url = parse("git@bitbucket.org/Richard/expressling.git"); - assert.equal(url.protocol, "ssh:"); - assert.equal(url.scm, "git"); - assert.equal(url.auth, "git"); - assert.equal(url.hostname, "bitbucket.org"); - assert.equal(url.pathname, "Richard/expressling.git"); - done(); - }); + it("should parse Bitbucket url", function(done) { + var url = parse("git@bitbucket.org/Richard/expressling.git"); + assert.equal(url.protocol, "ssh:"); + assert.equal(url.scm, "git"); + assert.equal(url.auth, "git"); + assert.equal(url.provider, "bitbucket"); + assert.equal(url.hostname, "bitbucket.org"); + assert.equal(url.pathname, "Richard/expressling.git"); + done(); + }); it("should parse Bitbucket hg ssh url", function(done) { var url = parse("ssh://hg@bitbucket.org/fjakobs/juhu"); assert.equal(url.protocol, "ssh:"); assert.equal(url.scm, "hg"); + assert.equal(url.provider, "bitbucket"); assert.equal(url.hostname, "bitbucket.org"); assert.equal(url.pathname, "fjakobs/juhu"); done(); }); - it("should parse github URL without .git", function(done) { + it("should parse Github url without .git", function(done) { var url = parse("https://github.com/arunoda/meteor-streams"); assert.equal(url.protocol, "https:"); assert.equal(url.scm, "git"); @@ -76,7 +79,27 @@ describe(__filename, function() { done(); }); - it("Should refuse a git url with dangerous shell chars in it", function() { + it("should parse Gitlab url", function(done) { + var url = parse("git@gitlab.com:bdewachter/testfiles.git"); + assert.equal(url.scm, "git"); + assert.equal(url.protocol, "ssh:"); + assert.equal(url.provider, "gitlab"); + assert.equal(url.hostname, "gitlab.com"); + assert.equal(url.pathname, "bdewachter/testfiles.git"); + done(); + }), + + it("should parse Gitlab url without .git", function(done) { + var url = parse("https://gitlab.com/bdewachter/testfiles.git"); + assert.equal(url.protocol, "https:"); + assert.equal(url.scm, "git"); + assert.equal(url.provider, "gitlab"); + assert.equal(url.hostname, "gitlab.com"); + assert.equal(url.pathname, "bdewachter/testfiles.git"); + done(); + }); + + it("should refuse a git url with dangerous shell chars in it", function() { var validUrls = [ "https://github.com/arunoda/meteor-streams", "https://fjakobs@github.com/fjakobs/lispjs.git", From c903b6261b2cf361f3f79e1fc0d8de05add220a8 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 20:12:07 +0200 Subject: [PATCH 017/169] c9-auto-bump 3.1.2368 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 55e86ae4..70451ab9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2367", + "version": "3.1.2368", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f422338777f8a9cbe5f432c02bdea1f0c23714d0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 20:33:19 +0200 Subject: [PATCH 018/169] c9-auto-bump 3.1.2369 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 70451ab9..57654288 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2368", + "version": "3.1.2369", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d797e68dc13061a1e2219a10a55060f6e5f3bc12 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 29 Apr 2016 21:56:23 +0200 Subject: [PATCH 019/169] c9-auto-bump 3.1.2370 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 57654288..41e05601 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2369", + "version": "3.1.2370", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9f437f4dbf97c7e97291d3b9f2e8f1574221716e Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 30 Apr 2016 13:54:28 +0200 Subject: [PATCH 020/169] c9-auto-bump 3.1.2371 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 41e05601..412f146b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2370", + "version": "3.1.2371", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c3c05c2666f6b4d0942dcfa6cfb74ea9c3c87a0e Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 30 Apr 2016 16:13:48 +0200 Subject: [PATCH 021/169] c9-auto-bump 3.1.2372 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 412f146b..43444e39 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2371", + "version": "3.1.2372", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bb7de445ffb951f5d69fc5cd3eab7f7a2a6b9b8a Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 30 Apr 2016 17:09:20 +0200 Subject: [PATCH 022/169] c9-auto-bump 3.1.2373 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 43444e39..4cd3730c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2372", + "version": "3.1.2373", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 08fc5f16f4da96a19da96b160dfaa2ac0cb99d9d Mon Sep 17 00:00:00 2001 From: c9bot Date: Sun, 1 May 2016 00:12:27 +0200 Subject: [PATCH 023/169] c9-auto-bump 3.1.2374 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4cd3730c..44235ed8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2373", + "version": "3.1.2374", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2a0d5d87828164fb60c6760b3c22076d38bb240d Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 10:33:44 +0200 Subject: [PATCH 024/169] c9-auto-bump 3.1.2375 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44235ed8..d07fd863 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2374", + "version": "3.1.2375", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9243c6ef4d5ad8200d43787fcc5c39b32cb46456 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 10:40:49 +0200 Subject: [PATCH 025/169] c9-auto-bump 3.1.2376 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d07fd863..8718573e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2375", + "version": "3.1.2376", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 52155396cd4a1e47d208c83e8efd7738839736f3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 11:01:42 +0200 Subject: [PATCH 026/169] c9-auto-bump 3.1.2377 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8718573e..68500e6e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2376", + "version": "3.1.2377", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 76c0f2ceee03f654f00e980492e300ca9cc28af7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 11:21:42 +0200 Subject: [PATCH 027/169] c9-auto-bump 3.1.2378 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 68500e6e..87acd8da 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2377", + "version": "3.1.2378", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ab2fc90ea49b7b39626f124074f6709c317fa7e0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 11:51:05 +0200 Subject: [PATCH 028/169] c9-auto-bump 3.1.2379 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 87acd8da..a6aa51e0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2378", + "version": "3.1.2379", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6d351946be8d1d4f6fbce836712e97a63cdb8df4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 11:57:14 +0200 Subject: [PATCH 029/169] c9-auto-bump 3.1.2380 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a6aa51e0..d910a535 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2379", + "version": "3.1.2380", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f58c786d1cce335c1db5a32b9ff24860e2ce4562 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 12:01:06 +0200 Subject: [PATCH 030/169] c9-auto-bump 3.1.2381 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d910a535..2f629b27 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2380", + "version": "3.1.2381", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 477706839f71b7b9ff3ac440b6df996dbc0b1b69 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 12:07:20 +0200 Subject: [PATCH 031/169] c9-auto-bump 3.1.2382 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2f629b27..79b0afe9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2381", + "version": "3.1.2382", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4e27ca643c1466a856ba940bb4525bd4ea5ea0a1 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 12:08:59 +0200 Subject: [PATCH 032/169] c9-auto-bump 3.1.2383 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 79b0afe9..62a48a91 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2382", + "version": "3.1.2383", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b7dc319bc038ae06932772b2b507b2b6113db11b Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 12:09:42 +0200 Subject: [PATCH 033/169] c9-auto-bump 3.1.2384 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 62a48a91..36b3bfad 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2383", + "version": "3.1.2384", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9fc4cafb3e810f684d15bf11a2ef64aea01e564d Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 12:58:05 +0200 Subject: [PATCH 034/169] c9-auto-bump 3.1.2385 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36b3bfad..1d0188f7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2384", + "version": "3.1.2385", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 25b50cc614e8aadec1ae8c2387468c379ab8a3a2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 13:11:53 +0200 Subject: [PATCH 035/169] c9-auto-bump 3.1.2386 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1d0188f7..ab1f8619 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2385", + "version": "3.1.2386", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d234819bc3a960b11f89f2b1288f4fbbc3ebebda Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 14:23:03 +0200 Subject: [PATCH 036/169] c9-auto-bump 3.1.2387 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ab1f8619..7381925a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2386", + "version": "3.1.2387", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ef4ec1d63bf9f77e74706054aa3c5047ddf8ad56 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 14:30:31 +0200 Subject: [PATCH 037/169] c9-auto-bump 3.1.2388 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7381925a..5def3a09 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2387", + "version": "3.1.2388", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 13b88360cdcf8c1a1dc302ca272c559765ea9508 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 15:02:15 +0200 Subject: [PATCH 038/169] c9-auto-bump 3.1.2389 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5def3a09..a1e2e490 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2388", + "version": "3.1.2389", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c70689686dc9e77f7775f93bd0743c213f4bfe06 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 15:13:07 +0200 Subject: [PATCH 039/169] c9-auto-bump 3.1.2390 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a1e2e490..cfb08be7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2389", + "version": "3.1.2390", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 75b63db08ca0288a00ced68cabe6a52578ce90f9 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 15:47:58 +0200 Subject: [PATCH 040/169] c9-auto-bump 3.1.2391 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cfb08be7..ac90872b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2390", + "version": "3.1.2391", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 14d38bb3cec83c621eb7a3a1651c88d77b2fd567 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 15:55:32 +0200 Subject: [PATCH 041/169] c9-auto-bump 3.1.2392 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ac90872b..bb5baf91 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2391", + "version": "3.1.2392", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e1ebeafa2c870fc7ac462e362028ddef69ef48d0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 16:01:46 +0200 Subject: [PATCH 042/169] c9-auto-bump 3.1.2393 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bb5baf91..93683ca6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2392", + "version": "3.1.2393", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0e393eb093c281ee6f4412c8ca9c1021cd36eed6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 16:03:48 +0200 Subject: [PATCH 043/169] c9-auto-bump 3.1.2394 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 93683ca6..0ccd93f0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2393", + "version": "3.1.2394", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 837e156abbde57fa70c97d6a3920322a1a603bf4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 18:17:12 +0200 Subject: [PATCH 044/169] c9-auto-bump 3.1.2395 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0ccd93f0..782ddddd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2394", + "version": "3.1.2395", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f8a99d2bca24fd2ddf12bf083fc2d16d5026d99a Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 2 May 2016 06:18:57 +0000 Subject: [PATCH 045/169] make smartface config more self contained --- plugins/c9.ide.server/plugins.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/c9.ide.server/plugins.js b/plugins/c9.ide.server/plugins.js index 64c2fe89..4ba4113c 100644 --- a/plugins/c9.ide.server/plugins.js +++ b/plugins/c9.ide.server/plugins.js @@ -86,9 +86,11 @@ define(function(require, exports, module) { }]); statics.addStatics(externalPlugins.map(function(plugin) { + if (typeof plugin == "string") + plugin = { path: plugin, mount: plugin}; return { - path: __dirname + "/../../node_modules/" + plugin, - mount: "/plugins/" + plugin + path: __dirname + "/../../node_modules/" + plugin.path, + mount: "/plugins/" + plugin.mount }; })); From 681baa0c01d2377f1aca656313e4ca765ad78733 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 2 May 2016 06:30:28 +0000 Subject: [PATCH 046/169] add more ide urls --- build/browser_extensions/chrome/manifest.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build/browser_extensions/chrome/manifest.json b/build/browser_extensions/chrome/manifest.json index 8c44b02e..4fd3f487 100644 --- a/build/browser_extensions/chrome/manifest.json +++ b/build/browser_extensions/chrome/manifest.json @@ -9,7 +9,10 @@ "https://cloud9beta.com/", "https://ide.cloud9beta.com/", "http://localhost:8181/", "http://localhost:5252/", "https://c9.vm:8181/", "https://c9.vm:5252/", - "https://c9.dev/", "https://ide.c9.dev/" + "https://c9.dev/", "https://ide.c9.dev/", + "https://ide.dev.smartface.io", + "https://ide.cs50.io", + "https://ide.mbed.com" ] }, "description": "Cloud9 is an online platform for development that makes developing applications more convenient than ever", From ec1f3194c98c74917cad17a4916b7d99c088831a Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 2 May 2016 22:18:08 +0200 Subject: [PATCH 047/169] c9-auto-bump 3.1.2396 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 782ddddd..198195be 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2395", + "version": "3.1.2396", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8bcf94411bfe2ee45cbae3dbf1661aa52fa0110d Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 18:44:55 +0200 Subject: [PATCH 048/169] c9-auto-bump 3.1.2408 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2efc87c5..a4fe275a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2407", + "version": "3.1.2408", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9c2f865dba711a5693de0d61f02e1520308dc8e3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 23:28:07 +0200 Subject: [PATCH 049/169] c9-auto-bump 3.1.2409 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a4fe275a..46c8ea57 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2408", + "version": "3.1.2409", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cf2f595e0ec54b23e0894ae516263767f8a644d5 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Tue, 3 May 2016 02:47:39 +0000 Subject: [PATCH 050/169] harden gdb by creating a service class to encapsulate individual socket --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 46c8ea57..a58a7eb9 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#9acb7f3178", + "c9.ide.run.debug": "#7e34ed5586", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From 3744757c483cafef565c9f7a568f76bdea0379eb Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 5 May 2016 21:55:15 +0200 Subject: [PATCH 051/169] c9-auto-bump 3.1.2397 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 198195be..a609fb2d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2396", + "version": "3.1.2397", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8e60b522fbe53d274597d710a2be4bb59646758e Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 6 May 2016 00:19:45 +0000 Subject: [PATCH 052/169] set connection flag properly in GDBProxyService --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a58a7eb9..c8e2e465 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#7e34ed5586", + "c9.ide.run.debug": "#df9d6ced37", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From e9a50c37b01b801fcd2ab444a4c3e93914f1dddf Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 11:00:48 +0200 Subject: [PATCH 053/169] c9-auto-bump 3.1.2398 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a609fb2d..b1476689 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2397", + "version": "3.1.2398", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 50beac7394ca65135e467dcacd04d25b39bc3941 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 11:13:50 +0200 Subject: [PATCH 054/169] c9-auto-bump 3.1.2399 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b1476689..53154393 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2398", + "version": "3.1.2399", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 079392cab8227f246c2c753303e45cddf312e5ff Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 12:18:03 +0200 Subject: [PATCH 055/169] c9-auto-bump 3.1.2400 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 53154393..af32d09d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2399", + "version": "3.1.2400", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a06adfc5fd1cfcb970420927a9f1e8a1d5843934 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 12:49:48 +0200 Subject: [PATCH 056/169] c9-auto-bump 3.1.2401 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index af32d09d..02924a50 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2400", + "version": "3.1.2401", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 43674adb34c5fa7b5aa8368679cf1dbb50eccebd Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 12:57:18 +0200 Subject: [PATCH 057/169] c9-auto-bump 3.1.2402 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 02924a50..6b5ca7d4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2401", + "version": "3.1.2402", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2b28c19f15b77271e61f03f994c65560d76fe85b Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 14:49:34 +0200 Subject: [PATCH 058/169] c9-auto-bump 3.1.2403 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b5ca7d4..61fadc7f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2402", + "version": "3.1.2403", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 99583225940ae0dd48753908c50ee38118cec7f7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 15:15:45 +0200 Subject: [PATCH 059/169] c9-auto-bump 3.1.2404 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 61fadc7f..fb559d89 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2403", + "version": "3.1.2404", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 22c1d8007b99646473471ff584ed8b766173a4de Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 15:34:07 +0200 Subject: [PATCH 060/169] c9-auto-bump 3.1.2405 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb559d89..e1ff4660 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2404", + "version": "3.1.2405", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ea1328ba38b69f2c90b15c50772acc0d5ef46506 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 15:38:07 +0200 Subject: [PATCH 061/169] c9-auto-bump 3.1.2406 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e1ff4660..6060397a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2405", + "version": "3.1.2406", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5cb4a3b07e407df4c16c92b0322595c6d5b1d077 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 6 May 2016 15:57:26 +0200 Subject: [PATCH 062/169] c9-auto-bump 3.1.2407 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6060397a..2efc87c5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2406", + "version": "3.1.2407", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cf323957ad6b52505f21eb90aa0a3cc9fc3dbf22 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sat, 7 May 2016 02:35:30 +0000 Subject: [PATCH 063/169] GDB explicitly preserve varcache invariant --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8e2e465..c1c7dd4c 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#df9d6ced37", + "c9.ide.run.debug": "#cf76dde1f2", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From b12afe134d7c43fd76f8e785a0f989c9ba692894 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sat, 7 May 2016 03:17:50 +0000 Subject: [PATCH 064/169] gdb refer to fullpath in bp and properly quote --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c1c7dd4c..dcb4c026 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#cf76dde1f2", + "c9.ide.run.debug": "#ebcac6ecab", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From b65c9186dca5324d0f268ae51ead8a936d635009 Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 7 May 2016 23:24:59 +0200 Subject: [PATCH 065/169] c9-auto-bump 3.1.2410 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dcb4c026..8b30fb8b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2409", + "version": "3.1.2410", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1f3a5110cca7c0f94c516cde602b2ae4e171ba9c Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 8 May 2016 20:05:59 +0400 Subject: [PATCH 066/169] fix vfs crashing when file is named constructor --- node_modules/vfs-http-adapter/restful.js | 2 +- node_modules/vfs-local/localfs.js | 10 +- plugins/c9.core/util.js | 116 ++++++------------ plugins/c9.fs/mock/__lookupSetter__ | 1 + plugins/c9.fs/mock/__proto__ | 1 + plugins/c9.fs/mock/constructor | 1 + plugins/c9.fs/mock/toString/toString | 0 .../c9.fs/mock/toString/toString.__proto__ | 0 .../c9.fs/mock/toString/toString.constructor | 0 plugins/c9.fs/mock/valueOf | 1 + 10 files changed, 51 insertions(+), 81 deletions(-) create mode 100644 plugins/c9.fs/mock/__lookupSetter__ create mode 100644 plugins/c9.fs/mock/__proto__ create mode 100644 plugins/c9.fs/mock/constructor create mode 100644 plugins/c9.fs/mock/toString/toString create mode 100644 plugins/c9.fs/mock/toString/toString.__proto__ create mode 100644 plugins/c9.fs/mock/toString/toString.constructor create mode 100644 plugins/c9.fs/mock/valueOf diff --git a/node_modules/vfs-http-adapter/restful.js b/node_modules/vfs-http-adapter/restful.js index 2d6c53eb..ecf7ae88 100644 --- a/node_modules/vfs-http-adapter/restful.js +++ b/node_modules/vfs-http-adapter/restful.js @@ -39,7 +39,7 @@ module.exports = function setup(mount, vfs, mountOptions) { if (path) { entry.href = path + entry.name; var mime = entry.linkStat ? entry.linkStat.mime : entry.mime; - if (mime && mime.match(/(directory|folder)$/)) { + if (/(directory|folder)$/.test(mime)) { entry.href += "/"; } } diff --git a/node_modules/vfs-local/localfs.js b/node_modules/vfs-local/localfs.js index 68b50bdf..c53c1ad4 100644 --- a/node_modules/vfs-local/localfs.js +++ b/node_modules/vfs-local/localfs.js @@ -9,7 +9,15 @@ var pathBasename = require("path").basename; var dirname = require("path").dirname; var basename = require("path").basename; var Stream = require("stream").Stream; -var getMime = require("simple-mime")("application/octet-stream"); +var getMime = (function(simpleMime) { + // workaround for a bug in simple-mime + return function(path) { + var mime = simpleMime(path); + if (typeof mime != "string") + return "application/octet-stream" + return mime; + } +})(require("simple-mime")()); var vm = require("vm"); var exists = fs.exists || require("path").exists; var crypto = require("crypto"); diff --git a/plugins/c9.core/util.js b/plugins/c9.core/util.js index 34f17ae2..d941dc3a 100644 --- a/plugins/c9.core/util.js +++ b/plugins/c9.core/util.js @@ -30,85 +30,43 @@ define(function(require, exports, module) { return '"' + name + '"'; }; - var SupportedIcons = { - "c9search": "page_white_magnify", - "js": "page_white_code", - "jsx": "page_white_code_red", - "ts": "page_white_code", - "tsx": "page_white_code_red", - "json": "page_white_code", - "css": "css", - "scss": "css", - "sass": "css", - "less": "css", - "xml": "page_white_code_red", - "svg": "page_white_picture", - "php": "page_white_php", - "phtml": "page_white_php", - "html": "html", - "xhtml": "html", - "coffee": "page_white_cup", - "py": "page_white_code", - "go": "page_white_code", - "java": "page_white_cup", - "logic": "logiql", - "ru": "page_white_ruby", - "gemspec": "page_white_ruby", - "rake": "page_white_ruby", - "rb": "page_white_ruby", - "c": "page_white_c", - "cc": "page_white_c", - "cpp": "page_white_cplusplus", - "cxx": "page_white_c", - "h": "page_white_h", - "hh": "page_white_h", - "hpp": "page_white_h", - "bmp": "image", - "djv": "image", - "djvu": "image", - "gif": "image", - "ico": "image", - "jpeg": "image", - "jpg": "image", - "pbm": "image", - "pgm": "image", - "png": "image", - "pnm": "image", - "ppm": "image", - "psd": "image", - "svgz": "image", - "tif": "image", - "tiff": "image", - "xbm": "image", - "xpm": "image", - "pdf": "page_white_acrobat", - "clj": "page_white_code", - "ml": "page_white_code", - "mli": "page_white_code", - "cfm": "page_white_coldfusion", - "sql": "page_white_database", - "db": "page_white_database", - "sh": "page_white_wrench", - "bash": "page_white_wrench", - "xq": "page_white_code", - "xz": "page_white_zip", - "gz": "page_white_zip", - "bz": "page_white_zip", - "zip": "page_white_zip", - "tar": "page_white_zip", - "rar": "page_white_compressed", - "exe": "page_white_swoosh", - "o": "page_white_swoosh", - "lnk": "page_white_swoosh", - "txt": "page_white_text", - "settings": "page_white_gear", - "run": "page_white_gear", - "build": "page_white_gear", - "gitignore": "page_white_gear", - "profile": "page_white_gear", - "bashrc": "page_white_gear", - }; - + var SupportedIcons = (function() { + var extToClass = Object.create(null); + var classToExt = { + "page_white_magnify": "c9search", + "page_white_code": ["clj", "go", "js", "json", "ml", "mli", "py", "ts", "xq"], + "page_white_code_red": ["jsx", "tsx", "xml"], + "css": ["css", "less", "sass", "scss"], + "page_white_picture": "svg", + "page_white_php": ["php", "phtml"], + "html": ["html", "xhtml"], + "page_white_cup": ["coffee", "java"], + "logiql": "logic", + "page_white_ruby": ["gemspec", "rake", "rb", "ru"], + "page_white_c": ["c", "cc", "cxx"], + "page_white_cplusplus": "cpp", + "page_white_h": ["h", "hh", "hpp"], + "image": ["bmp", "djv", "djvu", "gif", "ico", "jpeg", "jpg", "pbm", "pgm", "png", "pnm", "ppm", "psd", "svgz", "tif", "tiff", "xbm", "xpm"], + "page_white_acrobat": "pdf", + "page_white_coldfusion": "cfm", + "page_white_database": ["db", "sql"], + "page_white_wrench": ["bash", "sh"], + "page_white_zip": ["bz", "gz", "tar", "xz", "zip"], + "page_white_compressed": "rar", + "page_white_swoosh": ["exe", "lnk", "o", "bin", "class"], + "page_white_text": "txt", + "page_white_gear": ["bashrc", "build", "gitignore", "profile", "run", "settings"] + }; + Object.keys(classToExt).forEach(function(k) { + var exts = classToExt[k]; + if (typeof exts == "string") + exts = [exts]; + exts.forEach(function(ext) { + extToClass[ext] = k; + }); + }); + return extToClass; + })(); plugin.getFileIcon = function(name) { var icon = "page_white_text"; var ext; diff --git a/plugins/c9.fs/mock/__lookupSetter__ b/plugins/c9.fs/mock/__lookupSetter__ new file mode 100644 index 00000000..9cbe6ea5 --- /dev/null +++ b/plugins/c9.fs/mock/__lookupSetter__ @@ -0,0 +1 @@ +e \ No newline at end of file diff --git a/plugins/c9.fs/mock/__proto__ b/plugins/c9.fs/mock/__proto__ new file mode 100644 index 00000000..bb79ec2d --- /dev/null +++ b/plugins/c9.fs/mock/__proto__ @@ -0,0 +1 @@ +v \ No newline at end of file diff --git a/plugins/c9.fs/mock/constructor b/plugins/c9.fs/mock/constructor new file mode 100644 index 00000000..597a6db2 --- /dev/null +++ b/plugins/c9.fs/mock/constructor @@ -0,0 +1 @@ +i \ No newline at end of file diff --git a/plugins/c9.fs/mock/toString/toString b/plugins/c9.fs/mock/toString/toString new file mode 100644 index 00000000..e69de29b diff --git a/plugins/c9.fs/mock/toString/toString.__proto__ b/plugins/c9.fs/mock/toString/toString.__proto__ new file mode 100644 index 00000000..e69de29b diff --git a/plugins/c9.fs/mock/toString/toString.constructor b/plugins/c9.fs/mock/toString/toString.constructor new file mode 100644 index 00000000..e69de29b diff --git a/plugins/c9.fs/mock/valueOf b/plugins/c9.fs/mock/valueOf new file mode 100644 index 00000000..baf72b1d --- /dev/null +++ b/plugins/c9.fs/mock/valueOf @@ -0,0 +1 @@ +l \ No newline at end of file From 35b69e0f5efb968e5e2775e357684d6c21078ea5 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 9 May 2016 03:37:58 +0400 Subject: [PATCH 067/169] fix tests --- plugins/c9.fs/fs.cache.xml.js | 2 +- plugins/c9.vfs.client/vfs_client.js | 7 +++++++ plugins/c9.vfs.standalone/www/test.html | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/c9.fs/fs.cache.xml.js b/plugins/c9.fs/fs.cache.xml.js index 32cf2ca1..bc68d3ef 100644 --- a/plugins/c9.fs/fs.cache.xml.js +++ b/plugins/c9.fs/fs.cache.xml.js @@ -707,7 +707,7 @@ define(function(require, exports, module) { status: "pending", className: "projectRoot", isEditable: false, - map: {} + map: Object.create(null) }; var root = {}; root.map = Object.create(null); diff --git a/plugins/c9.vfs.client/vfs_client.js b/plugins/c9.vfs.client/vfs_client.js index da0b3c38..0fd09d42 100644 --- a/plugins/c9.vfs.client/vfs_client.js +++ b/plugins/c9.vfs.client/vfs_client.js @@ -209,6 +209,7 @@ define(function(require, exports, module) { } function reconnect(callback) { + if (!connection) return; connection.socket.setSocket(null); vfsEndpoint.get(protocolVersion, function(err, urls) { @@ -336,6 +337,11 @@ define(function(require, exports, module) { plugin.on("unload", function(){ loaded = false; + if (consumer) + consumer.disconnect(); + if (connection) + connection.disconnect(); + id = null; buffer = []; region = null; @@ -346,6 +352,7 @@ define(function(require, exports, module) { serviceUrl = null; eioOptions = null; consumer = null; + connection = null; vfs = null; showErrorTimer = null; showErrorTimerMessage = null; diff --git a/plugins/c9.vfs.standalone/www/test.html b/plugins/c9.vfs.standalone/www/test.html index cfc89979..b4c1320e 100644 --- a/plugins/c9.vfs.standalone/www/test.html +++ b/plugins/c9.vfs.standalone/www/test.html @@ -271,6 +271,7 @@ return cb(); setTimeout.paused = true; window.app.services.vfs.connection.disconnect(); + window.app.services["vfs.endpoint"].clearCache(); setTimeout.force(function() { setTimeout.paused = false; setTimeout.clear(); From abbefbb35a2e8ba98d9b4a4bb7efe9a2e193446a Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 5 May 2016 23:52:27 +0000 Subject: [PATCH 068/169] GDB plugin add support for lazy loading of children and remove now-redundant code --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b30fb8b..018cc646 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#ebcac6ecab", + "c9.ide.run.debug": "#c4bb3e84f0", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From 75de100894ebaaa2fab0200445e0782a3af032ba Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 8 May 2016 01:55:38 +0000 Subject: [PATCH 069/169] change 'Script' to 'File' in callstack caption --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 018cc646..62ba693c 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#c4bb3e84f0", + "c9.ide.run.debug": "#55775ec484", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From 8281cfcf40993090d07c5e2e547a14467d2a7a98 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 8 May 2016 02:16:49 +0000 Subject: [PATCH 070/169] Remove initial slash from path in call stack file list --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 62ba693c..e44967a6 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", "c9.ide.find.replace": "#810ebf8bfb", - "c9.ide.run.debug": "#55775ec484", + "c9.ide.run.debug": "#3206c81cd4", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#a8ff07c8f4", From c231c047a43be5a74a98bf2ed395c78619e89f5f Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 02:16:12 +0200 Subject: [PATCH 071/169] c9-auto-bump 3.1.2411 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e44967a6..35f96e35 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2410", + "version": "3.1.2411", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 14f5f7e58640eb0880e98e8a96164bfb2629cdc5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 09:54:25 +0200 Subject: [PATCH 072/169] c9-auto-bump 3.1.2412 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35f96e35..263511e7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2411", + "version": "3.1.2412", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 892420145c60744474261f1c6d21e66a2dd644e2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 10:26:06 +0200 Subject: [PATCH 073/169] c9-auto-bump 3.1.2413 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 263511e7..6aa1461d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2412", + "version": "3.1.2413", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9cf7c7c8e191f6f4b3a6288537709226c3953e91 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 10:40:40 +0200 Subject: [PATCH 074/169] c9-auto-bump 3.1.2414 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6aa1461d..ac343e3b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2413", + "version": "3.1.2414", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9a3bfa8c222222b32ed4c3eec497c258862142bb Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 12:16:12 +0200 Subject: [PATCH 075/169] c9-auto-bump 3.1.2415 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ac343e3b..6d616f35 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2414", + "version": "3.1.2415", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 39ef239a545e64612bd33dd5b7e1962cb4c0fabf Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 12:26:45 +0200 Subject: [PATCH 076/169] c9-auto-bump 3.1.2416 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d616f35..a136d778 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2415", + "version": "3.1.2416", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c28b04f34aeca4b6b82f7fdae093f7c583755694 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 12:36:04 +0200 Subject: [PATCH 077/169] c9-auto-bump 3.1.2417 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a136d778..d801ba96 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2416", + "version": "3.1.2417", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5e710c87ad2ef1f64c70ec8439b39008888b9dab Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 14:13:38 +0200 Subject: [PATCH 078/169] c9-auto-bump 3.1.2418 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d801ba96..0bed2dbd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2417", + "version": "3.1.2418", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6f5489edfbf7831aea2762644490d0afbfabb399 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 14:24:26 +0200 Subject: [PATCH 079/169] c9-auto-bump 3.1.2419 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0bed2dbd..13958d72 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2418", + "version": "3.1.2419", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8e9c45405736c4bd784c3ad9ae67ac32ab133bbd Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 14:51:44 +0200 Subject: [PATCH 080/169] c9-auto-bump 3.1.2420 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 13958d72..ad5be049 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2419", + "version": "3.1.2420", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 905465408d045b524d3ff8e483ad404899104651 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 9 May 2016 13:31:25 +0000 Subject: [PATCH 081/169] Make gssh force use cache for extra wsmonitor / abuse commands after the first list --- node_modules/c9/gce.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/node_modules/c9/gce.js b/node_modules/c9/gce.js index 7b939527..4a585b70 100644 --- a/node_modules/c9/gce.js +++ b/node_modules/c9/gce.js @@ -24,12 +24,15 @@ function runCommand(pattern, command, options, callback) { return runCommand(pattern, command, {}, options); } - var parallel = "" + var optionsArray = []; if (options.parallel) { - parallel = " -P" + optionsArray.push("-P"); + } + if (options.cacheOnly) { + optionsArray.push("--cache-only"); } - var gsshCommand = GSSH + " " + parallel + " " + pattern + " '" + command + "'"; + var gsshCommand = GSSH + " " + optionsArray.join(" ") + " " + pattern + " '" + command + "'"; childProcess.exec(gsshCommand, function (err, stdout) { return callback(err, stdout); }); From 1abe4b462d19f940d0929a60e8bcad7e10fb6eb2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 15:42:49 +0200 Subject: [PATCH 082/169] c9-auto-bump 3.1.2421 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad5be049..4b590c2a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2420", + "version": "3.1.2421", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 81faf136bb1437057d73feff8cce98b7c89460c3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 15:44:35 +0200 Subject: [PATCH 083/169] c9-auto-bump 3.1.2422 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4b590c2a..65688945 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2421", + "version": "3.1.2422", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c782d60ba1bf25d3c87aa7cc1405b1c6cf29e7c6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 15:46:48 +0200 Subject: [PATCH 084/169] c9-auto-bump 3.1.2423 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 65688945..4e190ba4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2422", + "version": "3.1.2423", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cd4cf2f14802d07a836ba13fce5b838a50e1c6f2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 16:54:33 +0200 Subject: [PATCH 085/169] c9-auto-bump 3.1.2424 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4e190ba4..6f63e9fc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2423", + "version": "3.1.2424", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f1b826172deef0de4b2f8f766d6eba92c0513b37 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 9 May 2016 22:05:08 +0200 Subject: [PATCH 086/169] c9-auto-bump 3.1.2425 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6f63e9fc..5cf04b7f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2424", + "version": "3.1.2425", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From edeffdddbbdb0177f43b1f5d50e27a541c85666c Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 9 May 2016 20:16:31 +0000 Subject: [PATCH 087/169] Add more logic to detect collab reverts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2efc87c5..6e3a79d4 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#d8183d84b4", "c9.ide.language.codeintel": "#e92ace1a56", - "c9.ide.collab": "#e9b3306fa7", + "c9.ide.collab": "#6d03481474", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", From 6eacf6a8e4eb8d2bce08888c8915823a4137a58a Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 10:12:35 +0200 Subject: [PATCH 088/169] c9-auto-bump 3.1.2426 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5cf04b7f..4048cf6d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2425", + "version": "3.1.2426", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f58a05447add6da7affce17822f6b83901777542 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 10:12:51 +0200 Subject: [PATCH 089/169] c9-auto-bump 3.1.2427 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4048cf6d..14784033 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2426", + "version": "3.1.2427", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 22c7c6221a35ebb1cb7fbbdcb52e2d38d744b596 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 10:40:53 +0200 Subject: [PATCH 090/169] c9-auto-bump 3.1.2428 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 14784033..9bbedff4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2427", + "version": "3.1.2428", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From fe17567065ceed7eb2c2c72608f825ee7fa0d189 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 13:07:52 +0200 Subject: [PATCH 091/169] c9-auto-bump 3.1.2429 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9bbedff4..c0ccfc21 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2428", + "version": "3.1.2429", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9dd3ec0c4b7f531ed25758f8278d773f46aa28ce Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 14:42:35 +0200 Subject: [PATCH 092/169] c9-auto-bump 3.1.2430 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c0ccfc21..3dd32968 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2429", + "version": "3.1.2430", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f615d6673f6608d030bbf535350f7cece39704cc Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 15:11:24 +0200 Subject: [PATCH 093/169] c9-auto-bump 3.1.2431 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3dd32968..136c94f3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2430", + "version": "3.1.2431", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 34a5cbbde634240118856f5cd5fe486f4fcc6caf Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 16:21:55 +0200 Subject: [PATCH 094/169] c9-auto-bump 3.1.2432 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 136c94f3..48502227 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2431", + "version": "3.1.2432", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7f7d8d7e66ee66a7e514af8fa93945e1305ce047 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 17:31:37 +0200 Subject: [PATCH 095/169] c9-auto-bump 3.1.2433 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 48502227..55951003 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2432", + "version": "3.1.2433", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 84f1c4bd394067f6ed3497629b8017f89d058e54 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 19:41:07 +0200 Subject: [PATCH 096/169] c9-auto-bump 3.1.2434 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 55951003..404ad176 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2433", + "version": "3.1.2434", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b495a9ad5398d04550e5574573982e6fb69e7eed Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 10 May 2016 20:07:04 +0200 Subject: [PATCH 097/169] c9-auto-bump 3.1.2435 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 404ad176..ef70e0e9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2434", + "version": "3.1.2435", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bd305b227c6d2d14a1ba28f97945fb26a83002b2 Mon Sep 17 00:00:00 2001 From: Chris Brown Date: Wed, 11 May 2016 08:55:14 +0100 Subject: [PATCH 098/169] Support for downloading workspace files as a zip archive --- plugins/c9.ide.download/download.js | 58 +++++- plugins/c9.vfs.server/download.js | 79 +++++--- plugins/c9.vfs.server/download_test.js | 182 ++++++++++++++++-- plugins/c9.vfs.server/test/dir1/testdata1.txt | 1 + .../c9.vfs.server/test/dir2/testdata2a.txt | 1 + .../c9.vfs.server/test/dir2/testdata2b.txt | 1 + 6 files changed, 274 insertions(+), 48 deletions(-) create mode 100644 plugins/c9.vfs.server/test/dir1/testdata1.txt create mode 100644 plugins/c9.vfs.server/test/dir2/testdata2a.txt create mode 100644 plugins/c9.vfs.server/test/dir2/testdata2b.txt diff --git a/plugins/c9.ide.download/download.js b/plugins/c9.ide.download/download.js index 05c3fdfa..dd6a585f 100644 --- a/plugins/c9.ide.download/download.js +++ b/plugins/c9.ide.download/download.js @@ -2,7 +2,7 @@ define(function(require, exports, module) { "use strict"; main.consumes = [ - "Plugin", "c9", "ui", "menus", "tree", "info", "vfs" + "Plugin", "c9", "ui", "menus", "tree", "info", "vfs", "preferences", "settings" ]; main.provides = ["download"]; return main; @@ -15,7 +15,12 @@ define(function(require, exports, module) { var tree = imports.tree; var vfs = imports.vfs; var info = imports.info; - + var prefs = imports.preferences; + var settings = imports.settings; + + var SETTING_NAME = "downloadFilesAs"; + var SETTING_PATH = "user/general/@" + SETTING_NAME; + /***** Initialization *****/ var plugin = new Plugin("Ajax.org", main.consumes); @@ -40,6 +45,28 @@ define(function(require, exports, module) { onclick: download }), 140, plugin); }); + + // Preferences + prefs.add({ + "General" : { + "Tree & Navigate" : { + "Download Files As" : { + type: "dropdown", + path: SETTING_PATH, + items: [ + { caption : "auto", value : "auto" }, + { caption : "tar.gz", value : "tar.gz" }, + { caption : "zip", value : "zip" } + ], + position: 5000 + } + } + } + }, plugin); + + settings.on("read", function() { + settings.setDefaults("user/general", [[SETTING_NAME, "auto"]]); + }, plugin); } function download() { @@ -55,25 +82,40 @@ define(function(require, exports, module) { if (node.isFolder && node.path == "/") downloadProject(); else if (paths.length > 1) - vfs.download(paths); + downloadPaths(paths); else if (node.isFolder) downloadFolder(node.path); else downloadFile(node.path); - + } - + function downloadProject() { - vfs.download("/", info.getWorkspace().name + ".tar.gz"); + vfs.download("/", info.getWorkspace().name + getArchiveFileExtension()); + } + + function downloadPaths(paths) { + vfs.download(paths, info.getWorkspace().name + getArchiveFileExtension()); } function downloadFolder(path) { - vfs.download(path.replace(/\/*$/, "/")); + var withTrailingSlash = path.replace(/\/*$/, "/"); + var parts = withTrailingSlash.split("/"); + var lastPart = parts[parts.length - 2]; + vfs.download(withTrailingSlash, lastPart + getArchiveFileExtension()); } - + function downloadFile(path) { vfs.download(path.replace(/\/*$/, ""), null, true); } + + function getArchiveFileExtension() { + var downloadFilesAs = settings.get(SETTING_PATH); + if (downloadFilesAs === 'auto' || !downloadFilesAs) { + downloadFilesAs = /Win/.test(navigator.platform) ? 'zip' : 'tar.gz'; + } + return '.' + downloadFilesAs; + } /***** Lifecycle *****/ diff --git a/plugins/c9.vfs.server/download.js b/plugins/c9.vfs.server/download.js index 6ac1da92..b1dbea6f 100644 --- a/plugins/c9.vfs.server/download.js +++ b/plugins/c9.vfs.server/download.js @@ -80,41 +80,62 @@ define(function(require, exports, module) { }); } else { - // TODO add support for downloding as zip on windows - // var cwd; - // var args = ["-r", "-"]; - // paths.forEach(function(path) { - // if (!path) return; - // var dir = Path.dirname(path); - // if (!cwd) cwd = dir; - // var name = Path.relative(cwd, path); - // if (name[0] == "-") name = "./" + name; - // args.push(name); - // }); - // vfs.spawn("zip", { args: args, cwd: cwd } - - var args = ["-zcf", "-"]; - paths.forEach(function(path) { + var executable, args, contentType; + + if (/\.zip$/.test(filename)) { + executable = "zip"; + args = ["-r", "-", "--"]; + contentType = "application/zip" + } + else { + executable = "tar"; + args = ["-zcf", "-", "--"]; + contentType = "application/x-gzip" + } + + // Find the longest common parent directory of all the paths. + var cwd = null; + paths.forEach(function (path) { if (!path) return; var dir = Path.dirname(path); - var name = Path.basename(path); - if (name[0] == "-") - name = "--add-file=" + name; - args.push("-C" + dir, name); + if (!cwd) { + cwd = dir; + } + else { + var relative = Path.relative(cwd, dir).split(Path.sep); + var i = 0; + while (relative[i] === '..') { + cwd = Path.resolve(cwd, '..'); + i++; + } + } }); - vfs.spawn("tar", { args: args }, function (err, meta) { + paths.forEach(function(path) { + if (!path) return; + path = Path.relative(cwd, path); + // tar misinterprets the Windows path separator as an escape sequence, so use forward slash. + if (Path.sep === '\\') { + path = path.replace(/\\/g, '/'); + } + args.push(path); + }); + + vfs.spawn(executable, { + args: args, + cwd: cwd + }, function (err, meta) { if (err) return next(err); - + process = meta.process; - - // once we receive data on stdout pipe it to the response + + // once we receive data on stdout pipe it to the response process.stdout.once("data", function (data) { if (res.headerSent) return; res.writeHead(200, { - "Content-Type": "application/x-gzip", + "Content-Type": contentType, "Content-Disposition": filenameHeader }); res.write(data); @@ -125,7 +146,7 @@ define(function(require, exports, module) { process.stderr.on("data", function (data) { stderr += data; }); - + process.on("exit", function(code, signal) { if (res.headerSent) return; @@ -133,16 +154,16 @@ define(function(require, exports, module) { var err; if (code == 127) { err = new error.PreconditionFailed( - "Your instance seems to be missing the 'tar' utility\n" + + "Your instance seems to be missing the '" + executable + "' utility\n" + "If you are using an SSH workspace, please do:\n" + - " 'sudo apt-get install tar'"); + " 'sudo apt-get install " + executable + "'"); } else if (code) { err = new error.InternalServerError( - "'tar' utility failed with exit code " + code + + "'" + executable + "' utility failed with exit code " + code + " and stderr:/n'" + stderr + "'"); } else if (signal) { err = new error.InternalServerError( - "'tar' utility was terminated by signal " + signal + "'" + executable + "' utility was terminated by signal " + signal ); } diff --git a/plugins/c9.vfs.server/download_test.js b/plugins/c9.vfs.server/download_test.js index 5f9109c6..ab170687 100755 --- a/plugins/c9.vfs.server/download_test.js +++ b/plugins/c9.vfs.server/download_test.js @@ -53,8 +53,9 @@ describe(__filename, function(){ describe("download", function() { - it("should download", function(next) { + it("should download as tar", function(next) { tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); var filename = path + "/download.tar.gz"; var file = fs.createWriteStream(filename); http.get("http://localhost:8787/?download=download.tar.gz", function(res) { @@ -77,21 +78,22 @@ describe(__filename, function(){ }); }); - it("should download sub directory", function(next) { + it("should download sub directory as tar", function(next) { tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); assert.equal(err, null); var filename = path + "/download.tar.gz"; var file = fs.createWriteStream(filename); - http.get("http://localhost:8787/views?download=download.tar.gz", function(res) { + http.get("http://localhost:8787/test?download=download.tar.gz", function(res) { res.pipe(file); res.on("end", function() { - execFile("tar", ["-zxvf", filename, "views/status.html.ejs"], {cwd: path}, function(err) { + execFile("tar", ["-zxvf", filename, "test/dir1/testdata1.txt"], {cwd: path}, function(err) { assert.equal(err, null); assert.equal( - fs.readFileSync(__dirname + "/views/status.html.ejs", "utf8"), - fs.readFileSync(path + "/views/status.html.ejs", "utf8") + fs.readFileSync(__dirname + "/test/dir1/testdata1.txt", "utf8"), + fs.readFileSync(path + "/test/dir1/testdata1.txt", "utf8") ); next(); }); @@ -102,22 +104,180 @@ describe(__filename, function(){ it("should download without specifying a name", function(next) { tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); assert.equal(err, null); var filename = path + "/download.tar.gz"; var file = fs.createWriteStream(filename); - http.get("http://localhost:8787/views?download", function(res) { + http.get("http://localhost:8787/test?download", function(res) { assert.equal(res.headers["content-type"], "application/x-gzip"); - assert.equal(res.headers["content-disposition"], "attachment; filename*=utf-8''views.tar.gz"); + assert.equal(res.headers["content-disposition"], "attachment; filename*=utf-8''test.tar.gz"); res.pipe(file); res.on("end", function() { - execFile("tar", ["-zxvf", filename, "views/status.html.ejs"], {cwd: path}, function(err) { + execFile("tar", ["-zxvf", filename, "test/dir1/testdata1.txt"], {cwd: path}, function(err) { assert.equal(err, null); assert.equal( - fs.readFileSync(__dirname + "/views/status.html.ejs", "utf8"), - fs.readFileSync(path + "/views/status.html.ejs", "utf8") + fs.readFileSync(__dirname + "/test/dir1/testdata1.txt", "utf8"), + fs.readFileSync(path + "/test/dir1/testdata1.txt", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download several files in same directory as tar", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + assert.equal(err, null); + + var filename = path + "/download.tar.gz"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/test/dir2/testdata2a.txt,/test/dir2/testdata2b.txt?download=download.tar.gz", function(res) { + res.pipe(file); + res.on("end", function() { + execFile("tar", ["-zxvf", filename], {cwd: path}, function(err) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2a.txt", "utf8"), + fs.readFileSync(path + "/testdata2a.txt", "utf8") + ); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2b.txt", "utf8"), + fs.readFileSync(path + "/testdata2b.txt", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download several files in different directories as tar", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + assert.equal(err, null); + + var filename = path + "/download.tar.gz"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/test/dir1/testdata1.txt,/test/dir2/testdata2a.txt?download=download.tar.gz", function(res) { + res.pipe(file); + res.on("end", function() { + execFile("tar", ["-zxvf", filename], {cwd: path}, function(err) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/test/dir1/testdata1.txt", "utf8"), + fs.readFileSync(path + "/dir1/testdata1.txt", "utf8") + ); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2a.txt", "utf8"), + fs.readFileSync(path + "/dir2/testdata2a.txt", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download as zip", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + var filename = path + "/download.zip"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/?download=download.zip", function(res) { + assert.equal(res.headers["content-type"], "application/zip"); + assert.equal(res.headers["content-disposition"], "attachment; filename*=utf-8''download.zip"); + + res.pipe(file); + + res.on("end", function() { + execFile("unzip", [filename, "c9.vfs.server/download.js"], {cwd: path}, function(err, stdout, stderr) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/download.js", "utf8"), + fs.readFileSync(path + "/c9.vfs.server/download.js", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download sub directory as zip", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + assert.equal(err, null); + + var filename = path + "/download.zip"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/test?download=download.zip", function(res) { + res.pipe(file); + + res.on("end", function() { + execFile("unzip", [filename, "test/dir1/testdata1.txt"], {cwd: path}, function(err) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/test/dir1/testdata1.txt", "utf8"), + fs.readFileSync(path + "/test/dir1/testdata1.txt", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download several files in same directory as zip", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + assert.equal(err, null); + + var filename = path + "/download.zip"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/test/dir2/testdata2a.txt,/test/dir2/testdata2b.txt?download=download.zip", function(res) { + res.pipe(file); + res.on("end", function() { + execFile("unzip", [filename], {cwd: path}, function(err) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2a.txt", "utf8"), + fs.readFileSync(path + "/testdata2a.txt", "utf8") + ); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2b.txt", "utf8"), + fs.readFileSync(path + "/testdata2b.txt", "utf8") + ); + next(); + }); + }); + }); + }); + }); + + it("should download several files in different directories as zip", function(next) { + tmp.dir({unsafeCleanup: true}, function(err, path) { + path = path.replace(/\w:/, ''); + assert.equal(err, null); + + var filename = path + "/download.zip"; + var file = fs.createWriteStream(filename); + http.get("http://localhost:8787/test/dir1/testdata1.txt,/test/dir2/testdata2a.txt?download=download.zip", function(res) { + res.pipe(file); + res.on("end", function() { + execFile("unzip", [filename], {cwd: path}, function(err) { + assert.equal(err, null); + assert.equal( + fs.readFileSync(__dirname + "/test/dir1/testdata1.txt", "utf8"), + fs.readFileSync(path + "/dir1/testdata1.txt", "utf8") + ); + assert.equal( + fs.readFileSync(__dirname + "/test/dir2/testdata2a.txt", "utf8"), + fs.readFileSync(path + "/dir2/testdata2a.txt", "utf8") ); next(); }); diff --git a/plugins/c9.vfs.server/test/dir1/testdata1.txt b/plugins/c9.vfs.server/test/dir1/testdata1.txt new file mode 100644 index 00000000..e558cabb --- /dev/null +++ b/plugins/c9.vfs.server/test/dir1/testdata1.txt @@ -0,0 +1 @@ +test data 1 diff --git a/plugins/c9.vfs.server/test/dir2/testdata2a.txt b/plugins/c9.vfs.server/test/dir2/testdata2a.txt new file mode 100644 index 00000000..db0f784c --- /dev/null +++ b/plugins/c9.vfs.server/test/dir2/testdata2a.txt @@ -0,0 +1 @@ +test data 2a diff --git a/plugins/c9.vfs.server/test/dir2/testdata2b.txt b/plugins/c9.vfs.server/test/dir2/testdata2b.txt new file mode 100644 index 00000000..37dc0027 --- /dev/null +++ b/plugins/c9.vfs.server/test/dir2/testdata2b.txt @@ -0,0 +1 @@ +test data 2b From 4c458d0c10bc7c87f8b37599289426366f3d3bd6 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Wed, 11 May 2016 10:49:26 +0200 Subject: [PATCH 099/169] Revert "Don't immediately show completer when there's an exact match" This reverts commit 9ca28e82f699c57a5f9c5ce1a3f2e5c820423298. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 776c0566..8ffdf4c2 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "c9" ], "c9plugins": { - "c9.ide.language": "#07583f1706", + "c9.ide.language": "#79bcb2fe06", "c9.ide.language.css": "#be07d72209", "c9.ide.language.generic": "#3949510863", "c9.ide.language.html": "#22fdc74869", From 8f492c2cea51f471505b8cd6d59a30c99e3f75c5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 11 May 2016 13:45:48 +0200 Subject: [PATCH 100/169] c9-auto-bump 3.1.2436 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ef70e0e9..a0d27d2a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2435", + "version": "3.1.2436", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a1deca9d772b2eae3435e8b4f4326fa74da79ffb Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 11 May 2016 15:06:07 +0200 Subject: [PATCH 101/169] c9-auto-bump 3.1.2437 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1d2fa854..a80e7111 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2436", + "version": "3.1.2437", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0b69cc5b606ca72c2ee1959bf0bd1552a1e87ede Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Wed, 11 May 2016 20:24:11 +0000 Subject: [PATCH 102/169] Adding more logging around document saving in collab --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a80e7111..3de16454 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#d8183d84b4", "c9.ide.language.codeintel": "#fc867feec4", - "c9.ide.collab": "#e9b3306fa7", + "c9.ide.collab": "#b584db93f8", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", From e93cea1412d43314a726a8d91b98c18f0eab695e Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 00:00:45 +0200 Subject: [PATCH 103/169] c9-auto-bump 3.1.2438 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a80e7111..7f39d230 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2437", + "version": "3.1.2438", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b2455f7c489f8854edbc236c0c20279275bc099a Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 00:36:01 +0200 Subject: [PATCH 104/169] c9-auto-bump 3.1.2439 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f39d230..561fe9d2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2438", + "version": "3.1.2439", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4a4d5526f70cb77ae6a1d7cddfe699f34953f54a Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 01:18:41 +0200 Subject: [PATCH 105/169] c9-auto-bump 3.1.2440 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 561fe9d2..f398f5de 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2439", + "version": "3.1.2440", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3e6621356999decb96fe13b57e053b66c963c5d4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 15:35:14 +0200 Subject: [PATCH 106/169] c9-auto-bump 3.1.2441 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5b80e89d..583ddad4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2440", + "version": "3.1.2441", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d1b4c6953e10d540fdcb5583bb48123eb4b1861c Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 15:44:18 +0200 Subject: [PATCH 107/169] c9-auto-bump 3.1.2442 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 583ddad4..6e4d8ec1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2441", + "version": "3.1.2442", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From fdb573241c25871d5c7d468f909b69db6c8feda9 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 12 May 2016 13:55:14 +0000 Subject: [PATCH 108/169] Don't modify original operations. Remove log --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e3a79d4..7edd0356 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#d8183d84b4", "c9.ide.language.codeintel": "#e92ace1a56", - "c9.ide.collab": "#6d03481474", + "c9.ide.collab": "#b1cb38c07e", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", From f71bbb8b7fc6a1bbb2a2cd6dc09d8e3e2a446d6c Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 12 May 2016 14:45:59 +0000 Subject: [PATCH 109/169] Use a filter instead --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7edd0356..7cb9e901 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "c9.ide.language.javascript.infer": "#18acb93a3a", "c9.ide.language.jsonalyzer": "#d8183d84b4", "c9.ide.language.codeintel": "#e92ace1a56", - "c9.ide.collab": "#b1cb38c07e", + "c9.ide.collab": "#031adf372c", "c9.ide.local": "#10eb45842a", "c9.ide.find": "#e33fbaed2f", "c9.ide.find.infiles": "#c0a13737ef", From 224e386a1ff6ede77b3f8bcf2f9de19fc833a421 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 12 May 2016 16:47:02 +0200 Subject: [PATCH 110/169] c9-auto-bump 3.1.2443 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 20158ee8..571fe154 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2442", + "version": "3.1.2443", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6c0737c3c08201453b2fe4e48e9d5b4a064ceb30 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 12 May 2016 17:19:31 +0000 Subject: [PATCH 111/169] Switch rate limited to use one setInterval instead of many setTimeouts to clean itself up. --- node_modules/c9/ratelimit.js | 32 ++++++++++++++++--------- node_modules/c9/ratelimit_test.js | 40 ++++++++++++++++++++++++------- 2 files changed, 53 insertions(+), 19 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index 01c5cd65..0efc15ef 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -1,4 +1,5 @@ var error = require("http-error"); +var _ = require("lodash"); /** * In memory rate limiter as connect middleware @@ -6,25 +7,34 @@ var error = require("http-error"); module.exports = ratelimit; function ratelimit(key, duration, max) { - var counts = {}; + var requests = {}; + setInterval(function() { + _.forIn(requests, function (requestsForHandle, key) { + var totalToSplice = 0; + var expireTime = Date.now() - duration; + /* Requests are already sorted by date as they are appended, so we just loop + until we find one that shouldn't have expired and splice them from the list */ + for (var i = 0; i < requestsForHandle.length; i++) { + if (requestsForHandle[i] >= expireTime) break; + totalToSplice++; + } + requests[key].splice(0, totalToSplice); + if (requests[key].length == 0) { + delete requests[key]; + } + }); + }, 10); return function(req, res, next) { var handle = req.params[key]; - counts[handle] = counts[handle] || 0; - if (counts[handle] >= max) { + requests[handle] = requests[handle] || []; + if (requests[handle].length >= max) { var err = new error.TooManyRequests("Rate limit exceeded"); err.retryIn = Math.min(duration, 5000); return next(err); } - counts[handle]++; - setTimeout(function () { - counts[handle]--; - if (counts[handle] == 0) { - delete counts[handle]; - } - }, duration); - + requests[handle].push(Date.now()); return next(); }; } diff --git a/node_modules/c9/ratelimit_test.js b/node_modules/c9/ratelimit_test.js index aaa2b2bc..6277de4f 100644 --- a/node_modules/c9/ratelimit_test.js +++ b/node_modules/c9/ratelimit_test.js @@ -4,13 +4,14 @@ require("c9/inline-mocha")(module); var ratelimit = require("./ratelimit"); var assert = require("assert"); +var async = require("async"); describe("ratelimit", function() { it("Should limit based on key", function (done) { - var limiter = ratelimit("test", 10, 1); - limiter({params: {test: 1}}, null, function (err) { + var limiter = ratelimit("username", 10, 1); + limiter({params: {username: "super"}}, null, function (err) { assert(!err, err); - limiter({params: {test: 1}}, null, function (err) { + limiter({params: {username: "super"}}, null, function (err) { assert(err); assert.equal(err.code, 429); done(); @@ -18,16 +19,39 @@ describe("ratelimit", function() { }); }); - it("Should work again after a delay", function (done) { - var limiter = ratelimit("test", 10, 1); - limiter({params: {test: 1}}, null, function (err) { + it("Should work again after a delay", function (done) { + var limiter = ratelimit("username", 10, 1); + limiter({params: {username: "super"}}, null, function (err) { assert(!err, err); setTimeout(function() { - limiter({params: {test: 1}}, null, function (err) { + limiter({params: {username: "super"}}, null, function (err) { assert(!err, err); done(); }); - }, 15); + }, 25); }); }); + + it("Should work with many requests", function (done) { + var MAX_REQUESTS = 5; + var limiter = ratelimit("username", 10, MAX_REQUESTS); + var successfulRequests = 0; + async.times(10, function(n, next) { + limiter({params: {username: "super"}}, null, function (err) { + if (err) return next(err); + successfulRequests++; + next(); + }); + }, function (err) { + assert.equal(successfulRequests, MAX_REQUESTS); + setTimeout(function() { + limiter({params: {username: "super"}}, null, function (err) { + assert(!err, err); + done(); + }); + }, 25); + }); + }); + + }); \ No newline at end of file From 9d6c7e47d71ef0ccfea9a7477ace6bef90990086 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 12 May 2016 17:27:48 +0000 Subject: [PATCH 112/169] Added tests for multiple keys and ensuring the expiry system is working as intended --- node_modules/c9/ratelimit_test.js | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/node_modules/c9/ratelimit_test.js b/node_modules/c9/ratelimit_test.js index 6277de4f..fd674350 100644 --- a/node_modules/c9/ratelimit_test.js +++ b/node_modules/c9/ratelimit_test.js @@ -7,6 +7,7 @@ var assert = require("assert"); var async = require("async"); describe("ratelimit", function() { + it("Should limit based on key", function (done) { var limiter = ratelimit("username", 10, 1); limiter({params: {username: "super"}}, null, function (err) { @@ -19,6 +20,19 @@ describe("ratelimit", function() { }); }); + it("Should work with different keys", function (done) { + var limiter = ratelimit("username", 10, 1); + limiter({params: {username: "super"}}, null, function (err) { + assert(!err, err); + limiter({params: {username: "aloha"}}, null, function (err) { + assert(!err, err); + done(); + }); + }); + }); + + + it("Should work again after a delay", function (done) { var limiter = ratelimit("username", 10, 1); limiter({params: {username: "super"}}, null, function (err) { @@ -53,5 +67,38 @@ describe("ratelimit", function() { }); }); + it("Should expire keys at the correct times", function (done) { + var limiter = ratelimit("username", 50, 2); + async.series([ + function(next) { + limiter({params: {username: "mario"}}, null, function(err) { + assert(!err, err); + setTimeout(next, 25); + }); + }, + function (next) { + limiter({params: {username: "mario"}}, null, function(err) { + assert(!err, err); + setTimeout(next, 40); + }); + }, + function (next) { + limiter({params: {username: "mario"}}, null, function(err) { + assert(!err, err); + limiter({params: {username: "mario"}}, null, function(err) { + assert(err); + assert.equal(err.code, 429); + setTimeout(next, 20); + }); + }); + }, + function (next) { + limiter({params: {username: "mario"}}, null, function(err) { + assert(!err, err); + next(); + }); + } + ], done); + }); }); \ No newline at end of file From fc97f894f157f2dffa92cd99b69bd9527e5095bb Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 04:04:43 +0200 Subject: [PATCH 113/169] c9-auto-bump 3.1.2444 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 571fe154..7614860c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2443", + "version": "3.1.2444", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 64ef33efd123846b3df83ae2122be41e22de404f Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 11:24:46 +0200 Subject: [PATCH 114/169] c9-auto-bump 3.1.2445 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7614860c..6b6b4606 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2444", + "version": "3.1.2445", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1a7b99776dfd9b8e8d3944771ec2e67aab3c9f97 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 14:02:00 +0200 Subject: [PATCH 115/169] c9-auto-bump 3.1.2446 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b6b4606..6f2a2fba 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2445", + "version": "3.1.2446", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b3a0286dd8046ae28ce715b85fc16d5bfb24512e Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 14:21:09 +0200 Subject: [PATCH 116/169] c9-auto-bump 3.1.2447 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6f2a2fba..77a9e2ae 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2446", + "version": "3.1.2447", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 396b467b3b7b5112fc9799540a87dd4b3923b551 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 17:00:37 +0200 Subject: [PATCH 117/169] c9-auto-bump 3.1.2448 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77a9e2ae..c035b3f8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2447", + "version": "3.1.2448", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4feb1f5c6c81968da0b39c5690f190ce27e7e594 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 13 May 2016 17:13:50 +0200 Subject: [PATCH 118/169] c9-auto-bump 3.1.2449 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c035b3f8..83ef5e12 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2448", + "version": "3.1.2449", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 09bf053920e28291b3d6c0921b3ab97561d37d8b Mon Sep 17 00:00:00 2001 From: c9bot Date: Sun, 15 May 2016 20:22:06 +0200 Subject: [PATCH 119/169] c9-auto-bump 3.1.2450 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83ef5e12..4317d547 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2449", + "version": "3.1.2450", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1e04331410d7c9e1a723cc87aa62204d78cb44e9 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 16 May 2016 19:15:15 +0000 Subject: [PATCH 120/169] Made requests object safer. Expire requests before sending error back --- node_modules/c9/ratelimit.js | 58 ++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index 0efc15ef..33f9d47c 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -7,34 +7,42 @@ var _ = require("lodash"); module.exports = ratelimit; function ratelimit(key, duration, max) { - var requests = {}; + var requests = Object.create(null); // in case there handles like 'constructor' setInterval(function() { - _.forIn(requests, function (requestsForHandle, key) { - var totalToSplice = 0; - var expireTime = Date.now() - duration; - /* Requests are already sorted by date as they are appended, so we just loop - until we find one that shouldn't have expired and splice them from the list */ - for (var i = 0; i < requestsForHandle.length; i++) { - if (requestsForHandle[i] >= expireTime) break; - totalToSplice++; - } - requests[key].splice(0, totalToSplice); - if (requests[key].length == 0) { - delete requests[key]; - } - }); - }, 10); - return function(req, res, next) { - var handle = req.params[key]; - - requests[handle] = requests[handle] || []; - if (requests[handle].length >= max) { - var err = new error.TooManyRequests("Rate limit exceeded"); - err.retryIn = Math.min(duration, 5000); - return next(err); + Object.keys(requests).forEach(expireRequests); + }, duration * 0.75); + + function expireRequests(value) { + var requestsForHandle = requests[value]; + var totalToSplice = 0; + var expireTime = Date.now() - duration; + /* Requests are already sorted by date as they are appended, so we just loop + until we find one that shouldn't have expired and splice them from the list */ + for (var i = 0; i < requestsForHandle.length; i++) { + if (requestsForHandle[i] >= expireTime) break; + totalToSplice++; + } + requests[value].splice(0, totalToSplice); + if (requests[value].length == 0) { + delete requests[value]; } - requests[handle].push(Date.now()); + return true; + } + + return function(req, res, next) { + var value = req.params[key]; + + requests[value] = requests[value] || []; + if (requests[value].length >= max) { + if (expireRequests(value) && requests[value].length >= max) { + var err = new error.TooManyRequests("Rate limit exceeded"); + err.retryIn = Math.min(duration, 5000); + return next(err); + } + } + + requests[value].push(Date.now()); return next(); }; } From 833f3d1911fc07a888dd85ac28b2309e94677801 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 16 May 2016 19:24:49 +0000 Subject: [PATCH 121/169] rename back to handle --- node_modules/c9/ratelimit.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index 33f9d47c..a56f6c3e 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -12,8 +12,8 @@ function ratelimit(key, duration, max) { Object.keys(requests).forEach(expireRequests); }, duration * 0.75); - function expireRequests(value) { - var requestsForHandle = requests[value]; + function expireRequests(handle) { + var requestsForHandle = requests[handle]; var totalToSplice = 0; var expireTime = Date.now() - duration; /* Requests are already sorted by date as they are appended, so we just loop @@ -22,27 +22,27 @@ function ratelimit(key, duration, max) { if (requestsForHandle[i] >= expireTime) break; totalToSplice++; } - requests[value].splice(0, totalToSplice); - if (requests[value].length == 0) { - delete requests[value]; + requests[handle].splice(0, totalToSplice); + if (requests[handle].length == 0) { + delete requests[handle]; } return true; } return function(req, res, next) { - var value = req.params[key]; + var handle = req.params[key]; - requests[value] = requests[value] || []; - if (requests[value].length >= max) { - if (expireRequests(value) && requests[value].length >= max) { + requests[handle] = requests[handle] || []; + if (requests[handle].length >= max) { + if (expireRequests(handle) && requests[handle].length >= max) { var err = new error.TooManyRequests("Rate limit exceeded"); err.retryIn = Math.min(duration, 5000); return next(err); } } - requests[value].push(Date.now()); + requests[handle].push(Date.now()); return next(); }; } From ccc8b1b56ec5c1f3340dfddd507a37c4d35bfb4d Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 16 May 2016 19:28:39 +0000 Subject: [PATCH 122/169] Iterate just one variable --- node_modules/c9/ratelimit.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index a56f6c3e..0b3cdcd3 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -18,9 +18,8 @@ function ratelimit(key, duration, max) { var expireTime = Date.now() - duration; /* Requests are already sorted by date as they are appended, so we just loop until we find one that shouldn't have expired and splice them from the list */ - for (var i = 0; i < requestsForHandle.length; i++) { - if (requestsForHandle[i] >= expireTime) break; - totalToSplice++; + for (totalToSplice = 0; totalToSplice < requestsForHandle.length; totalToSplice++) { + if (requestsForHandle[totalToSplice] >= expireTime) break; } requests[handle].splice(0, totalToSplice); if (requests[handle].length == 0) { From 18e9853e90c17be9e44aa6633652b33438c1d660 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 09:15:51 +0200 Subject: [PATCH 123/169] c9-auto-bump 3.1.2451 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4317d547..5c8eddb0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2450", + "version": "3.1.2451", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9a213be991095a741309df3be5063d81ebc630d4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 10:16:07 +0200 Subject: [PATCH 124/169] c9-auto-bump 3.1.2452 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5c8eddb0..5fd18f60 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2451", + "version": "3.1.2452", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1876856c0a3ab2b2ebb029999afd2c4b30a492db Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 12:56:31 +0200 Subject: [PATCH 125/169] c9-auto-bump 3.1.2453 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5fd18f60..d3b5b837 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2452", + "version": "3.1.2453", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ffdd4f19d5a36b074305046edf4f8fc48c62f49f Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 13:51:05 +0200 Subject: [PATCH 126/169] c9-auto-bump 3.1.2454 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d3b5b837..37e808a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2453", + "version": "3.1.2454", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ab835d41e9a79352ea81b2b6bd4634813381453e Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 14:01:22 +0200 Subject: [PATCH 127/169] c9-auto-bump 3.1.2455 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 37e808a4..41f7e59a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2454", + "version": "3.1.2455", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 87afc3c8df9fec63715226f100518790be4bd245 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 14:59:38 +0200 Subject: [PATCH 128/169] c9-auto-bump 3.1.2456 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 41f7e59a..cd67bd43 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2455", + "version": "3.1.2456", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 81d3fec3589771ee3ea58c4400c44b8565c9aacf Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 17:01:27 +0200 Subject: [PATCH 129/169] c9-auto-bump 3.1.2457 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cd67bd43..94cce6fe 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2456", + "version": "3.1.2457", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 99e534ca41ef0eedc1c0fd4087e9b7cc58954477 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 19:58:14 +0200 Subject: [PATCH 130/169] c9-auto-bump 3.1.2458 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 94cce6fe..e03d2459 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2457", + "version": "3.1.2458", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b3b45dfcbc274296c667a748998f54dfcb2421c0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 22:12:54 +0200 Subject: [PATCH 131/169] c9-auto-bump 3.1.2459 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e03d2459..2b105154 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2458", + "version": "3.1.2459", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1ee7ad17bd75f8d883b38d164d907a65ac356a3e Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 23:13:45 +0200 Subject: [PATCH 132/169] c9-auto-bump 3.1.2460 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2b105154..032630fe 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2459", + "version": "3.1.2460", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 62f66380537cb55217a97c0557aaf30fdd9d29c4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 17 May 2016 23:53:56 +0200 Subject: [PATCH 133/169] c9-auto-bump 3.1.2461 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 032630fe..a6bc375e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2460", + "version": "3.1.2461", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From fba9057e92f46b045d4961688b4f31f6f77872a1 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 11:23:22 +0200 Subject: [PATCH 134/169] c9-auto-bump 3.1.2462 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a6bc375e..b5c556bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2461", + "version": "3.1.2462", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1cfa8ba19be932b16715c7b5f0773d3495a4245e Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 12:26:07 +0200 Subject: [PATCH 135/169] c9-auto-bump 3.1.2463 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5c556bb..c9146c2f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2462", + "version": "3.1.2463", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 35aa1a1bca2d874601141a1557be4bebff70793b Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 12:34:51 +0200 Subject: [PATCH 136/169] c9-auto-bump 3.1.2464 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c9146c2f..81cf1ed8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2463", + "version": "3.1.2464", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From aa53939ac8bc62f45bf57946be71402f86451b66 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 12:39:12 +0200 Subject: [PATCH 137/169] c9-auto-bump 3.1.2465 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 81cf1ed8..ccb4e7bd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2464", + "version": "3.1.2465", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a3eca093ff4944cf17b5b45a47d6aebf98d40d93 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 12:48:55 +0200 Subject: [PATCH 138/169] c9-auto-bump 3.1.2466 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ccb4e7bd..d4dd7d7f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2465", + "version": "3.1.2466", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ed7db577d493fcaadba3cb45c7e0460076f154de Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 13:42:23 +0200 Subject: [PATCH 139/169] c9-auto-bump 3.1.2467 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4dd7d7f..46503fa4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2466", + "version": "3.1.2467", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a2e0ee24bcdd1121bfc6a7c3ce94318bc094fb4e Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Wed, 18 May 2016 08:22:56 -0400 Subject: [PATCH 140/169] Remove expiring on every failed request, add Max expire duration. --- node_modules/c9/ratelimit.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/node_modules/c9/ratelimit.js b/node_modules/c9/ratelimit.js index 0b3cdcd3..48997420 100644 --- a/node_modules/c9/ratelimit.js +++ b/node_modules/c9/ratelimit.js @@ -1,6 +1,8 @@ var error = require("http-error"); var _ = require("lodash"); +var MAX_EXPIRE_INTERVAL = 5000; + /** * In memory rate limiter as connect middleware */ @@ -10,7 +12,7 @@ function ratelimit(key, duration, max) { var requests = Object.create(null); // in case there handles like 'constructor' setInterval(function() { Object.keys(requests).forEach(expireRequests); - }, duration * 0.75); + }, Math.min(duration * 0.75, MAX_EXPIRE_INTERVAL)); function expireRequests(handle) { var requestsForHandle = requests[handle]; @@ -34,11 +36,9 @@ function ratelimit(key, duration, max) { requests[handle] = requests[handle] || []; if (requests[handle].length >= max) { - if (expireRequests(handle) && requests[handle].length >= max) { - var err = new error.TooManyRequests("Rate limit exceeded"); - err.retryIn = Math.min(duration, 5000); - return next(err); - } + var err = new error.TooManyRequests("Rate limit exceeded"); + err.retryIn = Math.min(duration, 5000); + return next(err); } requests[handle].push(Date.now()); From 2fe43a0f4471769a596c0f87fdd697c0b2f617e0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 14:28:57 +0200 Subject: [PATCH 141/169] c9-auto-bump 3.1.2468 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 46503fa4..896f4850 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2467", + "version": "3.1.2468", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c8006ff02039d58f228e014f60ebd51ba70b2aac Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 14:39:47 +0200 Subject: [PATCH 142/169] c9-auto-bump 3.1.2469 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 896f4850..65648b48 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2468", + "version": "3.1.2469", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 639e6e1c11fe152143bf0403f694e24c148f5217 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 15:38:19 +0200 Subject: [PATCH 143/169] c9-auto-bump 3.1.2470 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 65648b48..b00103bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2469", + "version": "3.1.2470", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0138e3e6ff805c9dbbb8fd218114aa9baa87a2ea Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 15:41:56 +0200 Subject: [PATCH 144/169] c9-auto-bump 3.1.2471 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b00103bb..9c09e3e1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2470", + "version": "3.1.2471", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8d4c9682b34ec476eca7c8475c81412088a7e63f Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 15:43:23 +0200 Subject: [PATCH 145/169] c9-auto-bump 3.1.2472 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9c09e3e1..3f05d9de 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2471", + "version": "3.1.2472", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2247c8319873369e7badbc847e35bc69affd685f Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 15:47:49 +0200 Subject: [PATCH 146/169] c9-auto-bump 3.1.2473 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f05d9de..e9595ffc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2472", + "version": "3.1.2473", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2605cc781d5b1d6372c0a34a1db142aac636e457 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 16:02:26 +0200 Subject: [PATCH 147/169] c9-auto-bump 3.1.2474 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e9595ffc..84197b55 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2473", + "version": "3.1.2474", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b70a6ab4752b50f18962b12d01cd6044b84c8316 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 18 May 2016 17:00:09 +0200 Subject: [PATCH 148/169] c9-auto-bump 3.1.2475 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 84197b55..20d3c84f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2474", + "version": "3.1.2475", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 189f0903f9530718c3eae178546b4b3849f5b562 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 19 May 2016 10:15:34 +0200 Subject: [PATCH 149/169] c9-auto-bump 3.1.2476 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 20d3c84f..24b0a6c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2475", + "version": "3.1.2476", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 050af78498fed0982009a76d9f2b01a5cf221d97 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 19 May 2016 13:30:26 +0200 Subject: [PATCH 150/169] c9-auto-bump 3.1.2477 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 24b0a6c1..a45c3875 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2476", + "version": "3.1.2477", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a33a5f8bb8c8514d376794ea3be869df16e5682a Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 19 May 2016 16:35:48 +0200 Subject: [PATCH 151/169] c9-auto-bump 3.1.2478 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a45c3875..1f31d4ab 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2477", + "version": "3.1.2478", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6f80d1d550e39829552e5c388ea550055f6e018f Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 19 May 2016 17:18:28 +0200 Subject: [PATCH 152/169] c9-auto-bump 3.1.2479 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f31d4ab..98ed7da3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2478", + "version": "3.1.2479", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d4fbda237bfa0cbd67b4376f285b9c3b73e0dd8e Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 19 May 2016 23:40:46 +0200 Subject: [PATCH 153/169] c9-auto-bump 3.1.2480 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 98ed7da3..b297ebfb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2479", + "version": "3.1.2480", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 269fa2c32be8b3127f9d1a7683c6b08ff0319e8e Mon Sep 17 00:00:00 2001 From: Justin Dray Date: Fri, 20 May 2016 15:20:43 +1000 Subject: [PATCH 154/169] Update references to support@c9.io to https://c9.io/support --- plugins/c9.error/views/error-401.html.ejs | 2 +- plugins/c9.error/views/error-404.html.ejs | 2 +- plugins/c9.error/views/error-500.html.ejs | 2 +- plugins/c9.error/views/error-503.html.ejs | 2 +- plugins/c9.error/views/error.html.ejs | 2 +- plugins/c9.preview/views/progress.html.ejs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/c9.error/views/error-401.html.ejs b/plugins/c9.error/views/error-401.html.ejs index 41c00594..c2df5328 100644 --- a/plugins/c9.error/views/error-401.html.ejs +++ b/plugins/c9.error/views/error-401.html.ejs @@ -13,7 +13,7 @@

Status Page | - Support | + Support | Dashboard | Home diff --git a/plugins/c9.error/views/error-404.html.ejs b/plugins/c9.error/views/error-404.html.ejs index 71d0152d..50572e49 100644 --- a/plugins/c9.error/views/error-404.html.ejs +++ b/plugins/c9.error/views/error-404.html.ejs @@ -13,7 +13,7 @@

Status Page | - Support | + Support | Dashboard | Home diff --git a/plugins/c9.error/views/error-500.html.ejs b/plugins/c9.error/views/error-500.html.ejs index f833a5e0..f54b5848 100644 --- a/plugins/c9.error/views/error-500.html.ejs +++ b/plugins/c9.error/views/error-500.html.ejs @@ -30,7 +30,7 @@ <% } %> Status Page | - Support | + Support | Dashboard | Home diff --git a/plugins/c9.error/views/error-503.html.ejs b/plugins/c9.error/views/error-503.html.ejs index eb7394ba..6323c2e2 100644 --- a/plugins/c9.error/views/error-503.html.ejs +++ b/plugins/c9.error/views/error-503.html.ejs @@ -29,7 +29,7 @@ <% } %> Status Page | - Support | + Support | Dashboard | Home diff --git a/plugins/c9.error/views/error.html.ejs b/plugins/c9.error/views/error.html.ejs index 54bd1ec9..b686bbec 100644 --- a/plugins/c9.error/views/error.html.ejs +++ b/plugins/c9.error/views/error.html.ejs @@ -27,7 +27,7 @@ <% } %> Status Page | - Support | + Support | Dashboard | Home diff --git a/plugins/c9.preview/views/progress.html.ejs b/plugins/c9.preview/views/progress.html.ejs index 0e0396e9..e6eff21a 100644 --- a/plugins/c9.preview/views/progress.html.ejs +++ b/plugins/c9.preview/views/progress.html.ejs @@ -12,7 +12,7 @@

Status Page | - Support | + Support | Dashboard | Home From 4e43354f2034d71e7bf78717ec4079e75a9ad5ef Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 10:08:42 +0200 Subject: [PATCH 155/169] c9-auto-bump 3.1.2481 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b297ebfb..a67d0d53 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2480", + "version": "3.1.2481", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a6520e1342821a4b69cc8f3d84d7bb08b5943b41 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 10:10:15 +0200 Subject: [PATCH 156/169] c9-auto-bump 3.1.2482 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a67d0d53..9c9eccf1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2481", + "version": "3.1.2482", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 955b2c3e87cabcfe567c8831147766710fa17ba4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 10:44:45 +0200 Subject: [PATCH 157/169] c9-auto-bump 3.1.2483 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9c9eccf1..ce5586a7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2482", + "version": "3.1.2483", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 47995ce7cb5ad2eb45420c230a6fba508d0eba4c Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 11:18:15 +0200 Subject: [PATCH 158/169] c9-auto-bump 3.1.2484 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ce5586a7..23e4df53 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2483", + "version": "3.1.2484", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e8addeccc9ff2a1def5659a231106cdd09adde97 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 12:04:15 +0200 Subject: [PATCH 159/169] c9-auto-bump 3.1.2485 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 23e4df53..4904ff57 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2484", + "version": "3.1.2485", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d88b28b2f9cdaed3cd280dd629f0b642e5169a22 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 12:32:41 +0200 Subject: [PATCH 160/169] c9-auto-bump 3.1.2486 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4904ff57..a967eb86 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2485", + "version": "3.1.2486", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 252d4554d8f3b7dc357b67a2810dd73e66104b41 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 12:44:36 +0200 Subject: [PATCH 161/169] c9-auto-bump 3.1.2487 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a967eb86..6347542a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2486", + "version": "3.1.2487", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 18c6b6d14f4decd2e6e4f13490cbf08940226cef Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 13:55:57 +0200 Subject: [PATCH 162/169] c9-auto-bump 3.1.2488 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6347542a..5a0d9fa8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2487", + "version": "3.1.2488", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f356f449e474e592bb7e1bdd138d7f161f49c72b Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 14:26:49 +0200 Subject: [PATCH 163/169] c9-auto-bump 3.1.2489 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5a0d9fa8..2916835c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2488", + "version": "3.1.2489", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6f7be770484232d0c777631fef587e0887ddcfaf Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 16:25:01 +0200 Subject: [PATCH 164/169] c9-auto-bump 3.1.2490 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2916835c..06b5713e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2489", + "version": "3.1.2490", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2020b548d79d342e4ca71551eba49304a119a93e Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 20 May 2016 22:37:43 +0200 Subject: [PATCH 165/169] c9-auto-bump 3.1.2491 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 06b5713e..39327cce 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2490", + "version": "3.1.2491", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1e232117d47a05f88ac4eeffd650c9c5738750dd Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 23 May 2016 01:06:43 +0200 Subject: [PATCH 166/169] c9-auto-bump 3.1.2492 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 39327cce..a8c7492f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2491", + "version": "3.1.2492", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From de77f5be5bfb435d6c0b1db985022e9766271427 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 23 May 2016 02:52:09 +0200 Subject: [PATCH 167/169] c9-auto-bump 3.1.2493 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a8c7492f..1d20a557 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2492", + "version": "3.1.2493", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From aeacd839e7ffc2a84a9c7cd189536db6b731837e Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 23 May 2016 10:26:58 +0200 Subject: [PATCH 168/169] c9-auto-bump 3.1.2494 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1d20a557..996153f2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2493", + "version": "3.1.2494", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bb1b03efaba42ed1255b7ee331d2fc87599c3734 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 23 May 2016 12:02:14 +0200 Subject: [PATCH 169/169] c9-auto-bump 3.1.2495 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 996153f2..a5d8bdf4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2494", + "version": "3.1.2495", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9",