From 96fc5adb799450bdd62cdf03644b2e786a7316c5 Mon Sep 17 00:00:00 2001 From: Lennart kats Date: Thu, 23 Jun 2016 09:17:47 +0000 Subject: [PATCH 001/281] Remove unused data --- configs/client-default-local.js | 1 - configs/client-default.js | 1 - package.json | 1 - 3 files changed, 3 deletions(-) diff --git a/configs/client-default-local.js b/configs/client-default-local.js index 10fedaa8..f94cf36f 100644 --- a/configs/client-default-local.js +++ b/configs/client-default-local.js @@ -112,7 +112,6 @@ module.exports.makeLocal = function(config, options) { name: options.user.name, fullname: options.user.fullname, email: options.user.email, - pubkey: options.user.pubkey }, project: { id: options.project.id, diff --git a/configs/client-default.js b/configs/client-default.js index a72c3721..7562981e 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -687,7 +687,6 @@ module.exports = function(options) { name: options.user.name, fullname: options.user.fullname, email: options.user.email, - pubkey: options.user.pubkey, date_add: options.user.date_add, active: options.user.active, c9version: options.user.c9version, diff --git a/package.json b/package.json index c96039e8..dd94bb42 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,6 @@ "c9.ide.installer": "#b2e4ba0a92", "c9.ide.language.python": "#9fba572b1a", "c9.ide.language.go": "#6ce1c7a7ef", - "c9.ide.mount": "#b018ee501f", "c9.ide.navigate": "#5d5707058c", "c9.ide.newresource": "#981a408a7b", "c9.ide.openfiles": "#2ae85a9e33", From 182150cee8fa6b39a9b56372cf0200ae7a19f9d3 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 20 May 2016 21:22:34 +0000 Subject: [PATCH 002/281] harden GDB plugin against missing file paths, allow plugin to compute relative path --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 381b01f3..626384b7 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#8ae86ca02f", + "c9.ide.run.debug": "#651451a7c2", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", @@ -97,7 +97,6 @@ "c9.ide.installer": "#b2e4ba0a92", "c9.ide.language.python": "#9fba572b1a", "c9.ide.language.go": "#6ce1c7a7ef", - "c9.ide.mount": "#b018ee501f", "c9.ide.navigate": "#5d5707058c", "c9.ide.newresource": "#981a408a7b", "c9.ide.openfiles": "#2ae85a9e33", From d6fbed59357a2c5608dab12e5c38fc9b44c1c275 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Apr 2016 11:21:25 -0400 Subject: [PATCH 003/281] rename GDB runner to Make and adapt to e more consistent with C simple's gcc-only compilation --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index b5603b71..12977aee 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,6 @@ "c9.ide.installer": "#b2e4ba0a92", "c9.ide.language.python": "#9fba572b1a", "c9.ide.language.go": "#6ce1c7a7ef", - "c9.ide.mount": "#b018ee501f", "c9.ide.navigate": "#5d5707058c", "c9.ide.newresource": "#981a408a7b", "c9.ide.openfiles": "#2ae85a9e33", @@ -109,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#bf68394c6f", + "c9.ide.run": "#ff6c591307", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From 4a7ce1065e46edb3819c329a3a80e5dce29b5031 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Apr 2016 11:25:46 -0400 Subject: [PATCH 004/281] rename runner for consistent capitalization --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 12977aee..1db38c33 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#ff6c591307", + "c9.ide.run": "#72bacac99c", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From 845179c24c5bb35a81811feb3f3d162d3c679171 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Apr 2016 11:35:09 -0400 Subject: [PATCH 005/281] simplify C make runner --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1db38c33..3b7f66c2 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#72bacac99c", + "c9.ide.run": "#035f145275", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From 77e8347b6a794599a86089e8c19a59b0b2116eae Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Tue, 19 Jul 2016 14:43:46 +0000 Subject: [PATCH 006/281] use make in PATH --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3b7f66c2..309ff82a 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#035f145275", + "c9.ide.run": "#1adcc33493", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From 15148ee2b36cfd7a69047ec25bacd0c709302954 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 21 Jul 2016 22:04:53 +0000 Subject: [PATCH 007/281] Collab - fix save race condition --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4464d270..b10bdd10 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#d672a0e080", + "c9.ide.collab": "#fa15ca0e5f", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#4484d6162d", From 1c1341f70986685a2d807557c3093e7b4c6dcf08 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 21 Jul 2016 22:39:55 +0000 Subject: [PATCH 008/281] Add a little more debugging info --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b10bdd10..81654e21 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#fa15ca0e5f", + "c9.ide.collab": "#e316906fc4", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#4484d6162d", From 44fe830a17bb79e21df45d36da431ff7d04b1ab8 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 22 Jul 2016 20:22:27 +0000 Subject: [PATCH 009/281] rearchitect netproxy as shim --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 626384b7..64b466bc 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#651451a7c2", + "c9.ide.run.debug": "#348bb2e2a9", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 5dec366d20fce53197a16e413c783982ac7c8b5e Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Fri, 22 Jul 2016 23:17:36 +0000 Subject: [PATCH 010/281] Add lastUpdate column to documents which stores the last update in milliseconds --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 81654e21..c5a5c731 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#e316906fc4", + "c9.ide.collab": "#7b8de939e4", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#4484d6162d", From 1be1af99e78b28394ebf18147bc032af42133264 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Fri, 22 Jul 2016 23:26:37 +0000 Subject: [PATCH 011/281] Remove redundant updated_at update --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c5a5c731..a5522d7a 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#7b8de939e4", + "c9.ide.collab": "#eb5294d053", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#4484d6162d", From 54cf12b10d5355c3a28be7f445773d69b159182a Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 09:30:19 +0200 Subject: [PATCH 012/281] c9-auto-bump 3.1.2953 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 55290725..90fd0a3a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2952", + "version": "3.1.2953", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f818e489a042d9d8c696bf7580bc448f0d735c18 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 10:57:59 +0200 Subject: [PATCH 013/281] c9-auto-bump 3.1.2954 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 90fd0a3a..0921620b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2953", + "version": "3.1.2954", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 600ef6001e03b6339b490b12b3fc7a5092343621 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 11:28:26 +0200 Subject: [PATCH 014/281] c9-auto-bump 3.1.2955 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0921620b..4894970a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2954", + "version": "3.1.2955", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 345aaac349f6ea6bc4b9df838f1135df057c4925 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 25 Jul 2016 09:30:51 +0000 Subject: [PATCH 015/281] update cs50 --- plugins/c9.ide.watcher/gui.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 011c7b4f..7249cee7 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -209,7 +209,8 @@ define(function(require, exports, module) { } function resolve() { - collab.send({type: "RESOLVE_CONFLICT", data: {docId: path}}); + if (collabEnabled && collab.send) + collab.send({type: "RESOLVE_CONFLICT", data: {docId: path}}); resolveConflict(doc, path); } From 1a3741037755202a7ff92051125bd2e029a7821f Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 14:49:43 +0200 Subject: [PATCH 016/281] c9-auto-bump 3.1.2956 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4894970a..59907e23 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2955", + "version": "3.1.2956", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 88f66499c1da1bbfe2ee3b3cac268ee6b9c7ab38 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 15:53:16 +0200 Subject: [PATCH 017/281] c9-auto-bump 3.1.2957 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 59907e23..b5afbd1c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2956", + "version": "3.1.2957", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 05291c5b22d53678a1b5c00fa99b6d02fe5531f7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 15:53:31 +0200 Subject: [PATCH 018/281] c9-auto-bump 3.1.2958 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5afbd1c..652dd139 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2957", + "version": "3.1.2958", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7f660fc748fea8a0854e001801b9aa082eabd2ec Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 25 Jul 2016 15:52:32 +0000 Subject: [PATCH 019/281] Don't update doc.fsHash when saving to collabDB --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a5522d7a..484d5408 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#eb5294d053", + "c9.ide.collab": "#87b57681a4", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#4484d6162d", From 779fc92460ef45e469fa72b5c81dc7bea9b2684e Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 19:10:49 +0200 Subject: [PATCH 020/281] c9-auto-bump 3.1.2959 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dc8040f6..ecfb58a9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2958", + "version": "3.1.2959", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ef51842a6db556c28e5c26ec1f64ae2a8017b98b Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 25 Jul 2016 19:28:08 +0000 Subject: [PATCH 021/281] fix arm --- integrations/scripts/update.sh | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/integrations/scripts/update.sh b/integrations/scripts/update.sh index 4ad703e3..61b2b812 100755 --- a/integrations/scripts/update.sh +++ b/integrations/scripts/update.sh @@ -2,13 +2,34 @@ set -e cd `dirname $0`/.. +# set -x NAME=$1 -URL=$2 +shift +BRANCH= +URL= +for i in "$@"; do + case $i in + -b=*|--branch=*) + BRANCH="${i#*=}" + shift + ;; + -u=*|--url=*) + URL="${i#*=}" + shift + ;; + *) + # unknown option + ;; + esac +done + if [ "$NAME" == "" ]; then - echo "add name [url]" + echo "add name [--url=git@github.com:c9/NAME.git] [--branch=master]" exit 0 fi +echo adding name=$NAME url=$URL branch=refs/remotes/origin/$BRANCH + if [ "$URL" == "" ]; then URL=git@github.com:c9/$NAME.git fi @@ -28,7 +49,7 @@ else fi pushd $NAME -HASH=$(git rev-parse --revs-only refs/remotes/origin/master) +HASH=$(git rev-parse --revs-only refs/remotes/origin/$BRANCH) popd [ -f ./config.json ] || echo "{}" > ./config.json From 420e9c18637d1c9f891c32646567a9ff31a6d82a Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 21:31:50 +0200 Subject: [PATCH 022/281] c9-auto-bump 3.1.2960 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ecfb58a9..d5ea4706 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2959", + "version": "3.1.2960", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3546271af3904f173715ea2f542750e166a97868 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 25 Jul 2016 21:56:41 +0200 Subject: [PATCH 023/281] c9-auto-bump 3.1.2961 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5ea4706..fd080c5b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2960", + "version": "3.1.2961", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7dd27b61586ba68ce86fb6b35ba3216818b024da Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 26 Jul 2016 02:05:28 +0200 Subject: [PATCH 024/281] c9-auto-bump 3.1.2962 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fd080c5b..cc91dd8f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2961", + "version": "3.1.2962", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 83863c157376846a31c07a112d26a968918842ff Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 26 Jul 2016 09:36:38 +0200 Subject: [PATCH 025/281] c9-auto-bump 3.1.2963 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cc91dd8f..a3d3cc12 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2962", + "version": "3.1.2963", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 317a915a912f169f2d149af0d863cb358a9332f9 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Wed, 27 Jul 2016 06:19:20 +0000 Subject: [PATCH 026/281] Add basis for terminal-only config --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index f3984d50..2be96456 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,6 @@ "c9.ide.installer": "#b2e4ba0a92", "c9.ide.language.python": "#15e7ff9a3f", "c9.ide.language.go": "#6ce1c7a7ef", - "c9.ide.mount": "#3001a633f2", "c9.ide.navigate": "#5d5707058c", "c9.ide.newresource": "#981a408a7b", "c9.ide.openfiles": "#2ae85a9e33", From 40adad30bc3e45fe87a4f322256b380cc8fab5f3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 27 Jul 2016 09:27:31 +0200 Subject: [PATCH 027/281] c9-auto-bump 3.1.2964 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a3d3cc12..850fa3c2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2963", + "version": "3.1.2964", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 058320dddbca21133b69c3397fd30420a848305e Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Wed, 27 Jul 2016 08:35:05 +0000 Subject: [PATCH 028/281] Add terminal to sdk --- configs/client-default-terminal.js | 45 ++++++++++++++++++++++++++++++ configs/terminal.js | 11 ++++++++ 2 files changed, 56 insertions(+) create mode 100644 configs/client-default-terminal.js create mode 100644 configs/terminal.js diff --git a/configs/client-default-terminal.js b/configs/client-default-terminal.js new file mode 100644 index 00000000..8621f32d --- /dev/null +++ b/configs/client-default-terminal.js @@ -0,0 +1,45 @@ +"use strict"; + +module.exports = function(options) { + var plugins = require("./client-default")(options); + + // TODO: cleanup unneeded plugins? + var includes = []; + var excludes = {}; + + plugins.forEach(function(p) { + if (p.packagePath && p.packagePath.indexOf("c9.core/settings") >= 0) { + p.settings = "defaults"; + p.template = { + user: {}, + project: {}, + state: { + console: { + "@maximized": true, + type: "pane", + nodes: [] + } + } + }; + } + else if (p.packagePath == "plugins/c9.ide.console/console") { + p.defaultState = { + type: "pane", + nodes: [{ + type: "tab", + editorType: "terminal", + active: "true" + }] + }; + } + }); + + plugins = plugins + .concat(includes) + .filter(function (p) { + return !excludes[p] && !excludes[p.packagePath]; + }); + + return plugins; +}; + diff --git a/configs/terminal.js b/configs/terminal.js new file mode 100644 index 00000000..9bc98d15 --- /dev/null +++ b/configs/terminal.js @@ -0,0 +1,11 @@ +module.exports = function(options, optimist) { + var config = require("./standalone")(options, optimist); + + // TODO: cleanup unneeded plugins? + + options.client_config = "default-terminal"; + + return config; +}; + +if (!module.parent) require("../server")([__filename].concat(process.argv.slice(2))); From 75c509c76646124d2fcd8b9995c7fec979fd0a1a Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 27 Jul 2016 10:45:55 +0200 Subject: [PATCH 029/281] c9-auto-bump 3.1.2965 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 850fa3c2..446ddd4a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2964", + "version": "3.1.2965", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 91427a9a7c8522159534222b3be4aaac0b8951ba Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Wed, 27 Jul 2016 15:17:01 +0000 Subject: [PATCH 030/281] improved handling of gdbserver errors on load --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64b466bc..bf1380c2 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#348bb2e2a9", + "c9.ide.run.debug": "#2b0bdbb40e", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 8a1d2ba8303bbde4a9896c7ff69194dcfa4ba072 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Wed, 27 Jul 2016 21:33:11 +0000 Subject: [PATCH 031/281] support direct communication to shim via socket --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bf1380c2..d3d33ded 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#2b0bdbb40e", + "c9.ide.run.debug": "#62603a00e5", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From a32e35ac419bfcd1d36d280d9a7ad462c0f46c09 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Wed, 27 Jul 2016 21:42:50 +0000 Subject: [PATCH 032/281] socket support direct connection via socket, retrying until connected --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 626384b7..94d9212f 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#651451a7c2", + "c9.ide.run.debug": "#ef05a09fab", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From a43f12336af597134dd6a7fb203c546be3550639 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 01:09:31 +0000 Subject: [PATCH 033/281] add support for receiving more signals than just SIGSEGV --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d3d33ded..788b8461 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#62603a00e5", + "c9.ide.run.debug": "#704c0a33a3", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 9963cb236baadb016b687923546dbdc01320f8fd Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 01:38:33 +0000 Subject: [PATCH 034/281] provide signal value to exception error --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 788b8461..efd87e72 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#704c0a33a3", + "c9.ide.run.debug": "#280eb8e318", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 528c0e0097842917e40c18071814d59df19c1586 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 01:40:42 +0000 Subject: [PATCH 035/281] properly select top frame in callstack from debugger --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 626384b7..b5a06b11 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#651451a7c2", + "c9.ide.run.debug": "#59ab9ec4cf", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 517976d388b4b28019028cb8d165086560e1236f Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 03:55:59 +0000 Subject: [PATCH 036/281] allow sigint to pause execution --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index efd87e72..d791be48 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#280eb8e318", + "c9.ide.run.debug": "#7866fae232", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From b52ffe7e6ea89488dc20fdc0871ca084472318e7 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 03:57:48 +0000 Subject: [PATCH 037/281] catch unlink errors --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d791be48..6aa4aa0a 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#7866fae232", + "c9.ide.run.debug": "#affef2cd55", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From a12db9feae1e19e0e40ed68a7690bec53c676ede Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 03:58:52 +0000 Subject: [PATCH 038/281] detach gdbserver spawn process, pipe stdin, and better sigint handling --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6aa4aa0a..c0b44341 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#affef2cd55", + "c9.ide.run.debug": "#6dda14d4d3", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 7494ee0034bf8adcd05d444a71932f6d83ae81d3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 28 Jul 2016 14:42:26 +0200 Subject: [PATCH 039/281] c9-auto-bump 3.1.2966 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 446ddd4a..d1825763 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2965", + "version": "3.1.2966", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b598ab652a7e4a2852790c09e469c394ea99598f Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 13:29:06 +0000 Subject: [PATCH 040/281] improve paths --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c0b44341..810479d8 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#6dda14d4d3", + "c9.ide.run.debug": "#1c0e45019c", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From fcca0d306672da85b7b789cebc49800b0d25dba3 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 13:29:40 +0000 Subject: [PATCH 041/281] further generalize signal handling --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 810479d8..c4f32e9c 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#1c0e45019c", + "c9.ide.run.debug": "#abb4d540d7", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 957946b0d122ee44a4d4bab7c905628901c51239 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 13:34:36 +0000 Subject: [PATCH 042/281] improved signal error message grammar --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c4f32e9c..7829f976 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#abb4d540d7", + "c9.ide.run.debug": "#335a379e41", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From f0e970a8e8e56ea4e9c7c02854ed50eeef817ef5 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 14:09:52 +0000 Subject: [PATCH 043/281] improve comments --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7829f976..7889c270 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#335a379e41", + "c9.ide.run.debug": "#b077644100", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 4db0d9b5d7a35f94c768280cc5f3eb1f34cf515d Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 28 Jul 2016 17:12:39 +0200 Subject: [PATCH 044/281] c9-auto-bump 3.1.2967 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d1825763..57818711 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2966", + "version": "3.1.2967", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5a92057a8194eec066ffe3374fc519ebef9f4085 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 28 Jul 2016 17:50:42 +0200 Subject: [PATCH 045/281] c9-auto-bump 3.1.2968 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 57818711..83718669 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2967", + "version": "3.1.2968", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 46523fe4a91fcfe67673dad2182993d397cd2d1b Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 28 Jul 2016 22:03:12 +0000 Subject: [PATCH 046/281] add stale binary warning and flag to disable --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7889c270..c7ee8ed2 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#b077644100", + "c9.ide.run.debug": "#7933eda6be", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 170f1d49960de2aa2176af8df1acbd34aa02648a Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Jul 2016 00:39:32 +0000 Subject: [PATCH 047/281] update C runners to use GDB shim --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 309ff82a..1200d6fc 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#1adcc33493", + "c9.ide.run": "#077ab7abcc", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From c4166526343a904da1d0b12d081f119822ac32e4 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Jul 2016 12:58:22 +0000 Subject: [PATCH 048/281] add socket path, retry count and interval to GDB runners --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1200d6fc..10154f80 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#077ab7abcc", + "c9.ide.run": "#93a05ef625", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From aff09b3afbdfe4bc36e20abb2d4326f9333b3ea4 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Jul 2016 13:00:52 +0000 Subject: [PATCH 049/281] allow runner to specify socketpath, retry count and interval --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c7ee8ed2..08fdf565 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#7933eda6be", + "c9.ide.run.debug": "#49ae97808f", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From f061033af74ba0c518051af490660bf408ba92fc Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Fri, 29 Jul 2016 17:37:48 +0000 Subject: [PATCH 050/281] ctrl-c pauses execution if running, quits on pause --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 08fdf565..28565c97 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#49ae97808f", + "c9.ide.run.debug": "#25eb37603e", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From f9353d7e1b3403e425585ece919a86d16477f1d5 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 30 Jul 2016 03:03:32 +0400 Subject: [PATCH 051/281] add warning about vimium breaking cloud9 keyboard shortcuts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83718669..6fad2002 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", - "c9.ide.ace.keymaps": "#334a65192f", + "c9.ide.ace.keymaps": "#15e7d23a2a", "c9.ide.ace.repl": "#4b88a85b7b", "c9.ide.ace.split": "#0ae0151c78", "c9.ide.ace.statusbar": "#3aab0b67e0", From 0a5b33e0e2ecb9a53f91d191bed3837b6bb82315 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 31 Jul 2016 01:23:21 +0000 Subject: [PATCH 052/281] gdb evaluate make more robust against null frames --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 28565c97..c3a5a1ad 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#25eb37603e", + "c9.ide.run.debug": "#748c9fb434", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 37014cfff633089a0dadec8c7f27acc6423f6dcb Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 31 Jul 2016 01:26:02 +0000 Subject: [PATCH 053/281] gdbproxyservice make robust against unexpected socket disappearance --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c3a5a1ad..fdd621b9 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#748c9fb434", + "c9.ide.run.debug": "#72a184fcfd", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From dc1106226e2219b71759aefbd690ce486478a1c1 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 31 Jul 2016 16:09:34 +0000 Subject: [PATCH 054/281] gdb shim dump queued stderr if gdbserver exits prematurely --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fdd621b9..fdffe4be 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#72a184fcfd", + "c9.ide.run.debug": "#b119449eea", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From e9e00ddd77cdaa69593765d6c39a3d83c954760a Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Sun, 31 Jul 2016 17:35:32 +0000 Subject: [PATCH 055/281] gdb shim pass along abnormal exit codes or signals from children to user --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fdffe4be..f764f11f 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#b119449eea", + "c9.ide.run.debug": "#c38a8fd8dc", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 50003ad04650f5242dad902fad7637dc6f2b6757 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 1 Aug 2016 12:12:55 +0200 Subject: [PATCH 056/281] c9-auto-bump 3.1.2969 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83718669..8ac20db2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2968", + "version": "3.1.2969", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 810f3b70921a5847e64569fa2c53bb15a172c382 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 1 Aug 2016 14:29:13 +0200 Subject: [PATCH 057/281] c9-auto-bump 3.1.2970 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8ac20db2..be3604f3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2969", + "version": "3.1.2970", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c1719c5bb3f482de6d01cd970e723979ca6716d8 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Mon, 1 Aug 2016 20:04:57 +0000 Subject: [PATCH 058/281] remove unnecessary executable property --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 10154f80..1a175b80 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#93a05ef625", + "c9.ide.run": "#f4ccb6871a", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From a45e98ff6aaab20dfcc5a303766bf27a344feb42 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 1 Aug 2016 19:37:06 +0000 Subject: [PATCH 059/281] update cs50 --- integrations/scripts/update.sh | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/integrations/scripts/update.sh b/integrations/scripts/update.sh index 61b2b812..75736b92 100755 --- a/integrations/scripts/update.sh +++ b/integrations/scripts/update.sh @@ -5,7 +5,7 @@ cd `dirname $0`/.. # set -x NAME=$1 shift -BRANCH= +BRANCH=master URL= for i in "$@"; do case $i in @@ -56,7 +56,7 @@ popd node -e ' var name = "'$NAME'"; var url = "'$URL'"; - var hash = "'$HASH'" + var hash = "'$HASH'".trim(); var fs = require("fs"); function updateJSON(path, fn) { @@ -81,13 +81,13 @@ node -e ' updateJSON("../package.json", function(package) { var deps = package.dependencies; console.log(deps[name], hash) - deps[name] = deps[name].replace(/#[a-f\d]+$/i, "#" + hash) + deps[name] = deps[name].replace(/#[a-f\d]*$/i, "#" + hash) console.log(deps[name], hash) }); updateJSON("../npm-shrinkwrap.json", function(package) { var deps = package.dependencies; - deps[name].from = deps[name].from.replace(/#[a-f\d]+$/i, "#" + hash); - deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]+$/i, "#" + hash); + deps[name].from = deps[name].from.replace(/#[a-f\d]*$/i, "#" + hash); + deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]*$/i, "#" + hash); }); ' diff --git a/package.json b/package.json index be3604f3..1a4896b7 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "connect": "~2.12.0", "debug": "~0.7.4", "ejs": "~1.0.0", - "emmet": "git://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", + "emmet": "https://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", "engine.io": "1.6.9", "engine.io-client": "1.6.9", "jsonm": "1.0.6", From 6e420a0bc8b0e6c7ccf2bef8836b6d8e2b1d8765 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 2 Aug 2016 10:14:59 +0200 Subject: [PATCH 060/281] c9-auto-bump 3.1.2971 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1a4896b7..9db8831e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2970", + "version": "3.1.2971", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 121b1ddc31e8e22d3ec02a9b997deb30ad5c7a98 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 2 Aug 2016 12:41:39 +0200 Subject: [PATCH 061/281] c9-auto-bump 3.1.2972 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9db8831e..8f577d5d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2971", + "version": "3.1.2972", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2cbf429e2e39098256bd2e769b07be1eaa910c87 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 2 Aug 2016 16:11:45 +0200 Subject: [PATCH 062/281] c9-auto-bump 3.1.2973 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8f577d5d..9c02abd6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2972", + "version": "3.1.2973", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 88c553349f442685a70d346a7403de60d92f7335 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 2 Aug 2016 17:26:12 +0200 Subject: [PATCH 063/281] c9-auto-bump 3.1.2974 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9c02abd6..fc0e184f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2973", + "version": "3.1.2974", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3c2ad8bfd0f89232a779d9ee748c5aefbf55ae71 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 2 Aug 2016 20:56:45 +0200 Subject: [PATCH 064/281] c9-auto-bump 3.1.2975 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fc0e184f..8dbfe38b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2974", + "version": "3.1.2975", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4985f029e137ee77a1b76b851489ed26ee3ddec6 Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Wed, 3 Aug 2016 00:44:13 +0000 Subject: [PATCH 065/281] remove unnecessary socketfile unlink --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f764f11f..508bc682 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#c38a8fd8dc", + "c9.ide.run.debug": "#89b26d32ed", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 762b5eb217d69e1de044aa3b8203ce3a6e23e266 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 3 Aug 2016 11:40:44 +0200 Subject: [PATCH 066/281] c9-auto-bump 3.1.2976 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8dbfe38b..db5e1883 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2975", + "version": "3.1.2976", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 593aec14ac94ab8a1a69b4eb7514f4213ad2b3c7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 3 Aug 2016 12:10:17 +0200 Subject: [PATCH 067/281] c9-auto-bump 3.1.2977 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index db5e1883..c767b5c2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2976", + "version": "3.1.2977", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e38f6fe3321a5a41be47915bb1df1cc8c573be5d Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 3 Aug 2016 14:33:49 +0200 Subject: [PATCH 068/281] c9-auto-bump 3.1.2978 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c767b5c2..f9a2941a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2977", + "version": "3.1.2978", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1b2e83122a3888cc3dfa32b01c59e7468ae739d3 Mon Sep 17 00:00:00 2001 From: Dana Date: Wed, 3 Aug 2016 12:55:18 +0000 Subject: [PATCH 069/281] Cherry pick from PR +14340 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c767b5c2..d1825763 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2977", + "version": "3.1.2966", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", @@ -16,7 +16,7 @@ "connect": "~2.12.0", "debug": "~0.7.4", "ejs": "~1.0.0", - "emmet": "https://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", + "emmet": "git://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", "engine.io": "1.6.9", "engine.io-client": "1.6.9", "jsonm": "1.0.6", From 3416f62557d25b416d2490df1afa0295abb8b007 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 3 Aug 2016 17:26:13 +0200 Subject: [PATCH 070/281] c9-auto-bump 3.1.2979 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f9a2941a..53c123c6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2978", + "version": "3.1.2979", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b2b9b1edf37f681b4b4c8dc192d256420d62e54e Mon Sep 17 00:00:00 2001 From: Dan Armendariz Date: Thu, 4 Aug 2016 03:11:41 +0000 Subject: [PATCH 071/281] allow optional callback function for cancel button in checkAttached --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 626384b7..45341bb3 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#a2dfc3e306", "c9.ide.find.infiles": "#488db22ee1", "c9.ide.find.replace": "#47a84af707", - "c9.ide.run.debug": "#651451a7c2", + "c9.ide.run.debug": "#fea509d749", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 61a29fc0daa3ec04147ecc674f3f5cd3b2271d62 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 4 Aug 2016 09:55:47 +0200 Subject: [PATCH 072/281] c9-auto-bump 3.1.2980 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 53c123c6..090da29f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2979", + "version": "3.1.2980", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 81494a04cbf3466bcba7401c12d06d826fa05577 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 4 Aug 2016 12:52:22 +0200 Subject: [PATCH 073/281] c9-auto-bump 3.1.2981 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bc52680b..b3e97c69 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2980", + "version": "3.1.2981", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c4aaea353d43ee2910d81e63800d3b618573f6c1 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 4 Aug 2016 13:01:29 +0200 Subject: [PATCH 074/281] c9-auto-bump 3.1.2982 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b3e97c69..7ea6103b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2981", + "version": "3.1.2982", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a6985b8e794fad19aafd42aa854caa843395d2e6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 4 Aug 2016 13:49:49 +0200 Subject: [PATCH 075/281] c9-auto-bump 3.1.2983 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7ea6103b..135ee8ab 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2982", + "version": "3.1.2983", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0ddb2d5993d138299eb826d1d594cc2fb2b48e37 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 4 Aug 2016 18:56:26 +0200 Subject: [PATCH 076/281] c9-auto-bump 3.1.2984 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 135ee8ab..ed7011b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2983", + "version": "3.1.2984", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 42439dca61e9e28f07a33e68eafca17a45a016f5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 5 Aug 2016 13:34:30 +0200 Subject: [PATCH 077/281] c9-auto-bump 3.1.2985 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ed7011b7..c3660140 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2984", + "version": "3.1.2985", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1ef3045919f2c9c5a4ec7ed5c48d2f0db31ec0db Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 5 Aug 2016 14:32:41 +0200 Subject: [PATCH 078/281] c9-auto-bump 3.1.2986 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c3660140..e55a3a83 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2985", + "version": "3.1.2986", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8737e95d3bc7d56bf6397b70cc41489cff94c57c Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 5 Aug 2016 15:52:44 +0200 Subject: [PATCH 079/281] c9-auto-bump 3.1.2987 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e55a3a83..163a49b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2986", + "version": "3.1.2987", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 23e05eb6b1284ff53166e0204c4052a2f7625377 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 5 Aug 2016 21:31:50 +0200 Subject: [PATCH 080/281] c9-auto-bump 3.1.2988 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 163a49b7..f22267dd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2987", + "version": "3.1.2988", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a5f9d09ca27850267e1b9fc935535798f0d240f1 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 5 Aug 2016 22:12:47 +0200 Subject: [PATCH 081/281] c9-auto-bump 3.1.2989 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f22267dd..249e2d7e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2988", + "version": "3.1.2989", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a726c0e97af9fa2f22859221f1b5c8c49ea9ed78 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 8 Aug 2016 11:13:20 +0200 Subject: [PATCH 082/281] c9-auto-bump 3.1.2990 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 249e2d7e..77ddd95a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2989", + "version": "3.1.2990", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 04b172fbe8e07769a135ef954f40861c56fea7ee Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 8 Aug 2016 13:43:50 +0200 Subject: [PATCH 083/281] c9-auto-bump 3.1.2991 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77ddd95a..db270bb5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2990", + "version": "3.1.2991", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From be47ad378586b0a804aec140f5d6dafe48423257 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 9 Aug 2016 13:54:16 +0200 Subject: [PATCH 084/281] c9-auto-bump 3.1.2992 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index db270bb5..d08b1392 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2991", + "version": "3.1.2992", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 117ece00ef9aaa7168bce1b5cd5de5aca5ec7502 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 4 Aug 2016 03:28:06 +0400 Subject: [PATCH 085/281] add showLineNumbers option --- package.json | 2 +- plugins/c9.ide.ace/ace.js | 100 +++++++++++++++++++++++++++++++------- 2 files changed, 83 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index d08b1392..ced15b4c 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#4e0a272229", - "c9.ide.collab": "#d149eae786", + "c9.ide.collab": "#39fc27d13f", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index 98172b82..f68ee410 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -241,32 +241,33 @@ define(function(require, exports, module) { ["newLineMode", "unix", STRING, "newlinemode", 1], // Per document ["tabSize", "4", NUMBER, "tabsize", 1], - ["useSoftTabs", "true", BOOL, "softtabs", 1], - ["guessTabSize", "true", BOOL, "guesstabsize", 1], - ["useWrapMode", "false", BOOL, "wrapmode"], - ["wrapToView", "true", BOOL, "wrapmodeViewport"], + ["useSoftTabs", true, BOOL, "softtabs", 1], + ["guessTabSize", true, BOOL, "guesstabsize", 1], + ["useWrapMode", false, BOOL, "wrapmode"], + ["wrapToView", true, BOOL, "wrapmodeViewport"], // Ace ["fontSize", "12", NUMBER, "fontsize"], ["fontFamily", font, STRING, "fontfamily"], - ["antialiasedfonts", "false", BOOL], - ["overwrite", "false", BOOL, "overwrite"], + ["antialiasedfonts", false, BOOL], + ["overwrite", false, BOOL, "overwrite"], ["selectionStyle", "line", STRING, "selectstyle"], ["cursorStyle", "ace", STRING, "cursorstyle"], - ["highlightActiveLine", "true", BOOL, "activeline"], - ["highlightGutterLine", "true", BOOL, "gutterline"], - ["showInvisibles", "false", BOOL, "showinvisibles"], - ["showPrintMargin", "true", BOOL, "showprintmargin"], - ["displayIndentGuides", "true", BOOL, "showindentguides"], + ["highlightActiveLine", true, BOOL, "activeline"], + ["highlightGutterLine", true, BOOL, "gutterline"], + ["showInvisibles", false, BOOL, "showinvisibles"], + ["showPrintMargin", true, BOOL, "showprintmargin"], + ["displayIndentGuides", true, BOOL, "showindentguides"], ["printMarginColumn", "80", NUMBER, "printmargincolumn"], - ["behavioursEnabled", "true", BOOL, "behaviors"], - ["wrapBehavioursEnabled", "false", BOOL, "wrapbehaviors"], + ["behavioursEnabled", true, BOOL, "behaviors"], + ["wrapBehavioursEnabled", false, BOOL, "wrapbehaviors"], ["scrollSpeed", "2", NUMBER, "scrollspeed"], - ["showGutter", "true", BOOL, "gutter"], - ["showFoldWidgets", "true", BOOL, "folding"], - ["fadeFoldWidgets", "true", BOOL, "fadefoldwidgets"], - ["highlightSelectedWord", "true", BOOL, "highlightselectedword"], - ["animatedScroll", "true", BOOL, "animatedscroll"], + ["showGutter", true, BOOL, "gutter"], + ["showLineNumbers", true, STRING], + ["showFoldWidgets", true, BOOL, "folding"], + ["fadeFoldWidgets", true, BOOL, "fadefoldwidgets"], + ["highlightSelectedWord", true, BOOL, "highlightselectedword"], + ["animatedScroll", true, BOOL, "animatedscroll"], ["scrollPastEnd", "0.5", NUMBER], ["mergeUndoDeltas", "off", STRING], ["theme", defaultThemes[skin], STRING, "theme"] @@ -825,6 +826,17 @@ define(function(require, exports, module) { position: 6000, path: "user/ace/@showGutter" }, + "Show Line Numbers" : { + type: "dropdown", + width: 150, + path: "user/ace/@showLineNumbers", + items: [ + { caption : "Normal", value : true }, + { caption : "Relative", value : "relative" }, + { caption : "None", value : false } + ], + position: 6250 + }, "Show Indent Guides" : { type: "checkbox", position: 6500, @@ -1531,6 +1543,41 @@ define(function(require, exports, module) { return s; } + /***** Gutter Renderers *****/ + + var relativeNumbers = { + getText: function(session, row) { + return (Math.abs(session.selection.lead.row - row) || (row + 1 + (row < 9 ? "\xb7" : ""))) + ""; + }, + getWidth: function(session, lastLineNumber, config) { + return session.getLength().toString().length * config.characterWidth; + }, + update: function(e, editor) { + editor.renderer.$loop.schedule(editor.renderer.CHANGE_GUTTER); + }, + attach: function(editor) { + editor.renderer.$gutterLayer.$renderer = this; + editor.on("changeSelection", this.update); + }, + detach: function(editor) { + editor.renderer.$gutterLayer.$renderer = null; + editor.off("changeSelection", this.update); + } + }; + + var noNumbers = { + getText: function(session, row) { + return ""; + }, + getWidth: function(session, lastLineNumber, config) { + return ""; + }, + attach: function(editor) { + }, + detach: function(editor) { + }, + }; + /** * The ace handle, responsible for events that involve all ace * instances. This is the object you get when you request the ace @@ -2148,6 +2195,23 @@ define(function(require, exports, module) { if (session) session.$guessTabSize = false; break; + case "showLineNumbers": + var renderer = ace.renderer; + var gutterRenderer = renderer.$gutterLayer.$renderer; + if (gutterRenderer && gutterRenderer.detach) + gutterRenderer.detach(ace); + if (value == "relative") + gutterRenderer = relativeNumbers; + else if (value) + gutterRenderer = null; + else + gutterRenderer = noNumbers; + + renderer.$gutterLayer.$renderer = gutterRenderer; + if (gutterRenderer && gutterRenderer.attach) + gutterRenderer.attach(ace); + renderer.$loop.schedule(renderer.CHANGE_GUTTER); + return; } if (session && docLut[name]) // this can be called for session different than current ace session From 944784876fe49c2aeaedd6063d595fb156e0055e Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 9 Aug 2016 16:38:17 +0200 Subject: [PATCH 086/281] c9-auto-bump 3.1.2993 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d08b1392..a82c309b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2992", + "version": "3.1.2993", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6109e406d69feb6dfc100c52c7605ac07eb0b8f6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 9 Aug 2016 17:18:53 +0200 Subject: [PATCH 087/281] c9-auto-bump 3.1.2994 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a82c309b..f5666733 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2993", + "version": "3.1.2994", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ac5b4d490fafe13359697090df7bd7255edad58c Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 9 Aug 2016 20:03:13 +0400 Subject: [PATCH 088/281] add gutter options to the context menu --- plugins/c9.ide.ace/ace.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index f68ee410..967538f8 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -590,7 +590,32 @@ define(function(require, exports, module) { ] }, handle); - mnuGutter = new Menu({ id: "menuGutter" }, handle); + mnuGutter = new Menu({ + id: "menuGutter", + items: [ + new Divider({ position: 1000 }, handle), + new MenuItem({ + position: 1000, + caption: "Gutter Options", + submenu: new Menu({ + items: [ + new MenuItem({ + position: 10, + caption: "Show Line Number", + type: "check", + checked: "user/ace/@showLineNumbers" + }, handle), + new MenuItem({ + position: 10, + caption: "Show Fold Widgets", + type: "check", + checked: "user/ace/@showFoldWidgets" + }, handle), + ] + }) + }, handle), + ] + }, handle); mnuGutter.on("show", function(e) { var ace = tabs.focussedTab.editor.ace; var region = ace.renderer.$gutterLayer.getRegion(e); From 1f3d3af3e21cec2eaacf922b64539da677c48b1a Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 9 Aug 2016 20:04:06 +0400 Subject: [PATCH 089/281] handle tab renames in language worker --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ced15b4c..c887a54d 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "c9" ], "c9plugins": { - "c9.ide.language": "#0426ee345b", + "c9.ide.language": "#f55c832376", "c9.ide.language.core": "#bfb5dd2acc", "c9.ide.language.css": "#46ad561506", "c9.ide.language.generic": "#b47cbe58f9", From ddd229c32b9d028ced6de29911cc061b4ab1ad1a Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 9 Aug 2016 19:42:06 +0200 Subject: [PATCH 090/281] c9-auto-bump 3.1.2995 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f5666733..e4c3caac 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2994", + "version": "3.1.2995", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7befdb9983ec2b863d7354b34ffac7ddba8012cc Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 2 Aug 2016 20:18:40 +0000 Subject: [PATCH 091/281] remove hardcoded home dir --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 87bc649c..48331b22 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", "c9.ide.find.replace": "#8468067976", - "c9.ide.run.debug": "#71c1bbcae4", + "c9.ide.run.debug": "#6c94a33408", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#f4ccb6871a", + "c9.ide.run": "#7437f5a9fe", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From b2b1d94cbef5072a7aff270b65f676aba1176850 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 9 Aug 2016 21:14:25 +0200 Subject: [PATCH 092/281] c9-auto-bump 3.1.2996 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e4c3caac..7ccabb9b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2995", + "version": "3.1.2996", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1a999f47694f387a4f1d72196c972ceb4bdb467b Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 10 Aug 2016 14:33:29 +0400 Subject: [PATCH 093/281] remove extra padding when line numbers are hidden --- plugins/c9.ide.ace/ace.js | 4 ++-- plugins/c9.ide.ace/style.less | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index 967538f8..3f896011 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -601,7 +601,7 @@ define(function(require, exports, module) { items: [ new MenuItem({ position: 10, - caption: "Show Line Number", + caption: "Show Line Numbers", type: "check", checked: "user/ace/@showLineNumbers" }, handle), @@ -2231,7 +2231,7 @@ define(function(require, exports, module) { gutterRenderer = null; else gutterRenderer = noNumbers; - + dom.setCssClass(renderer.$gutter, "ace_gutter-compact", !value); renderer.$gutterLayer.$renderer = gutterRenderer; if (gutterRenderer && gutterRenderer.attach) gutterRenderer.attach(ace); diff --git a/plugins/c9.ide.ace/style.less b/plugins/c9.ide.ace/style.less index 8d263c67..bd5e1d3c 100644 --- a/plugins/c9.ide.ace/style.less +++ b/plugins/c9.ide.ace/style.less @@ -26,6 +26,15 @@ z-index : -1; } +.ace_gutter-compact:not(.ace_folding-enabled) > .ace_gutter-layer > .ace_gutter-cell { + padding-left: 15px!important; + padding-right: 5px!important; +} +.ace_gutter-compact.ace_folding-enabled > .ace_gutter-layer > .ace_gutter-cell { + padding-left: 16px!important; + padding-right: 12px!important; +} + .dark .ace_gutter .ace_gutter_active_line { background-color: rgba(255, 255, 255, 0.07); } From be575f5fa0c3ebcb5f6c7a3100a4a8b1beed5f4c Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 00:21:51 +0200 Subject: [PATCH 094/281] c9-auto-bump 3.1.2997 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7ccabb9b..094d5405 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2996", + "version": "3.1.2997", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ff3a36648544315a37e5a0129817fb01cf34b4da Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 00:25:22 +0200 Subject: [PATCH 095/281] c9-auto-bump 3.1.2998 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 094d5405..ca0ecd2e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2997", + "version": "3.1.2998", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 44a56f610764c54d47754b2072808b771299a280 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 09:52:57 +0200 Subject: [PATCH 096/281] c9-auto-bump 3.1.2999 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca0ecd2e..f5780c70 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2998", + "version": "3.1.2999", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 642396db5181417feab1c0f1315050227b7b5517 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 09:53:24 +0200 Subject: [PATCH 097/281] c9-auto-bump 3.1.3000 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index be88d3fe..38acc105 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.2999", + "version": "3.1.3000", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2f9f44bb76376ecba40bee1462b8df05a9b3df07 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 09:53:40 +0200 Subject: [PATCH 098/281] c9-auto-bump 3.1.3001 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3d376311..5ef5f929 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3000", + "version": "3.1.3001", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bdef684281f5491bb41be74b674c2b06e85920ce Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 11:25:40 +0200 Subject: [PATCH 099/281] c9-auto-bump 3.1.3002 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5ef5f929..58692f3a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3001", + "version": "3.1.3002", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ab014f2b239dadf1fd76b48fa6814bd5e425e2f3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 11:27:33 +0200 Subject: [PATCH 100/281] c9-auto-bump 3.1.3003 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 58692f3a..f08e761a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3002", + "version": "3.1.3003", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9b6a9df86f700936f3cdec659a6ac33281f895e1 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 12:51:06 +0200 Subject: [PATCH 101/281] c9-auto-bump 3.1.3004 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f08e761a..6b6173a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3003", + "version": "3.1.3004", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cb492ddf1980e3771cdee0b6abcdaa66ddd821bc Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 13:35:34 +0200 Subject: [PATCH 102/281] c9-auto-bump 3.1.3005 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6b6173a4..d2cb0ac9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3004", + "version": "3.1.3005", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From dcb725edcac2152f1066e4a576c2a3b2698713be Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 13:59:52 +0200 Subject: [PATCH 103/281] c9-auto-bump 3.1.3006 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d2cb0ac9..06e57927 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3005", + "version": "3.1.3006", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4b0b84268f6884697ab0dddd742fe0aeec095f53 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 11 Aug 2016 15:46:02 +0200 Subject: [PATCH 104/281] c9-auto-bump 3.1.3007 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 06e57927..ce6c31bf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3006", + "version": "3.1.3007", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 162ec7448f2543e1815d231ed4adc382585e09af Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 12 Aug 2016 13:31:38 +0200 Subject: [PATCH 105/281] c9-auto-bump 3.1.3008 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ce6c31bf..0d27a091 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3007", + "version": "3.1.3008", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a0f076edb72eae5eed1226701a677e8f98552fa4 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 11 Aug 2016 11:32:01 +0000 Subject: [PATCH 106/281] workaround for writing gdbshim too frequently --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c6f6af23..9b1c5de3 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", "c9.ide.find.replace": "#8468067976", - "c9.ide.run.debug": "#df78e9dc71", + "c9.ide.run.debug": "#19a5c6bcb4", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", @@ -108,7 +108,7 @@ "c9.ide.recentfiles": "#7c099abf40", "c9.ide.remote": "#301d2ab519", "c9.ide.processlist": "#2b12cd1bdd", - "c9.ide.run": "#7437f5a9fe", + "c9.ide.run": "#3cd1f257ca", "c9.ide.run.build": "#0598fff697", "c9.ide.run.debug.xdebug": "#054367574c", "c9.ide.save": "#25a63f31e2", From 154e321fc58acec1f7af6ed2f8c97d97c604c4f0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 12 Aug 2016 18:09:59 +0200 Subject: [PATCH 107/281] c9-auto-bump 3.1.3009 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6401b07f..5cb85e1a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3008", + "version": "3.1.3009", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b535e6015aee2468be329a4d7d33b10e18e6b785 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 15 Aug 2016 15:12:18 +0200 Subject: [PATCH 108/281] c9-auto-bump 3.1.3010 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5cb85e1a..a5a1ed74 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3009", + "version": "3.1.3010", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8c1d140cb165e55a03704407d1beaf75b7b4090e Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 15 Aug 2016 15:30:08 +0200 Subject: [PATCH 109/281] c9-auto-bump 3.1.3011 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a5a1ed74..676f4422 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3010", + "version": "3.1.3011", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 35737935909dddf040817d25dcba8654dce2a435 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 15 Aug 2016 17:33:15 +0200 Subject: [PATCH 110/281] c9-auto-bump 3.1.3012 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 676f4422..a2c06f32 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3011", + "version": "3.1.3012", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 011dfa97689af20fd51c689a67f01126edaffaa6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 15 Aug 2016 19:10:36 +0200 Subject: [PATCH 111/281] c9-auto-bump 3.1.3013 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a2c06f32..5354b98f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3012", + "version": "3.1.3013", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9f2d59787781802e30bd362ea0e99b35b0fea6ff Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 15 Aug 2016 18:12:19 +0000 Subject: [PATCH 112/281] update integrations --- integrations/scripts/update.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/integrations/scripts/update.sh b/integrations/scripts/update.sh index 75736b92..fc042e5d 100755 --- a/integrations/scripts/update.sh +++ b/integrations/scripts/update.sh @@ -42,6 +42,7 @@ if [ -d $NAME/.git ]; then exit 1 fi git fetch origin + git remote set-head origin -a popd else mkdir -p $NAME From eb0e7e7c1314b0eedec78c592e7d21ea8107476a Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 15 Aug 2016 20:13:13 +0200 Subject: [PATCH 113/281] c9-auto-bump 3.1.3014 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5354b98f..0dc50a58 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3013", + "version": "3.1.3014", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7615fb26c0801ea53cd05e2692cc43880eec38a0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 16 Aug 2016 01:19:32 +0200 Subject: [PATCH 114/281] c9-auto-bump 3.1.3015 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0dc50a58..589bd5db 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3014", + "version": "3.1.3015", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d9e31f340f68ba5b03e8d4e3f8500c8a0fd9c70f Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 18 Aug 2016 16:50:18 +0200 Subject: [PATCH 115/281] c9-auto-bump 3.1.3016 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 589bd5db..4185830e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3015", + "version": "3.1.3016", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c4f25e7f811a8414c7964fa41950b88b4799b738 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Thu, 18 Aug 2016 14:52:48 +0000 Subject: [PATCH 116/281] Disable multi-port logic to make V3 work with the new VPN --- package.json | 1 - plugins/c9.static/unpacked_helper.js | 39 ---------------------------- 2 files changed, 40 deletions(-) delete mode 100644 plugins/c9.static/unpacked_helper.js diff --git a/package.json b/package.json index 850fa3c2..20aaceee 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "less": "^2.4.0", "mime": "~1.2.9", "mkdirp": "~0.3.5", - "msgpack-js": "~0.1.1", "msgpack-js-browser": "~0.1.4", "nak": "https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", diff --git a/plugins/c9.static/unpacked_helper.js b/plugins/c9.static/unpacked_helper.js deleted file mode 100644 index c5bb48ef..00000000 --- a/plugins/c9.static/unpacked_helper.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * unpacked_helper speeds up the unpacked version of Cloud9 - * by using more parallel connections and avoiding - * subsubdomains on dogfooding (e.g., ide.dev-lennartcl.c9.io, where - * Chrome doesn't support any caching). - */ -"use strict"; - -plugin.consumes = [ - "db", "connect.static" -]; -plugin.provides = [ - "unpacked_helper" -]; - -module.exports = plugin; - -function plugin(options, imports, register) { - var connectStatic = imports["connect.static"]; - var assert = require("assert"); - var baseUrl = options.baseUrl; - var ideBaseUrl = options.ideBaseUrl; - assert(baseUrl, "baseUrl must be set"); - assert(ideBaseUrl, "ideBaseUrl must be set"); - - var balancers = [ - baseUrl + "/_unp", - baseUrl + ":8080/_unp", - baseUrl + ":8081/_unp", - baseUrl + ":8082/_unp", - ]; - - connectStatic.getRequireJsConfig().baseUrlLoadBalancers = balancers; - assert(connectStatic.getRequireJsConfig().baseUrlLoadBalancers); - - register(null, { - "unpacked_helper": {} - }); -} \ No newline at end of file From 87b8ef2811e5c26afdeafe72e7f4556508da6b40 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 18 Aug 2016 20:32:04 +0200 Subject: [PATCH 117/281] c9-auto-bump 3.1.3017 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4185830e..a772a306 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3016", + "version": "3.1.3017", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 81e544876bbd020769fcc65a995dc248eea7aabd Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 19 Aug 2016 16:41:07 +0200 Subject: [PATCH 118/281] c9-auto-bump 3.1.3018 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a772a306..f9f6e59c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3017", + "version": "3.1.3018", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 30a59495d7a72e1e15de2c9a8262316f919feb42 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 19 Aug 2016 21:49:00 +0200 Subject: [PATCH 119/281] c9-auto-bump 3.1.3019 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f9f6e59c..7dd76002 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3018", + "version": "3.1.3019", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 77a2dcb0a9279e744c4a5342b44f761063379d95 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 19 Aug 2016 23:20:20 +0200 Subject: [PATCH 120/281] c9-auto-bump 3.1.3020 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7dd76002..fb9105c9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3019", + "version": "3.1.3020", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c9fe31e079fef23b7646c0d5ff15af48762483f1 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 19 Aug 2016 21:25:23 +0000 Subject: [PATCH 121/281] silence gleak warning about old xpath --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index fb9105c9..e4bd0264 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "less": "^2.4.0", "mime": "~1.2.9", "mkdirp": "~0.3.5", - "msgpack-js": "~0.1.1", "msgpack-js-browser": "~0.1.4", "nak": "https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", From 1d3c41a084f57eba58a6ca2a94f8bae4b4930e19 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 19 Aug 2016 23:03:05 +0000 Subject: [PATCH 122/281] add msgpack to git --- node_modules/msgpack-js/README.markdown | 41 ++ node_modules/msgpack-js/msgpack.js | 473 ++++++++++++++++++++++++ node_modules/msgpack-js/package.json | 25 ++ package.json | 1 + 4 files changed, 540 insertions(+) create mode 100644 node_modules/msgpack-js/README.markdown create mode 100644 node_modules/msgpack-js/msgpack.js create mode 100644 node_modules/msgpack-js/package.json diff --git a/node_modules/msgpack-js/README.markdown b/node_modules/msgpack-js/README.markdown new file mode 100644 index 00000000..e8757048 --- /dev/null +++ b/node_modules/msgpack-js/README.markdown @@ -0,0 +1,41 @@ +# msgpack for node + +[![Build Status](https://secure.travis-ci.org/creationix/msgpack-js.png)](http://travis-ci.org/creationix/msgpack-js) + +A handwritten msgpack encoder and decoder for Node.JS. + +The original format can be found at + + +## Extension + +I've extended the format a little to allow for encoding and decoding of `undefined` and `Buffer` instances. + +This required three new type codes that were previously marked as "reserved". +This change means that using these new types will render your serialized data +incompatible with other messagepack implementations that don't have the same +extension. + +There are two new types for storing node `Buffer` instances. These work just +like "raw 16" and "raw 32" except they are node buffers instead of strings. + + buffer 16 11011000 0xd8 + buffer 32 11011001 0xd9 + +Also I've added a type for `undefined` that works just like the `null` type. + + undefined 11000100 0xc4 + +## Usage + +``` javascript +var msgpack = require('msgpack'); +var assert = require('assert'); + +var initial = {Hello: "World"}; +var encoded = msgpack.encode(initial); +var decoded = msgpack.decode(encoded); + +assert.deepEqual(initial, decoded); +``` + diff --git a/node_modules/msgpack-js/msgpack.js b/node_modules/msgpack-js/msgpack.js new file mode 100644 index 00000000..7f758538 --- /dev/null +++ b/node_modules/msgpack-js/msgpack.js @@ -0,0 +1,473 @@ +exports.encode = function (value) { + var buffer = new Buffer(sizeof(value)); + encode(value, buffer, 0); + return buffer; +}; + +exports.decode = decode; + +// http://wiki.msgpack.org/display/MSGPACK/Format+specification +// I've extended the protocol to have two new types that were previously reserved. +// buffer 16 11011000 0xd8 +// buffer 32 11011001 0xd9 +// These work just like raw16 and raw32 except they are node buffers instead of strings. +// +// Also I've added a type for `undefined` +// undefined 11000100 0xc4 + +function Decoder(buffer, offset) { + this.offset = offset || 0; + this.buffer = buffer; +} +Decoder.prototype.map = function (length) { + var value = {}; + for (var i = 0; i < length; i++) { + var key = this.parse(); + value[key] = this.parse(); + } + return value; +}; +Decoder.prototype.buf = function (length) { + var value = this.buffer.slice(this.offset, this.offset + length); + this.offset += length; + return value; +}; +Decoder.prototype.raw = function (length) { + var value = this.buffer.toString('utf8', this.offset, this.offset + length); + this.offset += length; + return value; +}; +Decoder.prototype.array = function (length) { + var value = new Array(length); + for (var i = 0; i < length; i++) { + value[i] = this.parse(); + } + return value; +}; +Decoder.prototype.parse = function () { + var type = this.buffer[this.offset]; + var value, length; + // FixRaw + if ((type & 0xe0) === 0xa0) { + length = type & 0x1f; + this.offset++; + return this.raw(length); + } + // FixMap + if ((type & 0xf0) === 0x80) { + length = type & 0x0f; + this.offset++; + return this.map(length); + } + // FixArray + if ((type & 0xf0) === 0x90) { + length = type & 0x0f; + this.offset++; + return this.array(length); + } + // Positive FixNum + if ((type & 0x80) === 0x00) { + this.offset++; + return type; + } + // Negative Fixnum + if ((type & 0xe0) === 0xe0) { + value = this.buffer.readInt8(this.offset); + this.offset++; + return value; + } + switch (type) { + // raw 16 + case 0xda: + length = this.buffer.readUInt16BE(this.offset + 1); + this.offset += 3; + return this.raw(length); + // raw 32 + case 0xdb: + length = this.buffer.readUInt32BE(this.offset + 1); + this.offset += 5; + return this.raw(length); + // nil + case 0xc0: + this.offset++; + return null; + // false + case 0xc2: + this.offset++; + return false; + // true + case 0xc3: + this.offset++; + return true; + // undefined + case 0xc4: + this.offset++; + return undefined; + // uint8 + case 0xcc: + value = this.buffer[this.offset + 1]; + this.offset += 2; + return value; + // uint 16 + case 0xcd: + value = this.buffer.readUInt16BE(this.offset + 1); + this.offset += 3; + return value; + // uint 32 + case 0xce: + value = this.buffer.readUInt32BE(this.offset + 1); + this.offset += 5; + return value; + // uint64 + case 0xcf: + value = this.buffer.readUInt64BE(this.offset + 1); + this.offset += 9; + return value; + // int 8 + case 0xd0: + value = this.buffer.readInt8(this.offset + 1); + this.offset += 2; + return value; + // int 16 + case 0xd1: + value = this.buffer.readInt16BE(this.offset + 1); + this.offset += 3; + return value; + // int 32 + case 0xd2: + value = this.buffer.readInt32BE(this.offset + 1); + this.offset += 5; + return value; + // int 64 + case 0xd3: + value = this.buffer.readInt64BE(this.offset + 1); + this.offset += 9; + return value; + // map 16 + case 0xde: + length = this.buffer.readUInt16BE(this.offset + 1); + this.offset += 3; + return this.map(length); + // map 32 + case 0xdf: + length = this.buffer.readUInt32BE(this.offset + 1); + this.offset += 5; + return this.map(length); + // array 16 + case 0xdc: + length = this.buffer.readUInt16BE(this.offset + 1); + this.offset += 3; + return this.array(length); + // array 32 + case 0xdd: + length = this.buffer.readUInt32BE(this.offset + 1); + this.offset += 5; + return this.array(length); + // buffer 16 + case 0xd8: + length = this.buffer.readUInt16BE(this.offset + 1); + this.offset += 3; + return this.buf(length); + // buffer 32 + case 0xd9: + length = this.buffer.readUInt32BE(this.offset + 1); + this.offset += 5; + return this.buf(length); + // float + case 0xca: + value = this.buffer.readFloatBE(this.offset + 1); + this.offset += 5; + return value; + // double + case 0xcb: + value = this.buffer.readDoubleBE(this.offset + 1); + this.offset += 9; + return value; + } + throw new Error("Unknown type 0x" + type.toString(16)); +}; +function decode(buffer) { + var decoder = new Decoder(buffer); + var value = decoder.parse(); + if (decoder.offset !== buffer.length) throw new Error((buffer.length - decoder.offset) + " trailing bytes"); + return value; +} + +function encode(value, buffer, offset) { + var type = typeof value; + + // Strings Bytes + if (type === "string") { + var length = Buffer.byteLength(value); + // fix raw + if (length < 0x20) { + buffer[offset] = length | 0xa0; + buffer.write(value, offset + 1); + return 1 + length; + } + // raw 16 + if (length < 0x10000) { + buffer[offset] = 0xda; + buffer.writeUInt16BE(length, offset + 1); + buffer.write(value, offset + 3); + return 3 + length; + } + // raw 32 + if (length < 0x100000000) { + buffer[offset] = 0xdb; + buffer.writeUInt32BE(length, offset + 1); + buffer.write(value, offset + 5); + return 5 + length; + } + } + + if (Buffer.isBuffer(value)) { + var length = value.length; + // buffer 16 + if (length < 0x10000) { + buffer[offset] = 0xd8; + buffer.writeUInt16BE(length, offset + 1); + value.copy(buffer, offset + 3); + return 3 + length; + } + // buffer 32 + if (length < 0x100000000) { + buffer[offset] = 0xd9; + buffer.writeUInt32BE(length, offset + 1); + value.copy(buffer, offset + 5); + return 5 + length; + } + } + + if (type === "number") { + // Floating Point + if ((value << 0) !== value) { + buffer[offset] = 0xcb; + buffer.writeDoubleBE(value, offset + 1); + return 9; + } + + // Integers + if (value >=0) { + // positive fixnum + if (value < 0x80) { + buffer[offset] = value; + return 1; + } + // uint 8 + if (value < 0x100) { + buffer[offset] = 0xcc; + buffer[offset + 1] = value; + return 2; + } + // uint 16 + if (value < 0x10000) { + buffer[offset] = 0xcd; + buffer.writeUInt16BE(value, offset + 1); + return 3; + } + // uint 32 + if (value < 0x100000000) { + buffer[offset] = 0xce; + buffer.writeUInt32BE(value, offset + 1); + return 5; + } + // uint 64 + if (value < 0x10000000000000000) { + buffer[offset] = 0xcf; + buffer.writeUInt64BE(value, offset + 1); + return 9; + } + throw new Error("Number too big 0x" + value.toString(16)); + } + // negative fixnum + if (value >= -0x20) { + buffer.writeInt8(value, offset); + return 1; + } + // int 8 + if (value >= -0x80) { + buffer[offset] = 0xd0; + buffer.writeInt8(value, offset + 1); + return 2; + } + // int 16 + if (value >= -0x8000) { + buffer[offset] = 0xd1; + buffer.writeInt16BE(value, offset + 1); + return 3; + } + // int 32 + if (value >= -0x80000000) { + buffer[offset] = 0xd2; + buffer.writeInt32BE(value, offset + 1); + return 5; + } + // int 64 + if (value >= -0x8000000000000000) { + buffer[offset] = 0xd3; + buffer.writeInt64BE(value, offset + 1); + return 9; + } + throw new Error("Number too small -0x" + value.toString(16).substr(1)); + } + + // undefined + if (type === "undefined") { + buffer[offset] = 0xc4; + return 1; + } + + // null + if (value === null) { + buffer[offset] = 0xc0; + return 1; + } + + // Boolean + if (type === "boolean") { + buffer[offset] = value ? 0xc3 : 0xc2; + return 1; + } + + // Container Types + if (type === "object") { + var length, size = 0; + var isArray = Array.isArray(value); + + if (isArray) { + length = value.length; + } + else { + var keys = Object.keys(value); + length = keys.length; + } + + var size; + if (length < 0x10) { + buffer[offset] = length | (isArray ? 0x90 : 0x80); + size = 1; + } + else if (length < 0x10000) { + buffer[offset] = isArray ? 0xdc : 0xde; + buffer.writeUInt16BE(length, offset + 1); + size = 3; + } + else if (length < 0x100000000) { + buffer[offset] = isArray ? 0xdd : 0xdf; + buffer.writeUInt32BE(length, offset + 1); + size = 5; + } + + if (isArray) { + for (var i = 0; i < length; i++) { + size += encode(value[i], buffer, offset + size); + } + } + else { + for (var i = 0; i < length; i++) { + var key = keys[i]; + size += encode(key, buffer, offset + size); + size += encode(value[key], buffer, offset + size); + } + } + + return size; + } + throw new Error("Unknown type " + type); +} + +function sizeof(value) { + var type = typeof value; + + // Raw Bytes + if (type === "string") { + var length = Buffer.byteLength(value); + if (length < 0x20) { + return 1 + length; + } + if (length < 0x10000) { + return 3 + length; + } + if (length < 0x100000000) { + return 5 + length; + } + } + + if (Buffer.isBuffer(value)) { + var length = value.length; + if (length < 0x10000) { + return 3 + length; + } + if (length < 0x100000000) { + return 5 + length; + } + } + + if (type === "number") { + // Floating Point + // double + if (value << 0 !== value) return 9; + + // Integers + if (value >=0) { + // positive fixnum + if (value < 0x80) return 1; + // uint 8 + if (value < 0x100) return 2; + // uint 16 + if (value < 0x10000) return 3; + // uint 32 + if (value < 0x100000000) return 5; + // uint 64 + if (value < 0x10000000000000000) return 9; + throw new Error("Number too big 0x" + value.toString(16)); + } + // negative fixnum + if (value >= -0x20) return 1; + // int 8 + if (value >= -0x80) return 2; + // int 16 + if (value >= -0x8000) return 3; + // int 32 + if (value >= -0x80000000) return 5; + // int 64 + if (value >= -0x8000000000000000) return 9; + throw new Error("Number too small -0x" + value.toString(16).substr(1)); + } + + // Boolean, null, undefined + if (type === "boolean" || type === "undefined" || value === null) return 1; + + // Container Types + if (type === "object") { + var length, size = 0; + if (Array.isArray(value)) { + length = value.length; + for (var i = 0; i < length; i++) { + size += sizeof(value[i]); + } + } + else { + var keys = Object.keys(value); + length = keys.length; + for (var i = 0; i < length; i++) { + var key = keys[i]; + size += sizeof(key) + sizeof(value[key]); + } + } + if (length < 0x10) { + return 1 + size; + } + if (length < 0x10000) { + return 3 + size; + } + if (length < 0x100000000) { + return 5 + size; + } + throw new Error("Array or object too long 0x" + length.toString(16)); + } + throw new Error("Unknown type " + type); +} + + diff --git a/node_modules/msgpack-js/package.json b/node_modules/msgpack-js/package.json new file mode 100644 index 00000000..1faefac8 --- /dev/null +++ b/node_modules/msgpack-js/package.json @@ -0,0 +1,25 @@ +{ + "author": { + "name": "Tim Caswell", + "email": "tim@creationix.com" + }, + "name": "msgpack-js", + "description": "msgpack encoder and decoder in pure node js", + "version": "0.1.5", + "repository": { + "type": "git", + "url": "git://github.com/creationix/msgpack-js.git" + }, + "main": "msgpack.js", + "engines": { + "node": ">=0.6.0" + }, + "dependencies": {}, + "devDependencies": {}, + "optionalDependencies": {}, + "readmeFilename": "README.markdown", + "bugs": { + "url": "https://github.com/creationix/msgpack-js/issues" + }, + "homepage": "https://github.com/creationix/msgpack-js#readme" +} diff --git a/package.json b/package.json index e4bd0264..2a9124e6 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "amd-loader", "architect", "architect-build", + "msgpack-js", "c9" ], "c9plugins": { From 18f7963e2cd3abd02ef7c3d53f7c30d6623e7f10 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 19 Aug 2016 23:29:47 +0000 Subject: [PATCH 123/281] workaround for node6 regression --- node_modules/msgpack-js/msgpack.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_modules/msgpack-js/msgpack.js b/node_modules/msgpack-js/msgpack.js index 7f758538..abfcc904 100644 --- a/node_modules/msgpack-js/msgpack.js +++ b/node_modules/msgpack-js/msgpack.js @@ -202,7 +202,7 @@ function encode(value, buffer, offset) { // fix raw if (length < 0x20) { buffer[offset] = length | 0xa0; - buffer.write(value, offset + 1); + length && buffer.write(value, offset + 1); return 1 + length; } // raw 16 From c04e78432e73b1dbe1b33c9d02679bc673f36303 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 19 Aug 2016 23:40:39 +0000 Subject: [PATCH 124/281] better error message for smith --- node_modules/smith/smith.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_modules/smith/smith.js b/node_modules/smith/smith.js index d0f8d989..b97fe583 100644 --- a/node_modules/smith/smith.js +++ b/node_modules/smith/smith.js @@ -363,7 +363,7 @@ Agent.prototype.send = function (message) { } try { var result = this.transport.send(message); } - catch(e) { console.error("Could not send message: ", e.message ); } + catch(e) { console.error("Agent Smith Could not send message: ", e.stack, e.message); } return result; }; From 0ce3f398084c73477e6360b2351ef33d33a4dbcd Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 20 Aug 2016 23:31:27 +0000 Subject: [PATCH 125/281] update smf --- integrations/scripts/update.sh | 154 +++++++++++++++++++++------------ package.json | 1 - 2 files changed, 99 insertions(+), 56 deletions(-) diff --git a/integrations/scripts/update.sh b/integrations/scripts/update.sh index fc042e5d..8ce2487d 100755 --- a/integrations/scripts/update.sh +++ b/integrations/scripts/update.sh @@ -2,13 +2,17 @@ set -e cd `dirname $0`/.. -# set -x NAME=$1 shift BRANCH=master URL= +FORCE= for i in "$@"; do case $i in + -d|--debug) + set -x + shift + ;; -b=*|--branch=*) BRANCH="${i#*=}" shift @@ -17,6 +21,10 @@ for i in "$@"; do URL="${i#*=}" shift ;; + -f|--force|--hard) + FORCE=1 + shift + ;; *) # unknown option ;; @@ -28,70 +36,106 @@ if [ "$NAME" == "" ]; then exit 0 fi -echo adding name=$NAME url=$URL branch=refs/remotes/origin/$BRANCH - -if [ "$URL" == "" ]; then - URL=git@github.com:c9/$NAME.git -fi - -if [ -d $NAME/.git ]; then +update_one() { + echo adding name=$NAME url=$URL branch=refs/remotes/origin/$BRANCH + + if [ "$URL" == "" ]; then + URL=git@github.com:c9/$NAME.git + fi + + mkdir -p $NAME pushd $NAME + + if ! [ -d .git ]; then + git init . + git remote add origin "$URL" + fi + OLD_URL=$(git config --get remote.origin.url) if [ "$OLD_URL" != "$URL" ]; then echo "folder $NAME exists and points to $OLD_URL" exit 1 fi + if ! $(git config --get-all remote.origin.fetch | grep -q pull); then + git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/pull/*"; + fi git fetch origin git remote set-head origin -a popd + + pushd $NAME + HASH=$(git rev-parse --revs-only refs/remotes/origin/$BRANCH) + if [ "$FORCE" == "1" ]; then + echo "hard reset $NAME to $HASH" + git reset $HASH --hard + if $(grep -q dependencies "./package.json"); then + rm -rf node_modules npm-shrinkwrap.json + git reset --hard + npm i + npm shrinkwrap + fi + fi + popd + + [ -f ./config.json ] || echo "{}" > ./config.json + node -e ' + var name = "'$NAME'"; + var url = "'$URL'"; + var hash = "'$HASH'".trim(); + var fs = require("fs"); + + function updateJSON(path, fn) { + var text = fs.readFileSync(path, "utf8"); + var indent = text.match(/^\s*(?=")/m); + indent = indent && indent[0] || 4; + console.log(indent) + var r = JSON.parse(text); + r = fn(r) || r; + text = JSON.stringify(r, null, indent) + "\n"; + fs.writeFileSync(path, text, "utf8"); + } + + updateJSON("./config.json", function(config) { + var packages = config.packages || (config.packages = {}); + config.packages[name] = { + name: name, + hash: hash, + url: url, + }; + }); + updateJSON("../package.json", function(package) { + var deps = package.dependencies; + console.log(deps[name], hash); + deps[name] = deps[name].replace(/#[a-f\d]*$/i, "#" + hash); + console.log(deps[name], hash); + }); + updateJSON("../npm-shrinkwrap.json", function(package) { + var deps = package.dependencies; + deps[name].from = deps[name].from.replace(/#[a-f\d]*$/i, "#" + hash); + deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]*$/i, "#" + hash); + console.log(__dirname) + if (fs.existsSync(name + "/npm-shrinkwrap.json")) { + var shrinkwrap = JSON.parse(fs.readFileSync(name + "/npm-shrinkwrap.json", "utf8")); + deps[name].dependencies = shrinkwrap.dependencies; + } + }); + ' + + rm -rf "../node_modules/$NAME" + ln -s `pwd`/$NAME `pwd`/../node_modules/$NAME +} + + +if [ "$NAME" == "all" ]; then + for i in $(ls .); do + if [ -d "./$i/.git" ] || [ -f "./$i/package.json" ]; then + NAME=$i + URL= + update_one; + fi; + done else - mkdir -p $NAME - git clone $URL $NAME + update_one fi -pushd $NAME -HASH=$(git rev-parse --revs-only refs/remotes/origin/$BRANCH) -popd - -[ -f ./config.json ] || echo "{}" > ./config.json -node -e ' - var name = "'$NAME'"; - var url = "'$URL'"; - var hash = "'$HASH'".trim(); - var fs = require("fs"); - - function updateJSON(path, fn) { - var text = fs.readFileSync(path, "utf8"); - var indent = text.match(/^\s*(?=")/m); - indent = indent && indent[0] || 4; - console.log(indent) - var r = JSON.parse(text); - r = fn(r) || r; - text = JSON.stringify(r, null, indent) + "\n"; - fs.writeFileSync(path, text, "utf8"); - } - - updateJSON("./config.json", function(config) { - var packages = config.packages || (config.packages = {}); - config.packages[name] = { - name: name, - hash: hash, - url: url, - }; - }); - updateJSON("../package.json", function(package) { - var deps = package.dependencies; - console.log(deps[name], hash) - deps[name] = deps[name].replace(/#[a-f\d]*$/i, "#" + hash) - console.log(deps[name], hash) - }); - updateJSON("../npm-shrinkwrap.json", function(package) { - var deps = package.dependencies; - deps[name].from = deps[name].from.replace(/#[a-f\d]*$/i, "#" + hash); - deps[name].resolved = deps[name].resolved.replace(/#[a-f\d]*$/i, "#" + hash); - }); -' - -rm -rf "../node_modules/$NAME" -ln -s `pwd`/$NAME `pwd`/../node_modules/$NAME diff --git a/package.json b/package.json index fb9105c9..e4bd0264 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "less": "^2.4.0", "mime": "~1.2.9", "mkdirp": "~0.3.5", - "msgpack-js": "~0.1.1", "msgpack-js-browser": "~0.1.4", "nak": "https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", From 4d5e15fd92362c1a9815c87c8f24e908b1c3f284 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 21 Aug 2016 12:18:37 +0000 Subject: [PATCH 126/281] improve formatting of client config test errors and add it to sdk --- configs/client-config_test.js | 140 ++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100755 configs/client-config_test.js diff --git a/configs/client-config_test.js b/configs/client-config_test.js new file mode 100755 index 00000000..180f521a --- /dev/null +++ b/configs/client-config_test.js @@ -0,0 +1,140 @@ +#!/usr/bin/env node +/*global describe it*/ +"use strict"; + +"use server"; + + +require("amd-loader"); +require("c9/inline-mocha")(module); + +var assert = require("assert"); +var fs = require("fs"); + +describe("client config consistency", function(){ + // this.timeout(60000); + + var fileCache = Object.create(null); + var clientOptions; + var root = __dirname + "/../"; + + it("should get clientOptions from server", function(next) { + fetchClientOptions(function(err, clientOptions) { + assert(!err && clientOptions); + next(); + }); + }); + + fs.readdirSync(root + "/configs").forEach(function(name) { + if (!/client-(workspace|ssh|default)/.test(name)) return; + + it("should not have missing plugins in config " + name, function(next) { + fetchClientOptions(function(err, clientOptions) { + if (err) return next(); + checkConfig(name, clientOptions, next); + }); + }); + }); + + function fetchClientOptions(callback) { + if (clientOptions) + return callback(null, JSON.parse(JSON.stringify(clientOptions))); + var server = require(root + "/server.js"); + server(["--_getConfig", "-l", "localhost", "--collab=true"], "", function(e, plugins) { + clientOptions = plugins.filter(function(p) { + return /standalone[\\\/]standalone/.test(p.packagePath); + })[0].options; + fetchClientOptions(callback); + }); + } + + function checkConfig(name, clientOptions, next) { + var hasError = false; + var configPath = root + "/configs/" + name; + var configPathReal = fs.realpathSync(configPath); + var clientPlugins = require(configPath)(clientOptions); + + clientPlugins = clientPlugins.map(function(p, i) { + if (typeof p == "string") + return {packagePath: p}; + return p; + }); + clientPlugins.forEach(function(p) { + if (p.packagePath) { + if (!fileCache[p.packagePath]) { + + var filePath; + try { + filePath = require.resolve(p.packagePath); + } + catch (e) { + try { + filePath = require.resolve(p.packagePath.replace(/^plugins\//, "")); + } catch (e) { + // TODO instead of quessing we need a simple way of getting pathmap + if (configPath != configPathReal) + filePath = require.resolve(configPathReal + "/../../node_modules/" + p.packagePath.replace(/^plugins\//, "")); + } + } + if (!filePath.match(/\.js$/)) + filePath += ".js"; + + fileCache[p.packagePath] = fs.readFileSync(filePath, "utf8"); + } + var source = fileCache[p.packagePath]; + p.provides = getDeps("provides", source); + p.consumes = getDeps("consumes", source); + } + }); + + var provides = {"auth.bootstrap": 1, "hub": 1}; + var paths = {}; + clientPlugins.forEach(function(p) { + if (paths[p.packagePath]) { + console.error(name, paths[p.packagePath].packagePath, p.packagePath); + hasError = true; + } + paths[p.packagePath] = p; + p.provides && p.provides.forEach(function(name) { + if (provides[name]) { + // console.warn(name, p.packagePath, provides[name]); + } + provides[name] = p.packagePath; + }); + }); + var unresolved = []; + clientPlugins.forEach(function(p) { + var missing = (p.consumes || []).filter(function(name) { + return !provides[name]; + }); + if (missing.length) { + unresolved.push({ + packagePath: p.packagePath, + missing: missing + }); + } + }); + + if (unresolved.length) { + // not throwing an error to check all configs + hasError = true; + } + + function getDeps(type, source) { + var re = new RegExp(type + /\s*=\s*(\[[^\[\]]*\])/.source); + var m = source.match(re); + if (!m) return []; + m = m[1].replace(/\/\/.*|\/\*[\s\S]*?\*\//g, "") + .replace(/,\s*\]/g, "]") + .replace(/'/g, "\""); + return JSON.parse(m); + } + assert(!unresolved.length, ( + "unresolved plugins in /configs/" + name + + JSON.stringify(unresolved, null, 4) + ).replace(/^/gm, "\t") + ); + next(); + } + +}); From c1a9adbbe4256b8b42eaacbeae9906ea1c1fa1c2 Mon Sep 17 00:00:00 2001 From: "Lennart C. L. Kats" Date: Mon, 22 Aug 2016 11:44:43 +0200 Subject: [PATCH 127/281] Clarify OSX installation --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index fb9105c9..d1e2aa61 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "less": "^2.4.0", "mime": "~1.2.9", "mkdirp": "~0.3.5", - "msgpack-js": "~0.1.1", "msgpack-js-browser": "~0.1.4", "nak": "https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", @@ -70,7 +69,7 @@ "c9.ide.language.javascript.tern": "#0545a6385d", "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", - "c9.ide.language.codeintel": "#4e0a272229", + "c9.ide.language.codeintel": "#0fe92d6f46", "c9.ide.collab": "#39fc27d13f", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", From 77415534110b3b341fdef0d854592f384802ab1b Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 22 Aug 2016 11:46:10 +0200 Subject: [PATCH 128/281] c9-auto-bump 3.1.3021 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d1e2aa61..0eb74d9f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3020", + "version": "3.1.3021", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 51a66a2bc8d61fd3a845b3e130b6beb3c6c82437 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 22 Aug 2016 11:49:59 +0200 Subject: [PATCH 129/281] c9-auto-bump 3.1.3022 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 94fb78b1..97f42d42 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3021", + "version": "3.1.3022", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e04fb425a19f3c57ecc608022dddb262f230c7ed Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 22 Aug 2016 11:54:11 +0200 Subject: [PATCH 130/281] c9-auto-bump 3.1.3023 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 97f42d42..7314d1b1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3022", + "version": "3.1.3023", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9414be160bcf5e3c94c009fc986924bfaaec451d Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 23 Aug 2016 04:00:02 +0200 Subject: [PATCH 131/281] c9-auto-bump 3.1.3024 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7314d1b1..17b0a2ca 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3023", + "version": "3.1.3024", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3455d8bce3b70f890cf534b1afea3a880faeae4f Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 24 Aug 2016 00:09:26 +0200 Subject: [PATCH 132/281] c9-auto-bump 3.1.3025 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 17b0a2ca..a15725e5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3024", + "version": "3.1.3025", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ac910ac9b93e5a5dd02bda24f271495e950131ea Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 24 Aug 2016 16:25:40 +0200 Subject: [PATCH 133/281] c9-auto-bump 3.1.3026 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a15725e5..76dc1ea1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3025", + "version": "3.1.3026", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ddb0a46a12b79f10b938eabb3a7f7a855e3c11d9 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 25 Aug 2016 18:13:19 +0200 Subject: [PATCH 134/281] c9-auto-bump 3.1.3027 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 76dc1ea1..4554d002 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3026", + "version": "3.1.3027", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 158a47d73bd559e2038618be79eaee23f4bfd2fa Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 25 Aug 2016 19:50:07 +0200 Subject: [PATCH 135/281] c9-auto-bump 3.1.3028 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4554d002..fd97f364 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3027", + "version": "3.1.3028", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b2beb2429af2bcaa9d02e22f2123b53033d27049 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 02:17:41 +0200 Subject: [PATCH 136/281] c9-auto-bump 3.1.3029 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fd97f364..7199e141 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3028", + "version": "3.1.3029", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From aec689e3b2c8d38b49d8a41c36425678572274fb Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 06:10:55 +0200 Subject: [PATCH 137/281] c9-auto-bump 3.1.3030 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7199e141..8d93cf84 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3029", + "version": "3.1.3030", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b140cd8eb9b5ba55bf8d07f0e772d7d22fe9bed2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 14:49:19 +0200 Subject: [PATCH 138/281] c9-auto-bump 3.1.3031 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8d93cf84..d5bf2b1c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3030", + "version": "3.1.3031", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cec61c3f1475f7c7febafe2711b411640a5b4ed3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 19:39:14 +0200 Subject: [PATCH 139/281] c9-auto-bump 3.1.3032 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5bf2b1c..550b42c8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3031", + "version": "3.1.3032", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 076b0b64de8597d193f0b8fd732cdc848c9a5384 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 19:43:09 +0200 Subject: [PATCH 140/281] c9-auto-bump 3.1.3033 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 550b42c8..f874a7a0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3032", + "version": "3.1.3033", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cdef3b59117cb32f80d97138409eb30c84840e81 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 20:59:41 +0200 Subject: [PATCH 141/281] c9-auto-bump 3.1.3034 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f874a7a0..5358c871 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3033", + "version": "3.1.3034", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 42a966592b85e5490c9ea793ab903429c566bbd4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 26 Aug 2016 22:39:49 +0200 Subject: [PATCH 142/281] c9-auto-bump 3.1.3035 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5358c871..deffccb9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3034", + "version": "3.1.3035", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4fcc57ccb895c2a9581f23a3b59095d504695c5b Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 27 Aug 2016 02:06:08 +0400 Subject: [PATCH 143/281] compatibility with npm 1.4 --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index deffccb9..4a4b498b 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "connect": "~2.12.0", "debug": "~0.7.4", "ejs": "~1.0.0", - "emmet": "git://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", + "emmet": "git+https://github.com/cloud9ide/emmet-core.git#2ff6dc06ad", "engine.io": "1.6.9", "engine.io-client": "1.6.9", "jsonm": "1.0.6", @@ -25,15 +25,15 @@ "mime": "~1.2.9", "mkdirp": "~0.3.5", "msgpack-js-browser": "~0.1.4", - "nak": "https://github.com/cloud9ide/nak.git#6deef931594", + "nak": "git+https://github.com/cloud9ide/nak.git#6deef931594", "netutil": "~0.0.2", "optimist": "~0.6.0", "qs": "0.6.6", "rusha": "^0.8.3", "send": "~0.1.4", "simple-mime": "~0.0.8", - "tern": "https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", - "tern_from_ts": "https://github.com/cloud9ide/tern_from_ts.git#84d51dcb9b16b126a206789d4d4237cde2801fe4", + "tern": "git+https://github.com/cloud9ide/tern.git#39015d544d4c00c7899fea4c95c2e5bc2720e68e", + "tern_from_ts": "git+https://github.com/cloud9ide/tern_from_ts.git#84d51dcb9b16b126a206789d4d4237cde2801fe4", "through": "2.2.0", "tmp": "~0.0.20", "uglify-js": "~2.6.2", From bfbdaa7529fb91e65a288f3f1f67a0e7706a304a Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 28 Aug 2016 07:11:57 +0400 Subject: [PATCH 144/281] shellcheck install-sdk.sh --- scripts/install-sdk.sh | 46 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/scripts/install-sdk.sh b/scripts/install-sdk.sh index 52fb07b9..739ae5e7 100755 --- a/scripts/install-sdk.sh +++ b/scripts/install-sdk.sh @@ -15,8 +15,8 @@ else exit 1 fi -cd `dirname $0`/.. -SOURCE=`pwd` +cd "$(dirname "$0")/.." +SOURCE=$(pwd) uname="$(uname -a)" os= @@ -44,37 +44,38 @@ blue=$'\e[01;34m' magenta=$'\e[01;35m' resetColor=$'\e[0m' -NO_PULL= -NO_GLOBAL_INSTALL= -FORCE= +# NO_PULL= +# NO_GLOBAL_INSTALL= +# FORCE= updatePackage() { name=$1 + cd "$SOURCE" REPO=https://github.com/c9/$name echo "${green}checking out ${resetColor}$REPO" - if ! [[ -d ./plugins/$name ]]; then - mkdir -p ./plugins/$name + if ! [[ -d ./plugins/"$name" ]]; then + mkdir -p ./plugins/"$name" fi - pushd ./plugins/$name + pushd ./plugins/"$name" if ! [[ -d .git ]]; then git init # git remote rm origin || true - git remote add origin $REPO + git remote add origin "$REPO" fi - version=`"$NODE" -e 'console.log((require("../../package.json").c9plugins["'$name'"].substr(1) || "origin/master"))'`; - rev=`git rev-parse --revs-only $version` + version=$("$NODE" -e 'console.log((require("../../package.json").c9plugins["'"$name"'"].substr(1) || "origin/master"))'); + rev=$(git rev-parse --revs-only "$version") if [ "$rev" == "" ]; then git fetch origin fi - status=`git status --porcelain --untracked-files=no` - if [ "$status" == "" ]; then - git reset $version --hard + status=$(git status --porcelain --untracked-files=no) + if [ "$status" == "" ] || [ "$FORCE" == "1" ]; then + git reset "$version" --hard else echo "${yellow}$name ${red}contains uncommited changes.${yellow} Skipping...${resetColor}" fi @@ -82,22 +83,23 @@ updatePackage() { } updateAllPackages() { - c9packages=`"$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'`; + c9packages=$("$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'); count=${#c9packages[@]} i=0 - for m in ${c9packages[@]}; do echo $m; - i=$(($i + 1)) + for m in "${c9packages[@]}"; do + echo "$m" + i=$((i + 1)) echo "updating plugin ${blue}$i${resetColor} of ${blue}$count${resetColor}" - updatePackage $m + updatePackage "$m" || updatePackage "$m" done } updateNodeModules() { echo "${magenta}--- Running npm install --------------------------------------------${resetColor}" safeInstall(){ - deps=`"$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'`; - for m in ${deps[@]}; do echo $m; - "$NPM" install --loglevel warn $m || true + deps=$("$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'); + for m in "${deps[@]}"; do echo "$m"; + "$NPM" install --loglevel warn "$m" done } "$NPM" install || safeInstall @@ -144,7 +146,7 @@ installGlobalDeps() { ############################################################################ export C9_DIR="$HOME"/.c9 -if ! [[ `which npm` ]]; then +if ! [[ $(which npm) ]]; then if [[ $os == "windows" ]]; then export PATH="$C9_DIR:$C9_DIR/node_modules/.bin:$PATH" else From 11c89b701227712d00009452c8d003f10a08b813 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 28 Aug 2016 07:12:35 +0400 Subject: [PATCH 145/281] highlight arrow functions similar to functions --- node_modules/ace/lib/ace/mode/javascript_highlight_rules.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js b/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js index 64de72d5..0161b8ca 100644 --- a/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js +++ b/node_modules/ace/lib/ace/mode/javascript_highlight_rules.js @@ -171,6 +171,9 @@ var JavaScriptHighlightRules = function(options) { token : "punctuation.operator", regex : /[.](?![.])/, next : "property" + }, { + token : "storage.type", + regex : /=>/ }, { token : "keyword.operator", regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/, From 612f6714e7192e66fce621beae571132df666c08 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 28 Aug 2016 13:22:20 +0400 Subject: [PATCH 146/281] add show authorship info option to the gutter context menu --- package.json | 2 +- plugins/c9.ide.ace/ace.js | 37 +++++++++++++++---------------------- plugins/c9.ide.tree/tree.js | 1 + plugins/c9.ide.ui/menus.js | 8 ++++---- 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 4a4b498b..c71e1948 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#39fc27d13f", + "c9.ide.collab": "#01237ab669", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", diff --git a/plugins/c9.ide.ace/ace.js b/plugins/c9.ide.ace/ace.js index 3f896011..da050694 100644 --- a/plugins/c9.ide.ace/ace.js +++ b/plugins/c9.ide.ace/ace.js @@ -589,33 +589,26 @@ define(function(require, exports, module) { new Divider({ position: 60 }, handle) ] }, handle); + menus.addItemByPath("context/ace/", mnuAce, 0, handle); - mnuGutter = new Menu({ + menus.addItemByPath("context/ace-gutter/", mnuGutter = new Menu({ id: "menuGutter", items: [ new Divider({ position: 1000 }, handle), - new MenuItem({ - position: 1000, - caption: "Gutter Options", - submenu: new Menu({ - items: [ - new MenuItem({ - position: 10, - caption: "Show Line Numbers", - type: "check", - checked: "user/ace/@showLineNumbers" - }, handle), - new MenuItem({ - position: 10, - caption: "Show Fold Widgets", - type: "check", - checked: "user/ace/@showFoldWidgets" - }, handle), - ] - }) - }, handle), ] - }, handle); + }, handle), 0, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/", new ui.menu({}), 1100, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/Show Line Numbers", new ui.item({ + caption: "Show Line Numbers", + type: "check", + checked: "user/ace/@showLineNumbers" + }, handle), 100, handle); + menus.addItemByPath("context/ace-gutter/Gutter Options/Show Fold Widgets", new ui.item({ + caption: "Show Fold Widgets", + type: "check", + checked: "user/ace/@showFoldWidgets" + }, handle), 200, handle); + mnuGutter.on("show", function(e) { var ace = tabs.focussedTab.editor.ace; var region = ace.renderer.$gutterLayer.getRegion(e); diff --git a/plugins/c9.ide.tree/tree.js b/plugins/c9.ide.tree/tree.js index 4dfb3dbc..6d28ceac 100644 --- a/plugins/c9.ide.tree/tree.js +++ b/plugins/c9.ide.tree/tree.js @@ -551,6 +551,7 @@ define(function(require, exports, module) { var mnuCtxTree = plugin.getElement("mnuCtxTree"); menus.decorate(mnuCtxTree); plugin.addElement(mnuCtxTree); + menus.addItemByPath("context/tree/", mnuCtxTree, 0, plugin); menus.addItemToMenu(mnuCtxTree, new ui.item({ match: "file", diff --git a/plugins/c9.ide.ui/menus.js b/plugins/c9.ide.ui/menus.js index 0c06c306..e4266d09 100644 --- a/plugins/c9.ide.ui/menus.js +++ b/plugins/c9.ide.ui/menus.js @@ -466,14 +466,14 @@ define(function(require, exports, module) { return; } + if (!plugin) + plugin = menu, menu = null; if (index && typeof index == "object") plugin = index, index = null; - else if (menu instanceof Menu) + else if (!plugin && menu && menu.aml) menu = menu.aml; - else if (menu && !menu.nodeFunc) - plugin = menu, menu = null; - if (menuItem instanceof MenuItem || menuItem instanceof Divider) + if (menuItem && menuItem.aml) menuItem = menuItem.aml; assert(plugin !== undefined, "addItemByPath requires a plugin argument"); From f9773a91dc1af16b6daafaf49d68260998c67727 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 28 Aug 2016 13:28:07 +0400 Subject: [PATCH 147/281] do not allow broken collab info to break the rendering --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c71e1948..105b9984 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#01237ab669", + "c9.ide.collab": "#c94a0ac61d", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", From 9b40d1282d0f470f5abb5545bebf2821cf128f9e Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 29 Aug 2016 00:12:08 +0400 Subject: [PATCH 148/281] fix +14518 ws.authorPool in db can be json encoded twice --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index deffccb9..63daf022 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#39fc27d13f", + "c9.ide.collab": "#313443681f", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", From bb64a014290cfa22de6a1e58b366323c478a9af2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 05:01:07 +0200 Subject: [PATCH 149/281] c9-auto-bump 3.1.3036 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index deffccb9..dd7ed0a5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3035", + "version": "3.1.3036", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e91b5b60e3a1ceb49f0edb29edd682a09c9ed809 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 05:33:15 +0200 Subject: [PATCH 150/281] c9-auto-bump 3.1.3037 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd7ed0a5..5f1f92ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3036", + "version": "3.1.3037", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e2ad5319810a240119061cb565135d405b99c4aa Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 05:41:12 +0200 Subject: [PATCH 151/281] c9-auto-bump 3.1.3038 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5f1f92ff..22c8d426 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3037", + "version": "3.1.3038", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3b1ea65ab67beafe71fdd6c731324a12bf007b00 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 12:19:37 +0200 Subject: [PATCH 152/281] c9-auto-bump 3.1.3039 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 22c8d426..51a0ecbf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3038", + "version": "3.1.3039", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cccf7bf3ce0c91c35d2812ff3fc647e89cf69110 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 12:45:31 +0200 Subject: [PATCH 153/281] c9-auto-bump 3.1.3040 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 51a0ecbf..3ea15a58 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3039", + "version": "3.1.3040", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3119f0c71337a95c46f7cf3a0fb32eca82500980 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 12:48:06 +0200 Subject: [PATCH 154/281] c9-auto-bump 3.1.3041 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c04bf13..00a7b5bf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3040", + "version": "3.1.3041", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 13746f9431536b3912900b4668ab22fef9b6098c Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Mon, 29 Aug 2016 19:32:16 +0000 Subject: [PATCH 155/281] Log out both fs and contents hashes for debugging --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index deffccb9..858216a3 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#39fc27d13f", + "c9.ide.collab": "#6d3305afbd", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", From 200eb5c9f67029416439f291615e3a9e4e5dfe40 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 30 Aug 2016 00:01:07 +0400 Subject: [PATCH 156/281] cleanup --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63daf022..3d4c4bc8 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#313443681f", + "c9.ide.collab": "#0a574de03b", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", From 25ea930b50f2ced6efe9eb7eb814d2a8670ae79b Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 22:21:32 +0200 Subject: [PATCH 157/281] c9-auto-bump 3.1.3042 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad05f184..2104c4ca 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3041", + "version": "3.1.3042", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From dbdcae780182f6c1a9937581f227c2a7c1bd675e Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 29 Aug 2016 22:21:47 +0200 Subject: [PATCH 158/281] c9-auto-bump 3.1.3043 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1bb966e2..9e56a54a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3042", + "version": "3.1.3043", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 18802b26d31ac204cd0e209fba1619b19c7b1262 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 30 Aug 2016 14:15:41 +0200 Subject: [PATCH 159/281] c9-auto-bump 3.1.3044 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9e56a54a..08ecac9b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3043", + "version": "3.1.3044", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 4cf83328897d9c0a56218a263aa3cd0e857f59a7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 30 Aug 2016 14:49:31 +0200 Subject: [PATCH 160/281] c9-auto-bump 3.1.3045 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 08ecac9b..20af3cf3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3044", + "version": "3.1.3045", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 1fc2364b28a2d0980727691b1648a861dd9e0bd3 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 30 Aug 2016 15:22:34 +0200 Subject: [PATCH 161/281] c9-auto-bump 3.1.3046 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 20af3cf3..480475ea 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3045", + "version": "3.1.3046", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9547f64ecdc6e9f28fc6b9d5083f6c2598335724 Mon Sep 17 00:00:00 2001 From: ozcanovunc Date: Tue, 30 Aug 2016 16:57:31 +0300 Subject: [PATCH 162/281] Update default-flat-light.less --- plugins/c9.ide.layout.classic/themes/default-flat-light.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/c9.ide.layout.classic/themes/default-flat-light.less b/plugins/c9.ide.layout.classic/themes/default-flat-light.less index 74aa8f16..aec1cd3f 100644 --- a/plugins/c9.ide.layout.classic/themes/default-flat-light.less +++ b/plugins/c9.ide.layout.classic/themes/default-flat-light.less @@ -328,7 +328,7 @@ @time-slider-revert-active-gradient: linear-gradient(top, #98c878 0%, #98c878 100%); @time-slider-revert-active-padding: @time-slider-revert-padding; -@time-slider-close-image: "@{image-path}/close_tab_btn_flat_light.png"; +@time-slider-close-image: "@{image-path}/close_tab_btn.png"; @time-slider-close-image-width: 42px; @time-slider-close-image-height: 28px; @time-slider-close-idle-position: 0 0; @@ -1711,4 +1711,4 @@ @form-bar-border-bottom: 1px solid #DEDEDE; @form-bar-box-shadow: 0 1px @border-highlight; -@panel-settings-changes-top: 53px; \ No newline at end of file +@panel-settings-changes-top: 53px; From de7e60f1f69657c0403710297b05c64978818a3f Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 30 Aug 2016 19:18:25 +0400 Subject: [PATCH 163/281] fix typo in install-sdk.sh --- scripts/install-sdk.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/install-sdk.sh b/scripts/install-sdk.sh index 739ae5e7..5a58f3ee 100755 --- a/scripts/install-sdk.sh +++ b/scripts/install-sdk.sh @@ -83,10 +83,10 @@ updatePackage() { } updateAllPackages() { - c9packages=$("$NODE" -e 'console.log(Object.keys(require("./package.json").c9plugins).join(" "))'); - count=${#c9packages[@]} + c9packages=$("$NODE" -p 'Object.keys(require("./package.json").c9plugins).join(" ")'); + count=$("$NODE" -p 'Object.keys(require("./package.json").c9plugins).length') i=0 - for m in "${c9packages[@]}"; do + for m in ${c9packages[@]}; do echo "$m" i=$((i + 1)) echo "updating plugin ${blue}$i${resetColor} of ${blue}$count${resetColor}" @@ -98,7 +98,7 @@ updateNodeModules() { echo "${magenta}--- Running npm install --------------------------------------------${resetColor}" safeInstall(){ deps=$("$NODE" -e 'console.log(Object.keys(require("./package.json").dependencies).join(" "))'); - for m in "${deps[@]}"; do echo "$m"; + for m in ${deps[@]}; do echo "$m"; "$NPM" install --loglevel warn "$m" done } @@ -113,7 +113,7 @@ updateCore() { # without this git merge fails on windows mv ./scripts/install-sdk.sh './scripts/.#install-sdk-tmp.sh' - rm ./scripts/.install-sdk-tmp.sh + rm -f ./scripts/.install-sdk-tmp.sh cp './scripts/.#install-sdk-tmp.sh' ./scripts/install-sdk.sh git checkout -- ./scripts/install-sdk.sh From 51ad4f7f8bd7b965d194e0087ed006758033bb17 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 30 Aug 2016 17:19:00 +0200 Subject: [PATCH 164/281] c9-auto-bump 3.1.3047 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 480475ea..47c30382 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3046", + "version": "3.1.3047", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f001a2420975e4a4431f08602ce6752ef15df347 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 30 Aug 2016 23:09:11 +0200 Subject: [PATCH 165/281] c9-auto-bump 3.1.3048 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 47c30382..11ec91b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3047", + "version": "3.1.3048", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From cd982130a12084acaaa597076e5f0f8fbda0c4ff Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 31 Aug 2016 17:40:08 +0200 Subject: [PATCH 166/281] c9-auto-bump 3.1.3049 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 11ec91b7..f65203a5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3048", + "version": "3.1.3049", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c1b3a67ec89a23f07fd65dbe75a41440009272aa Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 31 Aug 2016 19:19:19 +0200 Subject: [PATCH 167/281] c9-auto-bump 3.1.3050 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f65203a5..95d7ff93 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3049", + "version": "3.1.3050", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d6ad7b69c3f369bbc0c1bc71fa5db5d52040550f Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 1 Sep 2016 10:03:16 +0200 Subject: [PATCH 168/281] c9-auto-bump 3.1.3051 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 95d7ff93..8d158947 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3050", + "version": "3.1.3051", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 85330df8e4a5656ce8d6fa5d320937ba0a48e39a Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 1 Sep 2016 11:52:15 +0200 Subject: [PATCH 169/281] c9-auto-bump 3.1.3052 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8d158947..b5e69c9e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3051", + "version": "3.1.3052", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d66a3fb70a04e9427df151a1de05794ea41bf186 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 1 Sep 2016 13:57:45 +0200 Subject: [PATCH 170/281] c9-auto-bump 3.1.3053 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5e69c9e..ad8b87e2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3052", + "version": "3.1.3053", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From fea1665a8d185052a7cec1dbd8ff220f3bf84815 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 1 Sep 2016 17:19:31 +0200 Subject: [PATCH 171/281] c9-auto-bump 3.1.3054 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad8b87e2..2fee4168 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3053", + "version": "3.1.3054", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 94530450cc3f55313a04d05fc19b343b3e5dffd4 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 2 Sep 2016 19:42:57 +0200 Subject: [PATCH 172/281] c9-auto-bump 3.1.3055 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2fee4168..3c599a77 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3054", + "version": "3.1.3055", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ac2a566c8253fd2c05ab08e794fc2702f64351aa Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 2 Sep 2016 19:54:14 +0200 Subject: [PATCH 173/281] c9-auto-bump 3.1.3056 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3c599a77..a87b17e3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3055", + "version": "3.1.3056", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b399e90e4db6b0e9ba1716024e00ac50daecd60b Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 3 Sep 2016 00:35:47 +0400 Subject: [PATCH 174/281] stop pairing bracket in the searchbox --- node_modules/ace/lib/ace/mode/abc.js | 2 +- node_modules/ace/lib/ace/mode/actionscript.js | 2 +- node_modules/ace/lib/ace/mode/ada.js | 2 +- node_modules/ace/lib/ace/mode/apache_conf.js | 2 +- node_modules/ace/lib/ace/mode/applescript.js | 3 +-- node_modules/ace/lib/ace/mode/assembly_x86.js | 1 + node_modules/ace/lib/ace/mode/autohotkey.js | 2 +- node_modules/ace/lib/ace/mode/batchfile.js | 1 + node_modules/ace/lib/ace/mode/cirru.js | 1 + node_modules/ace/lib/ace/mode/clojure.js | 1 + node_modules/ace/lib/ace/mode/cobol.js | 2 +- node_modules/ace/lib/ace/mode/curly.js | 1 - node_modules/ace/lib/ace/mode/d.js | 1 + node_modules/ace/lib/ace/mode/dot.js | 1 + node_modules/ace/lib/ace/mode/drools.js | 2 +- node_modules/ace/lib/ace/mode/eiffel.js | 2 +- node_modules/ace/lib/ace/mode/elixir.js | 2 +- node_modules/ace/lib/ace/mode/elm.js | 2 +- node_modules/ace/lib/ace/mode/erlang.js | 2 +- node_modules/ace/lib/ace/mode/forth.js | 2 +- node_modules/ace/lib/ace/mode/fortran.js | 1 + node_modules/ace/lib/ace/mode/ftl.js | 1 + node_modules/ace/lib/ace/mode/gcode.js | 1 + node_modules/ace/lib/ace/mode/gherkin.js | 1 + node_modules/ace/lib/ace/mode/gitignore.js | 1 + node_modules/ace/lib/ace/mode/gobstones.js | 1 + node_modules/ace/lib/ace/mode/haml.js | 1 + node_modules/ace/lib/ace/mode/haskell.js | 1 + node_modules/ace/lib/ace/mode/haskell_cabal.js | 1 + node_modules/ace/lib/ace/mode/ini.js | 1 + node_modules/ace/lib/ace/mode/io.js | 4 ++-- node_modules/ace/lib/ace/mode/jade.js | 2 +- node_modules/ace/lib/ace/mode/javascript.js | 1 - node_modules/ace/lib/ace/mode/julia.js | 1 + node_modules/ace/lib/ace/mode/latex.js | 2 +- node_modules/ace/lib/ace/mode/liquid.js | 2 +- node_modules/ace/lib/ace/mode/lisp.js | 1 + node_modules/ace/lib/ace/mode/lua.js | 1 + node_modules/ace/lib/ace/mode/lucene.js | 1 + node_modules/ace/lib/ace/mode/makefile.js | 1 + node_modules/ace/lib/ace/mode/markdown.js | 1 + node_modules/ace/lib/ace/mode/matlab.js | 2 +- node_modules/ace/lib/ace/mode/maze.js | 1 + node_modules/ace/lib/ace/mode/mushcode.js | 1 + node_modules/ace/lib/ace/mode/mysql.js | 2 +- node_modules/ace/lib/ace/mode/nix.js | 1 + node_modules/ace/lib/ace/mode/nsis.js | 2 +- node_modules/ace/lib/ace/mode/objectivec.js | 1 + node_modules/ace/lib/ace/mode/ocaml.js | 1 + node_modules/ace/lib/ace/mode/pascal.js | 1 + node_modules/ace/lib/ace/mode/perl.js | 2 +- node_modules/ace/lib/ace/mode/pgsql.js | 4 ++-- node_modules/ace/lib/ace/mode/praat.js | 4 ++-- node_modules/ace/lib/ace/mode/prolog.js | 2 +- node_modules/ace/lib/ace/mode/properties.js | 1 + node_modules/ace/lib/ace/mode/python.js | 1 + node_modules/ace/lib/ace/mode/r.js | 5 ++--- node_modules/ace/lib/ace/mode/rdoc.js | 2 +- node_modules/ace/lib/ace/mode/rst.js | 6 +++--- node_modules/ace/lib/ace/mode/rust.js | 2 +- node_modules/ace/lib/ace/mode/sass.js | 1 + node_modules/ace/lib/ace/mode/scad.js | 1 - node_modules/ace/lib/ace/mode/scala.js | 1 - node_modules/ace/lib/ace/mode/scheme.js | 1 + node_modules/ace/lib/ace/mode/snippets.js | 1 + node_modules/ace/lib/ace/mode/space.js | 1 + node_modules/ace/lib/ace/mode/sql.js | 2 +- node_modules/ace/lib/ace/mode/sqlserver.js | 2 +- node_modules/ace/lib/ace/mode/stylus.js | 1 + node_modules/ace/lib/ace/mode/swift.js | 1 + node_modules/ace/lib/ace/mode/tcl.js | 1 + node_modules/ace/lib/ace/mode/tex.js | 1 + node_modules/ace/lib/ace/mode/text.js | 2 +- node_modules/ace/lib/ace/mode/textile.js | 1 + node_modules/ace/lib/ace/mode/toml.js | 1 + node_modules/ace/lib/ace/mode/tsx.js | 2 +- node_modules/ace/lib/ace/mode/vbscript.js | 1 + node_modules/ace/lib/ace/mode/verilog.js | 1 + node_modules/ace/lib/ace/mode/vhdl.js | 2 +- node_modules/ace/lib/ace/mode/yaml.js | 1 + 80 files changed, 82 insertions(+), 45 deletions(-) diff --git a/node_modules/ace/lib/ace/mode/abc.js b/node_modules/ace/lib/ace/mode/abc.js index b6eb237a..630d3f02 100644 --- a/node_modules/ace/lib/ace/mode/abc.js +++ b/node_modules/ace/lib/ace/mode/abc.js @@ -38,12 +38,12 @@ define(function (require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ABCHighlightRules = require("./abc_highlight_rules").ABCHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function () { this.HighlightRules = ABCHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/actionscript.js b/node_modules/ace/lib/ace/mode/actionscript.js index 7daf2941..0100c7a4 100644 --- a/node_modules/ace/lib/ace/mode/actionscript.js +++ b/node_modules/ace/lib/ace/mode/actionscript.js @@ -39,12 +39,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ActionScriptHighlightRules = require("./actionscript_highlight_rules").ActionScriptHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = ActionScriptHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/ada.js b/node_modules/ace/lib/ace/mode/ada.js index dc1dfa14..fabf04dc 100644 --- a/node_modules/ace/lib/ace/mode/ada.js +++ b/node_modules/ace/lib/ace/mode/ada.js @@ -34,10 +34,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var AdaHighlightRules = require("./ada_highlight_rules").AdaHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = AdaHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/apache_conf.js b/node_modules/ace/lib/ace/mode/apache_conf.js index 2379b44b..dec48d15 100644 --- a/node_modules/ace/lib/ace/mode/apache_conf.js +++ b/node_modules/ace/lib/ace/mode/apache_conf.js @@ -43,12 +43,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ApacheConfHighlightRules = require("./apache_conf_highlight_rules").ApacheConfHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = ApacheConfHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/applescript.js b/node_modules/ace/lib/ace/mode/applescript.js index 81bc3533..90a79fba 100644 --- a/node_modules/ace/lib/ace/mode/applescript.js +++ b/node_modules/ace/lib/ace/mode/applescript.js @@ -33,14 +33,13 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; -var Tokenizer = require("../tokenizer").Tokenizer; var AppleScriptHighlightRules = require("./applescript_highlight_rules").AppleScriptHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = AppleScriptHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/assembly_x86.js b/node_modules/ace/lib/ace/mode/assembly_x86.js index d6343e80..21858f42 100644 --- a/node_modules/ace/lib/ace/mode/assembly_x86.js +++ b/node_modules/ace/lib/ace/mode/assembly_x86.js @@ -44,6 +44,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = AssemblyX86HighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/autohotkey.js b/node_modules/ace/lib/ace/mode/autohotkey.js index d7093fd5..3ac647c8 100644 --- a/node_modules/ace/lib/ace/mode/autohotkey.js +++ b/node_modules/ace/lib/ace/mode/autohotkey.js @@ -38,12 +38,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var AutoHotKeyHighlightRules = require("./autohotkey_highlight_rules").AutoHotKeyHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = AutoHotKeyHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/batchfile.js b/node_modules/ace/lib/ace/mode/batchfile.js index e080464c..052a2384 100644 --- a/node_modules/ace/lib/ace/mode/batchfile.js +++ b/node_modules/ace/lib/ace/mode/batchfile.js @@ -48,6 +48,7 @@ var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = BatchFileHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/cirru.js b/node_modules/ace/lib/ace/mode/cirru.js index 5f1c4d9e..75a4d0c4 100644 --- a/node_modules/ace/lib/ace/mode/cirru.js +++ b/node_modules/ace/lib/ace/mode/cirru.js @@ -39,6 +39,7 @@ var CoffeeFoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = CirruHighlightRules; this.foldingRules = new CoffeeFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/clojure.js b/node_modules/ace/lib/ace/mode/clojure.js index ee44ac3e..6bb9b0ae 100644 --- a/node_modules/ace/lib/ace/mode/clojure.js +++ b/node_modules/ace/lib/ace/mode/clojure.js @@ -39,6 +39,7 @@ var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensO var Mode = function() { this.HighlightRules = ClojureHighlightRules; this.$outdent = new MatchingParensOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/cobol.js b/node_modules/ace/lib/ace/mode/cobol.js index 91713bd0..3b325985 100644 --- a/node_modules/ace/lib/ace/mode/cobol.js +++ b/node_modules/ace/lib/ace/mode/cobol.js @@ -34,10 +34,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var CobolHighlightRules = require("./cobol_highlight_rules").CobolHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = CobolHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/curly.js b/node_modules/ace/lib/ace/mode/curly.js index f7c42af9..d2bca1cf 100644 --- a/node_modules/ace/lib/ace/mode/curly.js +++ b/node_modules/ace/lib/ace/mode/curly.js @@ -41,7 +41,6 @@ var oop = require("../lib/oop"); // defines the parent mode var HtmlMode = require("./html").Mode; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules; var HtmlFoldMode = require("./folding/html").FoldMode; // defines the language specific highlighters and folding rules diff --git a/node_modules/ace/lib/ace/mode/d.js b/node_modules/ace/lib/ace/mode/d.js index 03c723e0..e48aced2 100644 --- a/node_modules/ace/lib/ace/mode/d.js +++ b/node_modules/ace/lib/ace/mode/d.js @@ -43,6 +43,7 @@ var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = DHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/dot.js b/node_modules/ace/lib/ace/mode/dot.js index 53ea6be8..c081869c 100644 --- a/node_modules/ace/lib/ace/mode/dot.js +++ b/node_modules/ace/lib/ace/mode/dot.js @@ -11,6 +11,7 @@ var Mode = function() { this.HighlightRules = DotHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new DotFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/drools.js b/node_modules/ace/lib/ace/mode/drools.js index 1f408c59..3a361ec8 100644 --- a/node_modules/ace/lib/ace/mode/drools.js +++ b/node_modules/ace/lib/ace/mode/drools.js @@ -34,12 +34,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var DroolsHighlightRules = require("./drools_highlight_rules").DroolsHighlightRules; -var Range = require("../range").Range; var DroolsFoldMode = require("./folding/drools").FoldMode; var Mode = function() { this.HighlightRules = DroolsHighlightRules; this.foldingRules = new DroolsFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/eiffel.js b/node_modules/ace/lib/ace/mode/eiffel.js index f8ba173b..187ced1b 100644 --- a/node_modules/ace/lib/ace/mode/eiffel.js +++ b/node_modules/ace/lib/ace/mode/eiffel.js @@ -34,10 +34,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var EiffelHighlightRules = require("./eiffel_highlight_rules").EiffelHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = EiffelHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/elixir.js b/node_modules/ace/lib/ace/mode/elixir.js index c55ea366..d0eca10a 100644 --- a/node_modules/ace/lib/ace/mode/elixir.js +++ b/node_modules/ace/lib/ace/mode/elixir.js @@ -38,12 +38,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ElixirHighlightRules = require("./elixir_highlight_rules").ElixirHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = ElixirHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/elm.js b/node_modules/ace/lib/ace/mode/elm.js index c12135a2..329e8131 100644 --- a/node_modules/ace/lib/ace/mode/elm.js +++ b/node_modules/ace/lib/ace/mode/elm.js @@ -38,12 +38,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var HighlightRules = require("./elm_highlight_rules").ElmHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = HighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/erlang.js b/node_modules/ace/lib/ace/mode/erlang.js index 615606ca..7ab9c026 100644 --- a/node_modules/ace/lib/ace/mode/erlang.js +++ b/node_modules/ace/lib/ace/mode/erlang.js @@ -38,12 +38,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ErlangHighlightRules = require("./erlang_highlight_rules").ErlangHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = ErlangHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/forth.js b/node_modules/ace/lib/ace/mode/forth.js index 99268d24..21f45ffd 100644 --- a/node_modules/ace/lib/ace/mode/forth.js +++ b/node_modules/ace/lib/ace/mode/forth.js @@ -39,12 +39,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ForthHighlightRules = require("./forth_highlight_rules").ForthHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = ForthHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/fortran.js b/node_modules/ace/lib/ace/mode/fortran.js index fcac3935..41985fa7 100644 --- a/node_modules/ace/lib/ace/mode/fortran.js +++ b/node_modules/ace/lib/ace/mode/fortran.js @@ -41,6 +41,7 @@ var Range = require("../range").Range; var Mode = function() { this.HighlightRules = FortranHighlightRules; this.foldingRules = new CStyleFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/ftl.js b/node_modules/ace/lib/ace/mode/ftl.js index b818b87e..949671c3 100644 --- a/node_modules/ace/lib/ace/mode/ftl.js +++ b/node_modules/ace/lib/ace/mode/ftl.js @@ -37,6 +37,7 @@ var FtlHighlightRules = require("./ftl_highlight_rules").FtlHighlightRules; var Mode = function() { this.HighlightRules = FtlHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/gcode.js b/node_modules/ace/lib/ace/mode/gcode.js index 40c97e30..6fa8e766 100644 --- a/node_modules/ace/lib/ace/mode/gcode.js +++ b/node_modules/ace/lib/ace/mode/gcode.js @@ -38,6 +38,7 @@ define(function(require, exports, module) { var Mode = function() { this.HighlightRules = GcodeHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/gherkin.js b/node_modules/ace/lib/ace/mode/gherkin.js index 63bf51af..0ad96183 100644 --- a/node_modules/ace/lib/ace/mode/gherkin.js +++ b/node_modules/ace/lib/ace/mode/gherkin.js @@ -36,6 +36,7 @@ var GherkinHighlightRules = require("./gherkin_highlight_rules").GherkinHighligh var Mode = function() { this.HighlightRules = GherkinHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/gitignore.js b/node_modules/ace/lib/ace/mode/gitignore.js index fa263985..17c03a9d 100644 --- a/node_modules/ace/lib/ace/mode/gitignore.js +++ b/node_modules/ace/lib/ace/mode/gitignore.js @@ -8,6 +8,7 @@ var GitignoreHighlightRules = require("./gitignore_highlight_rules").GitignoreHi var Mode = function() { this.HighlightRules = GitignoreHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/gobstones.js b/node_modules/ace/lib/ace/mode/gobstones.js index f337044b..f4fd08d6 100644 --- a/node_modules/ace/lib/ace/mode/gobstones.js +++ b/node_modules/ace/lib/ace/mode/gobstones.js @@ -8,6 +8,7 @@ var GobstonesHighlightRules = require("./gobstones_highlight_rules").GobstonesHi var Mode = function() { JavaScriptMode.call(this); this.HighlightRules = GobstonesHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, JavaScriptMode); diff --git a/node_modules/ace/lib/ace/mode/haml.js b/node_modules/ace/lib/ace/mode/haml.js index 59e63555..bce4e1e9 100644 --- a/node_modules/ace/lib/ace/mode/haml.js +++ b/node_modules/ace/lib/ace/mode/haml.js @@ -48,6 +48,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = HamlHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/haskell.js b/node_modules/ace/lib/ace/mode/haskell.js index 833ae5ca..1a064417 100644 --- a/node_modules/ace/lib/ace/mode/haskell.js +++ b/node_modules/ace/lib/ace/mode/haskell.js @@ -49,6 +49,7 @@ var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = HaskellHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/haskell_cabal.js b/node_modules/ace/lib/ace/mode/haskell_cabal.js index 027e9d9a..2e2880c7 100644 --- a/node_modules/ace/lib/ace/mode/haskell_cabal.js +++ b/node_modules/ace/lib/ace/mode/haskell_cabal.js @@ -47,6 +47,7 @@ var FoldMode = require("./folding/haskell_cabal").FoldMode; var Mode = function() { this.HighlightRules = CabalHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/ini.js b/node_modules/ace/lib/ace/mode/ini.js index e1b5944b..9a07397a 100644 --- a/node_modules/ace/lib/ace/mode/ini.js +++ b/node_modules/ace/lib/ace/mode/ini.js @@ -40,6 +40,7 @@ var FoldMode = require("./folding/ini").FoldMode; var Mode = function() { this.HighlightRules = IniHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/io.js b/node_modules/ace/lib/ace/mode/io.js index f3cd4cf0..fd1ecf85 100644 --- a/node_modules/ace/lib/ace/mode/io.js +++ b/node_modules/ace/lib/ace/mode/io.js @@ -37,13 +37,13 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; -var Tokenizer = require("../tokenizer").Tokenizer; var IoHighlightRules = require("./io_highlight_rules").IoHighlightRules; var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = IoHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); @@ -51,7 +51,7 @@ oop.inherits(Mode, TextMode); this.lineCommentStart = "//"; this.blockComment = {start: "/*", end: "*/"}; // Extra logic goes here. - this.$id = "ace/mode/io" + this.$id = "ace/mode/io"; }).call(Mode.prototype); exports.Mode = Mode; diff --git a/node_modules/ace/lib/ace/mode/jade.js b/node_modules/ace/lib/ace/mode/jade.js index d298dac4..fb202766 100644 --- a/node_modules/ace/lib/ace/mode/jade.js +++ b/node_modules/ace/lib/ace/mode/jade.js @@ -43,8 +43,8 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = JadeHighlightRules; - this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/javascript.js b/node_modules/ace/lib/ace/mode/javascript.js index b6ebe5a0..eecda2e1 100644 --- a/node_modules/ace/lib/ace/mode/javascript.js +++ b/node_modules/ace/lib/ace/mode/javascript.js @@ -35,7 +35,6 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var Range = require("../range").Range; var WorkerClient = require("../worker/worker_client").WorkerClient; var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; diff --git a/node_modules/ace/lib/ace/mode/julia.js b/node_modules/ace/lib/ace/mode/julia.js index ddba928f..62f08c4f 100644 --- a/node_modules/ace/lib/ace/mode/julia.js +++ b/node_modules/ace/lib/ace/mode/julia.js @@ -49,6 +49,7 @@ var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = JuliaHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/latex.js b/node_modules/ace/lib/ace/mode/latex.js index 24048d5e..5caf6af8 100644 --- a/node_modules/ace/lib/ace/mode/latex.js +++ b/node_modules/ace/lib/ace/mode/latex.js @@ -5,11 +5,11 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var LatexHighlightRules = require("./latex_highlight_rules").LatexHighlightRules; var LatexFoldMode = require("./folding/latex").FoldMode; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = LatexHighlightRules; this.foldingRules = new LatexFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/liquid.js b/node_modules/ace/lib/ace/mode/liquid.js index b16c2194..e20124f7 100644 --- a/node_modules/ace/lib/ace/mode/liquid.js +++ b/node_modules/ace/lib/ace/mode/liquid.js @@ -34,11 +34,11 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var LiquidHighlightRules = require("./liquid_highlight_rules").LiquidHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = LiquidHighlightRules; this.$outdent = new MatchingBraceOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/lisp.js b/node_modules/ace/lib/ace/mode/lisp.js index 59c97939..24060800 100644 --- a/node_modules/ace/lib/ace/mode/lisp.js +++ b/node_modules/ace/lib/ace/mode/lisp.js @@ -42,6 +42,7 @@ var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules; var Mode = function() { this.HighlightRules = LispHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/lua.js b/node_modules/ace/lib/ace/mode/lua.js index 03525681..de5999d8 100644 --- a/node_modules/ace/lib/ace/mode/lua.js +++ b/node_modules/ace/lib/ace/mode/lua.js @@ -42,6 +42,7 @@ var Mode = function() { this.HighlightRules = LuaHighlightRules; this.foldingRules = new LuaFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/lucene.js b/node_modules/ace/lib/ace/mode/lucene.js index 56743ef9..36983e92 100644 --- a/node_modules/ace/lib/ace/mode/lucene.js +++ b/node_modules/ace/lib/ace/mode/lucene.js @@ -7,6 +7,7 @@ var LuceneHighlightRules = require("./lucene_highlight_rules").LuceneHighlightRu var Mode = function() { this.HighlightRules = LuceneHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/makefile.js b/node_modules/ace/lib/ace/mode/makefile.js index efeca6ee..df599327 100644 --- a/node_modules/ace/lib/ace/mode/makefile.js +++ b/node_modules/ace/lib/ace/mode/makefile.js @@ -43,6 +43,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = MakefileHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/markdown.js b/node_modules/ace/lib/ace/mode/markdown.js index efabed89..a6aaffa0 100644 --- a/node_modules/ace/lib/ace/mode/markdown.js +++ b/node_modules/ace/lib/ace/mode/markdown.js @@ -49,6 +49,7 @@ var Mode = function() { }); this.foldingRules = new MarkdownFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/matlab.js b/node_modules/ace/lib/ace/mode/matlab.js index 44b20d0d..91f6bb63 100644 --- a/node_modules/ace/lib/ace/mode/matlab.js +++ b/node_modules/ace/lib/ace/mode/matlab.js @@ -34,10 +34,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var MatlabHighlightRules = require("./matlab_highlight_rules").MatlabHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = MatlabHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/maze.js b/node_modules/ace/lib/ace/mode/maze.js index 3f1c83c1..a23631f8 100644 --- a/node_modules/ace/lib/ace/mode/maze.js +++ b/node_modules/ace/lib/ace/mode/maze.js @@ -40,6 +40,7 @@ var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = MazeHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/mushcode.js b/node_modules/ace/lib/ace/mode/mushcode.js index 632c8955..9acf5ddd 100644 --- a/node_modules/ace/lib/ace/mode/mushcode.js +++ b/node_modules/ace/lib/ace/mode/mushcode.js @@ -40,6 +40,7 @@ var Range = require("../range").Range; var Mode = function() { this.HighlightRules = MushCodeRules; this.foldingRules = new PythonFoldMode("\\:"); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/mysql.js b/node_modules/ace/lib/ace/mode/mysql.js index d0f7c123..64b06eb7 100644 --- a/node_modules/ace/lib/ace/mode/mysql.js +++ b/node_modules/ace/lib/ace/mode/mysql.js @@ -33,10 +33,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("../mode/text").Mode; var MysqlHighlightRules = require("./mysql_highlight_rules").MysqlHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = MysqlHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/nix.js b/node_modules/ace/lib/ace/mode/nix.js index c8e62a08..3048a569 100644 --- a/node_modules/ace/lib/ace/mode/nix.js +++ b/node_modules/ace/lib/ace/mode/nix.js @@ -49,6 +49,7 @@ var Mode = function() { CMode.call(this); this.HighlightRules = NixHighlightRules; this.foldingRules = new CStyleFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, CMode); diff --git a/node_modules/ace/lib/ace/mode/nsis.js b/node_modules/ace/lib/ace/mode/nsis.js index 8ec4a884..b20fce74 100644 --- a/node_modules/ace/lib/ace/mode/nsis.js +++ b/node_modules/ace/lib/ace/mode/nsis.js @@ -38,12 +38,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var NSISHighlightRules = require("./nsis_highlight_rules").NSISHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = NSISHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/objectivec.js b/node_modules/ace/lib/ace/mode/objectivec.js index 99fdb410..be243606 100644 --- a/node_modules/ace/lib/ace/mode/objectivec.js +++ b/node_modules/ace/lib/ace/mode/objectivec.js @@ -48,6 +48,7 @@ var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = ObjectiveCHighlightRules; this.foldingRules = new CStyleFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/ocaml.js b/node_modules/ace/lib/ace/mode/ocaml.js index 6313d3fb..ff7825b0 100644 --- a/node_modules/ace/lib/ace/mode/ocaml.js +++ b/node_modules/ace/lib/ace/mode/ocaml.js @@ -39,6 +39,7 @@ var Range = require("../range").Range; var Mode = function() { this.HighlightRules = OcamlHighlightRules; + this.$behaviour = this.$defaultBehaviour; this.$outdent = new MatchingBraceOutdent(); }; diff --git a/node_modules/ace/lib/ace/mode/pascal.js b/node_modules/ace/lib/ace/mode/pascal.js index 944088ca..7958ce63 100644 --- a/node_modules/ace/lib/ace/mode/pascal.js +++ b/node_modules/ace/lib/ace/mode/pascal.js @@ -49,6 +49,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = PascalHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/perl.js b/node_modules/ace/lib/ace/mode/perl.js index 37387344..c736ac31 100644 --- a/node_modules/ace/lib/ace/mode/perl.js +++ b/node_modules/ace/lib/ace/mode/perl.js @@ -35,7 +35,6 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var PerlHighlightRules = require("./perl_highlight_rules").PerlHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var Range = require("../range").Range; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { @@ -43,6 +42,7 @@ var Mode = function() { this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new CStyleFoldMode({start: "^=(begin|item)\\b", end: "^=(cut)\\b"}); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/pgsql.js b/node_modules/ace/lib/ace/mode/pgsql.js index d9775837..68693db0 100755 --- a/node_modules/ace/lib/ace/mode/pgsql.js +++ b/node_modules/ace/lib/ace/mode/pgsql.js @@ -33,10 +33,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("../mode/text").Mode; var PgsqlHighlightRules = require("./pgsql_highlight_rules").PgsqlHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = PgsqlHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); @@ -50,7 +50,7 @@ oop.inherits(Mode, TextMode); } else { return this.$getIndent(line); // Keep whatever indent the previous line has } - } + }; this.$id = "ace/mode/pgsql"; }).call(Mode.prototype); diff --git a/node_modules/ace/lib/ace/mode/praat.js b/node_modules/ace/lib/ace/mode/praat.js index 7b100ef0..17afe269 100644 --- a/node_modules/ace/lib/ace/mode/praat.js +++ b/node_modules/ace/lib/ace/mode/praat.js @@ -35,13 +35,13 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var PraatHighlightRules = require("./praat_highlight_rules").PraatHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var Range = require("../range").Range; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = PraatHighlightRules; - this.$outdent = new MatchingBraceOutdent(); + this.foldingRules = new CStyleFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/prolog.js b/node_modules/ace/lib/ace/mode/prolog.js index dc64b7ea..72a39943 100644 --- a/node_modules/ace/lib/ace/mode/prolog.js +++ b/node_modules/ace/lib/ace/mode/prolog.js @@ -43,12 +43,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var PrologHighlightRules = require("./prolog_highlight_rules").PrologHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = PrologHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/properties.js b/node_modules/ace/lib/ace/mode/properties.js index 558e52e7..0541db14 100644 --- a/node_modules/ace/lib/ace/mode/properties.js +++ b/node_modules/ace/lib/ace/mode/properties.js @@ -37,6 +37,7 @@ var PropertiesHighlightRules = require("./properties_highlight_rules").Propertie var Mode = function() { this.HighlightRules = PropertiesHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/python.js b/node_modules/ace/lib/ace/mode/python.js index c4e6cebe..38af6585 100644 --- a/node_modules/ace/lib/ace/mode/python.js +++ b/node_modules/ace/lib/ace/mode/python.js @@ -40,6 +40,7 @@ var Range = require("../range").Range; var Mode = function() { this.HighlightRules = PythonHighlightRules; this.foldingRules = new PythonFoldMode("\\:"); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/r.js b/node_modules/ace/lib/ace/mode/r.js index addedd1a..d69fcf62 100644 --- a/node_modules/ace/lib/ace/mode/r.js +++ b/node_modules/ace/lib/ace/mode/r.js @@ -44,12 +44,11 @@ define(function(require, exports, module) { var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var RHighlightRules = require("./r_highlight_rules").RHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; - var unicode = require("../unicode"); - var Mode = function() - { + var Mode = function(){ this.HighlightRules = RHighlightRules; this.$outdent = new MatchingBraceOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/rdoc.js b/node_modules/ace/lib/ace/mode/rdoc.js index bd99d4ba..220025a6 100644 --- a/node_modules/ace/lib/ace/mode/rdoc.js +++ b/node_modules/ace/lib/ace/mode/rdoc.js @@ -40,13 +40,13 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; -var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var RDocHighlightRules = require("./rdoc_highlight_rules").RDocHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Mode = function(suppressHighlighting) { this.HighlightRules = RDocHighlightRules; this.$outdent = new MatchingBraceOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/rst.js b/node_modules/ace/lib/ace/mode/rst.js index 7e38b66e..bde43b17 100644 --- a/node_modules/ace/lib/ace/mode/rst.js +++ b/node_modules/ace/lib/ace/mode/rst.js @@ -36,14 +36,14 @@ var TextMode = require("./text").Mode; var RSTHighlightRules = require("./rst_highlight_rules").RSTHighlightRules; var Mode = function() { - this.HighlightRules = RSTHighlightRules; + this.HighlightRules = RSTHighlightRules; }; oop.inherits(Mode, TextMode); (function() { - this.type = "text"; + this.type = "text"; - this.$id = "ace/mode/rst"; + this.$id = "ace/mode/rst"; }).call(Mode.prototype); exports.Mode = Mode; diff --git a/node_modules/ace/lib/ace/mode/rust.js b/node_modules/ace/lib/ace/mode/rust.js index 17b6d208..29ecef9f 100644 --- a/node_modules/ace/lib/ace/mode/rust.js +++ b/node_modules/ace/lib/ace/mode/rust.js @@ -39,12 +39,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var RustHighlightRules = require("./rust_highlight_rules").RustHighlightRules; -// TODO: pick appropriate fold mode var FoldMode = require("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = RustHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/sass.js b/node_modules/ace/lib/ace/mode/sass.js index 3025e71e..1545f869 100644 --- a/node_modules/ace/lib/ace/mode/sass.js +++ b/node_modules/ace/lib/ace/mode/sass.js @@ -39,6 +39,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = SassHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/scad.js b/node_modules/ace/lib/ace/mode/scad.js index 78c77f10..40a87e19 100644 --- a/node_modules/ace/lib/ace/mode/scad.js +++ b/node_modules/ace/lib/ace/mode/scad.js @@ -35,7 +35,6 @@ var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var scadHighlightRules = require("./scad_highlight_rules").scadHighlightRules; var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; -var Range = require("../range").Range; var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; diff --git a/node_modules/ace/lib/ace/mode/scala.js b/node_modules/ace/lib/ace/mode/scala.js index be7ccc5d..bbe2b1bf 100644 --- a/node_modules/ace/lib/ace/mode/scala.js +++ b/node_modules/ace/lib/ace/mode/scala.js @@ -7,7 +7,6 @@ var ScalaHighlightRules = require("./scala_highlight_rules").ScalaHighlightRules var Mode = function() { JavaScriptMode.call(this); - this.HighlightRules = ScalaHighlightRules; }; oop.inherits(Mode, JavaScriptMode); diff --git a/node_modules/ace/lib/ace/mode/scheme.js b/node_modules/ace/lib/ace/mode/scheme.js index 2360b3da..f7f93e9d 100644 --- a/node_modules/ace/lib/ace/mode/scheme.js +++ b/node_modules/ace/lib/ace/mode/scheme.js @@ -44,6 +44,7 @@ var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensO var Mode = function() { this.HighlightRules = SchemeHighlightRules; this.$outdent = new MatchingParensOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/snippets.js b/node_modules/ace/lib/ace/mode/snippets.js index 02652515..01ffe16a 100644 --- a/node_modules/ace/lib/ace/mode/snippets.js +++ b/node_modules/ace/lib/ace/mode/snippets.js @@ -99,6 +99,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = SnippetGroupHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/space.js b/node_modules/ace/lib/ace/mode/space.js index 6117d053..a839cdf7 100644 --- a/node_modules/ace/lib/ace/mode/space.js +++ b/node_modules/ace/lib/ace/mode/space.js @@ -11,6 +11,7 @@ var Mode = function() { // set everything up this.HighlightRules = SpaceHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); (function() { diff --git a/node_modules/ace/lib/ace/mode/sql.js b/node_modules/ace/lib/ace/mode/sql.js index e1bf0f14..3f267c5c 100644 --- a/node_modules/ace/lib/ace/mode/sql.js +++ b/node_modules/ace/lib/ace/mode/sql.js @@ -34,10 +34,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var SqlHighlightRules = require("./sql_highlight_rules").SqlHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = SqlHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/sqlserver.js b/node_modules/ace/lib/ace/mode/sqlserver.js index 5f24730c..69e4ffd8 100644 --- a/node_modules/ace/lib/ace/mode/sqlserver.js +++ b/node_modules/ace/lib/ace/mode/sqlserver.js @@ -34,12 +34,12 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var SqlServerHighlightRules = require("./sqlserver_highlight_rules").SqlHighlightRules; -var Range = require("../range").Range; var SqlServerFoldMode = require("./folding/sqlserver").FoldMode; var Mode = function() { this.HighlightRules = SqlServerHighlightRules; this.foldingRules = new SqlServerFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/stylus.js b/node_modules/ace/lib/ace/mode/stylus.js index 2c9c3cf8..ce92061c 100644 --- a/node_modules/ace/lib/ace/mode/stylus.js +++ b/node_modules/ace/lib/ace/mode/stylus.js @@ -48,6 +48,7 @@ var FoldMode = require("./folding/coffee").FoldMode; var Mode = function() { this.HighlightRules = StylusHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/swift.js b/node_modules/ace/lib/ace/mode/swift.js index 9b35a144..cd8647de 100644 --- a/node_modules/ace/lib/ace/mode/swift.js +++ b/node_modules/ace/lib/ace/mode/swift.js @@ -46,6 +46,7 @@ var Mode = function() { this.HighlightRules = HighlightRules; this.foldingRules = new FoldMode(); this.$behaviour = new CstyleBehaviour(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/tcl.js b/node_modules/ace/lib/ace/mode/tcl.js index 09f09a7b..a7b0e6dd 100644 --- a/node_modules/ace/lib/ace/mode/tcl.js +++ b/node_modules/ace/lib/ace/mode/tcl.js @@ -42,6 +42,7 @@ var Mode = function() { this.HighlightRules = TclHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new CStyleFoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/tex.js b/node_modules/ace/lib/ace/mode/tex.js index b1d610fb..aad07763 100644 --- a/node_modules/ace/lib/ace/mode/tex.js +++ b/node_modules/ace/lib/ace/mode/tex.js @@ -50,6 +50,7 @@ var Mode = function(suppressHighlighting) { else this.HighlightRules = TexHighlightRules; this.$outdent = new MatchingBraceOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/text.js b/node_modules/ace/lib/ace/mode/text.js index d780fdb8..731d194e 100644 --- a/node_modules/ace/lib/ace/mode/text.js +++ b/node_modules/ace/lib/ace/mode/text.js @@ -44,7 +44,7 @@ var Mode = function() { }; (function() { - this.$behaviour = new CstyleBehaviour(); + this.$defaultBehaviour = new CstyleBehaviour(); this.tokenRe = new RegExp("^[" + unicode.packages.L diff --git a/node_modules/ace/lib/ace/mode/textile.js b/node_modules/ace/lib/ace/mode/textile.js index 9a1ea809..8419c409 100644 --- a/node_modules/ace/lib/ace/mode/textile.js +++ b/node_modules/ace/lib/ace/mode/textile.js @@ -39,6 +39,7 @@ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutd var Mode = function() { this.HighlightRules = TextileHighlightRules; this.$outdent = new MatchingBraceOutdent(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/toml.js b/node_modules/ace/lib/ace/mode/toml.js index 9f84323c..1c4148df 100644 --- a/node_modules/ace/lib/ace/mode/toml.js +++ b/node_modules/ace/lib/ace/mode/toml.js @@ -44,6 +44,7 @@ var FoldMode = require("./folding/ini").FoldMode; var Mode = function() { this.HighlightRules = TomlHighlightRules; this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/tsx.js b/node_modules/ace/lib/ace/mode/tsx.js index 81c038d0..06564e1a 100644 --- a/node_modules/ace/lib/ace/mode/tsx.js +++ b/node_modules/ace/lib/ace/mode/tsx.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var tsMode = require("./typescript").Mode; -var Mode = function() { +var Mode = function() { tsMode.call(this); this.$highlightRuleConfig = {jsx: true}; }; diff --git a/node_modules/ace/lib/ace/mode/vbscript.js b/node_modules/ace/lib/ace/mode/vbscript.js index ed0ec61d..569e2e80 100644 --- a/node_modules/ace/lib/ace/mode/vbscript.js +++ b/node_modules/ace/lib/ace/mode/vbscript.js @@ -46,6 +46,7 @@ var VBScriptHighlightRules = require("./vbscript_highlight_rules").VBScriptHighl var Mode = function() { this.HighlightRules = VBScriptHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/verilog.js b/node_modules/ace/lib/ace/mode/verilog.js index 1c7f3ef5..5c2ca733 100644 --- a/node_modules/ace/lib/ace/mode/verilog.js +++ b/node_modules/ace/lib/ace/mode/verilog.js @@ -38,6 +38,7 @@ var Range = require("../range").Range; var Mode = function() { this.HighlightRules = VerilogHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/vhdl.js b/node_modules/ace/lib/ace/mode/vhdl.js index 26057bcc..247ded94 100644 --- a/node_modules/ace/lib/ace/mode/vhdl.js +++ b/node_modules/ace/lib/ace/mode/vhdl.js @@ -33,10 +33,10 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var VHDLHighlightRules = require("./vhdl_highlight_rules").VHDLHighlightRules; -var Range = require("../range").Range; var Mode = function() { this.HighlightRules = VHDLHighlightRules; + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); diff --git a/node_modules/ace/lib/ace/mode/yaml.js b/node_modules/ace/lib/ace/mode/yaml.js index 8f7782c3..aadbb8b5 100644 --- a/node_modules/ace/lib/ace/mode/yaml.js +++ b/node_modules/ace/lib/ace/mode/yaml.js @@ -41,6 +41,7 @@ var Mode = function() { this.HighlightRules = YamlHighlightRules; this.$outdent = new MatchingBraceOutdent(); this.foldingRules = new FoldMode(); + this.$behaviour = this.$defaultBehaviour; }; oop.inherits(Mode, TextMode); From 6c21d6e2b75f556eb0ba5658f9507e6b968c07c5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 3 Sep 2016 14:04:24 +0200 Subject: [PATCH 175/281] c9-auto-bump 3.1.3057 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a87b17e3..38f39b19 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3056", + "version": "3.1.3057", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From dfd345746277ee1038c0f81c8b9e99523fa45e81 Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 3 Sep 2016 17:52:29 +0200 Subject: [PATCH 176/281] c9-auto-bump 3.1.3058 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 38f39b19..8e24d15f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3057", + "version": "3.1.3058", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c1df0436b4aaf236d83ddfd59087b6887b546e1d Mon Sep 17 00:00:00 2001 From: c9bot Date: Sun, 4 Sep 2016 19:47:42 +0200 Subject: [PATCH 177/281] c9-auto-bump 3.1.3059 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8e24d15f..f8a76d68 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3058", + "version": "3.1.3059", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 8cc0ca42b91cf4d5603d649742c7de5985877821 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 5 Sep 2016 23:29:43 +0400 Subject: [PATCH 178/281] update js_beautify --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f8a76d68..d1ab2b37 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "c9.ide.configuration": "#a936df26bb", "c9.ide.dialog.wizard": "#7667ec79a8", "c9.ide.fontawesome": "#781602c5d8", - "c9.ide.format": "#f99082ff4c", + "c9.ide.format": "#1e7a5b30a3", "c9.ide.help.support": "#fbe8eb5c36", "c9.ide.imgeditor": "#612e75ef4f", "c9.ide.immediate": "#0b0ee744f9", From 82b9510125484d0659e3b62524504f68b8231de8 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 16:35:43 +0200 Subject: [PATCH 179/281] c9-auto-bump 3.1.3060 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f8a76d68..3ffce1bd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3059", + "version": "3.1.3060", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5fa21dd36c0ff1fcdfa870ca6654e55033941e1f Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 20:33:53 +0200 Subject: [PATCH 180/281] c9-auto-bump 3.1.3061 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3ffce1bd..d345aa04 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3060", + "version": "3.1.3061", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 995d8cc50bb1a5c47f97ddf0b71e7d011e802c17 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 21:05:53 +0200 Subject: [PATCH 181/281] c9-auto-bump 3.1.3062 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d345aa04..aab63ffb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3061", + "version": "3.1.3062", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bce511a905d3a023a4832132ca1030ac488b9a04 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 22:17:54 +0200 Subject: [PATCH 182/281] c9-auto-bump 3.1.3063 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index aab63ffb..f8658b76 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3062", + "version": "3.1.3063", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 2003c68d382398955e84727947fd28f41b84ffa6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 22:42:21 +0200 Subject: [PATCH 183/281] c9-auto-bump 3.1.3064 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f8658b76..87d08bd9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3063", + "version": "3.1.3064", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5d7bc617f1f0c623b51877fed6cfa91e6d15a473 Mon Sep 17 00:00:00 2001 From: c9bot Date: Tue, 6 Sep 2016 22:42:39 +0200 Subject: [PATCH 184/281] c9-auto-bump 3.1.3065 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2f5084c0..37c791a5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3064", + "version": "3.1.3065", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 35d106ddc3d7150697938424f04a53df8d665eae Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 03:32:34 +0200 Subject: [PATCH 185/281] c9-auto-bump 3.1.3066 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 37c791a5..0d6785fd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3065", + "version": "3.1.3066", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 28846ad747930532911e1e2968bc36d622516bc2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 05:32:37 +0200 Subject: [PATCH 186/281] c9-auto-bump 3.1.3067 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d6785fd..79f6bcb9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3066", + "version": "3.1.3067", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 423aac092b75004a2ef84cd5289fb6b506fc50f2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 11:33:06 +0200 Subject: [PATCH 187/281] c9-auto-bump 3.1.3068 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 79f6bcb9..677c8dbe 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3067", + "version": "3.1.3068", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 45b3c37ff50254505551f0c1b5303aba637c50ee Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 12:22:41 +0200 Subject: [PATCH 188/281] c9-auto-bump 3.1.3069 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 677c8dbe..6ad14d9f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3068", + "version": "3.1.3069", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 237420c5d300ad0e934aad41de8107103c601a05 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 12:27:08 +0200 Subject: [PATCH 189/281] c9-auto-bump 3.1.3070 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6ad14d9f..48741dc1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3069", + "version": "3.1.3070", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From d31eabe6bce4cc8c4ecc91b18911997215c84e07 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 7 Sep 2016 21:15:21 +0200 Subject: [PATCH 190/281] c9-auto-bump 3.1.3071 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 48741dc1..df780fc0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3070", + "version": "3.1.3071", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3b52f5587d9b1148d4be84ced8ce1127b6cf7f09 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 8 Sep 2016 01:41:45 +0200 Subject: [PATCH 191/281] c9-auto-bump 3.1.3072 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index df780fc0..21c33ee7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3071", + "version": "3.1.3072", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9c05150c5ab4c7c7aeadc41b4e693d3a3a8630e7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 8 Sep 2016 19:47:19 +0200 Subject: [PATCH 192/281] c9-auto-bump 3.1.3073 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 21c33ee7..f4f21206 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3072", + "version": "3.1.3073", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f208538f4e574f97df0e92d94f760cfb6038a0fd Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 9 Sep 2016 01:42:17 +0200 Subject: [PATCH 193/281] c9-auto-bump 3.1.3074 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f4f21206..da8d37bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3073", + "version": "3.1.3074", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bc6e9b8e987060708b7a8392d7e337ba0ab38b99 Mon Sep 17 00:00:00 2001 From: c9bot Date: Fri, 9 Sep 2016 14:16:18 +0200 Subject: [PATCH 194/281] c9-auto-bump 3.1.3075 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index da8d37bb..7ac0af7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3074", + "version": "3.1.3075", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 75a5cc1277f1478cec5d7611559df07a60f7c190 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Fri, 9 Sep 2016 23:50:59 +0000 Subject: [PATCH 195/281] Refactoring Gui --- plugins/c9.ide.watcher/gui.js | 42 ++++++++++++++--------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 7249cee7..ad216e7a 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -82,31 +82,23 @@ define(function(require, exports, module) { }, plugin); } - tabManager.getTabs().forEach(function(tab) { - if (!tab.path) - return; + function initializeTab(tab) { + if (!tab.path) return; if (tab.document.undoManager.isAtBookmark()) { initializeDocument(tab.document); } - else { - console.error("Unsupported state"); - } - if (tab.classList.contains("conflict")) { addChangedTab(tab, comparisonType.TIMESTAMP_AND_CONTENTS); } - }); + } + tabManager.getTabs().forEach(initializeTab); tabManager.on("open", function(e) { - initializeDocument(e.tab.document); - if (e.tab.classList.contains("conflict")) { - addChangedTab(e.tab, comparisonType.TIMESTAMP_AND_CONTENTS); - } + initializeTab(e.tab); }, plugin); // Hook the save of the document value - save.on("beforeSave", function(e) { e.document.meta.$savingValue = e.save; if (e.tab.classList.contains("conflict")) { @@ -178,6 +170,10 @@ define(function(require, exports, module) { delete changedPaths[path]; } + function isTabSaving(tab) { + return tab.document.meta.$saving; + } + function addChangedTab(tab, doubleCheckComparisonType) { // If we already have a dialog open, just update it, but mark the value dirty if (changedPaths[tab.path]) { @@ -188,8 +184,14 @@ define(function(require, exports, module) { } // Ignore changes that come in while tab is being saved - if (tab.document.meta.$saving) { - console.log("[watchers] Watcher fired, but tab is still saving", path); + if (isTabSaving(tab)) return; + + // If the terminal is currently focussed, lets wait until + // another tab is focussed + if (tabManager.focussedTab && tabManager.focussedTab.editorType == "terminal") { + tabManager.once("focus", function(){ + addChangedTab(tab, comparisonType.CONTENTS); + }); return; } @@ -198,16 +200,6 @@ define(function(require, exports, module) { changedPaths[tab.path] = { tab: tab, resolve: resolve }; - // If the terminal is currently focussed, lets wait until - // another tab is focussed - if (tabManager.focussedTab - && tabManager.focussedTab.editorType == "terminal") { - tabManager.once("focus", function(){ - addChangedTab(tab, comparisonType.CONTENTS); - }); - return; - } - function resolve() { if (collabEnabled && collab.send) collab.send({type: "RESOLVE_CONFLICT", data: {docId: path}}); From 5c91f361918a921f1524da468dced7308fd40b3a Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Fri, 9 Sep 2016 23:51:31 +0000 Subject: [PATCH 196/281] more changes? --- plugins/c9.ide.watcher/gui.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index ad216e7a..eab2e571 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -406,9 +406,7 @@ define(function(require, exports, module) { } } else { - getLatestValue(path, function(err, path, data) { - updateChangedPath(err, path, data); - }); + getLatestValue(path, updateChangedPath); } checkEmptyQueue(); @@ -431,10 +429,7 @@ define(function(require, exports, module) { } else { askAutoMerge(); - - getLatestValue(path, function(err, path, data) { - mergeChangedPath(err, path, data); - }); + getLatestValue(path, mergeChangedPath); } checkEmptyQueue(); From 347441397d633c468b4a5f8312b2567d4d3d3cf0 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Sat, 10 Sep 2016 00:52:00 +0000 Subject: [PATCH 197/281] Moving variables out of closures and passing into functions instead. Only show one dialog at a time --- plugins/c9.ide.watcher/gui.js | 196 ++++++++++++++++++---------------- 1 file changed, 101 insertions(+), 95 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index eab2e571..0204c480 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -170,6 +170,13 @@ define(function(require, exports, module) { delete changedPaths[path]; } + function resolve(doc, path) { + if (collabEnabled && collab.send) + collab.send({type: "RESOLVE_CONFLICT", data: {docId: path}}); + resolveConflict(doc, path); + } + + function isTabSaving(tab) { return tab.document.meta.$saving; } @@ -200,114 +207,98 @@ define(function(require, exports, module) { changedPaths[tab.path] = { tab: tab, resolve: resolve }; - function resolve() { - if (collabEnabled && collab.send) - collab.send({type: "RESOLVE_CONFLICT", data: {docId: path}}); - resolveConflict(doc, path); - } - switch (doubleCheckComparisonType) { case comparisonType.TIMESTAMP_AND_CONTENTS: - checkByStatOrContents(); + checkByStatOrContents(tab); break; case comparisonType.CONTENTS: - checkByContents(); + checkByContents(tab); break; case comparisonType.NONE: - dialog(); + showChangeDialog(tab); break; } + } - function dialog(data) { - if (!changedPaths[path]) - return; - changedPaths[path].data = data || changedPaths[path].data; - - if (changeDialog) { - // The dialog is visible - if (changeDialog.visible === 1) { - question.all = true; - return; - } - // The dialog still is to become visible - else if (changeDialog.visible === undefined) { - changeDialog.on("show", function(){ - question.all = true; - }); - return; - } - } - - if (tabManager.focussedTab && !changedPaths[tabManager.focussedTab.path]) { - doc.tab.classList.add("conflict"); - // Let's try again later, maybe then one of our paths gets focus - return tabManager.once("focus", function() { - dialog(); - }); - } - - if (!tabManager.findTab(path)) // drat! tab is gone - return; - - // Show dialogs for changed tabs - for (var changedPath in changedPaths) { - tab = changedPaths[changedPath].tab; - data = changedPaths[changedPath].data; + function createChangeDialog(tab, data) { + var doc = tab.document; + var path = tab.path; + + if (!changedPaths[path]) + return; + changedPaths[path].data = data || changedPaths[path].data; + + if (tabManager.focussedTab && !changedPaths[tabManager.focussedTab.path]) { + doc.tab.classList.add("conflict"); + // Let's try again later, maybe then one of our paths gets focus + return tabManager.once("focus", function() { showChangeDialog(tab, data); + }); + } + + if (!tabManager.findTab(path)) // drat! tab is gone + return; + + // Show dialogs for changed tab + showChangeDialog(tab, data); + } + + function checkByStatOrContents(tab) { + var doc = tab.doc; + var path = tab.path; + + fs.stat(path, function(err, stat) { + if (!err && doc.meta.timestamp >= stat.mtime) + return resolve(doc, path); + checkByContents(tab, stat); + }); + } + + function checkByContents(tab, stat) { + var doc = tab.doc; + var path = tab.path; + + fs.readFile(path, function(err, data) { + if (err) { + console.warn("[watchers] Could not read", path, "will assume it got changed"); + return createChangeDialog(tab); } - } - - function checkByStatOrContents() { - fs.stat(path, function(err, stat) { - if (!err && doc.meta.timestamp >= stat.mtime) - return resolve(); - checkByContents(stat); - }); - } - - function checkByContents(stat) { - fs.readFile(path, function(err, data) { - if (err) { - console.warn("[watchers] Could not read", path, "will assume it got changed"); - return dialog(); - } - - // false alarm. File content didn't change - if (data === doc.meta.$savedValue) - return resolve(); + + // false alarm. File content didn't change + if (data === doc.meta.$savedValue) + return resolve(doc, path); + + // Store base value for merges + if (doc.meta.$mergeRoot == undefined) + doc.meta.$mergeRoot = doc.meta.$savedValue || doc.recentValue; + // Update saved value + doc.meta.$savedValue = data; + if (stat) + doc.meta.timestamp = stat.mtime; - // Store base value for merges - if (doc.meta.$mergeRoot == undefined) - doc.meta.$mergeRoot = doc.meta.$savedValue || doc.recentValue; - // Update saved value - doc.meta.$savedValue = data; - if (stat) - doc.meta.timestamp = stat.mtime; - - // short cut: remote value is the same as the current value - if (data === doc.value) { // Expensive check - - // Remove the changed state from the document - doc.undoManager.bookmark(); - - // Mark as resolved - resolve(); - - return; - } else { - // if this is the first time change notification comes - // remember undomanger state for deciding to merge or not - if (doc.meta.$merge == undefined) - doc.meta.$merge = !doc.undoManager.isAtBookmark(); - doc.undoManager.bookmark(-2); - } + // short cut: remote value is the same as the current value + if (data === doc.value) { // Expensive check - if (automerge(tab, data)) - resolve(); - else - dialog(data); - }); - } + // Remove the changed state from the document + doc.undoManager.bookmark(); + + // Mark as resolved + resolve(doc, path); + + return; + } else { + // if this is the first time change notification comes + // remember undomanger state for deciding to merge or not + if (doc.meta.$merge == undefined) + doc.meta.$merge = !doc.undoManager.isAtBookmark(); + doc.undoManager.bookmark(-2); + } + + if (automerge(tab, data)) + resolve(doc, path); + else + createChangeDialog(tab, data); + }); } function automerge(tab, data) { @@ -381,6 +372,21 @@ define(function(require, exports, module) { if (!tab) return; } + if (changeDialog) { + // The dialog is visible + if (changeDialog.visible === 1) { + question.all = true; + return; + } + // The dialog still is to become visible + else if (changeDialog.visible === undefined) { + changeDialog.on("show", function(){ + question.all = true; + }); + return; + } + } + path = tab.path; merge = tab.document.meta.$merge && typeof tab.document.meta.$savedValue === "string"; From d07eeb1b189de5736d19ace8b949f29ec954fb77 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Mon, 12 Sep 2016 10:01:04 +0000 Subject: [PATCH 198/281] Revert "Remove obsolete onlinedev_helper.js" This reverts commit 6b858b7b95effd9b3ddf3f046e39ca9db0e3f0ae. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 20aaceee..92942041 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "c9.ide.threewaymerge": "#229382aa0b", "c9.ide.undo": "#b028bcb4d5", "c9.ide.upload": "#e4351f5a2b", - "c9.ide.welcome": "#5b86c44e92", + "c9.ide.welcome": "#7b75aefc28", "c9.ide.guide": "#19f6087429" } } \ No newline at end of file From 2ac7b1c1b659e3e5dac3a39709632479ee761b54 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 12 Sep 2016 12:24:30 +0200 Subject: [PATCH 199/281] c9-auto-bump 3.1.3076 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dfaea700..44ff66c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3075", + "version": "3.1.3076", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f33f6f82722c45baed31160dd4f0fd8da390e9b9 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 12 Sep 2016 12:35:27 +0200 Subject: [PATCH 200/281] c9-auto-bump 3.1.3077 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44ff66c4..6167c0dc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3076", + "version": "3.1.3077", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3566d9ff279719cf6611482174ecb4c48d43c9e7 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 12 Sep 2016 14:13:47 +0200 Subject: [PATCH 201/281] c9-auto-bump 3.1.3078 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6167c0dc..cea7de26 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3077", + "version": "3.1.3078", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From fe8791da3989531dd754c8d95f3516751b094e00 Mon Sep 17 00:00:00 2001 From: c9bot Date: Mon, 12 Sep 2016 19:47:42 +0200 Subject: [PATCH 202/281] c9-auto-bump 3.1.3079 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cea7de26..fb11a07d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3078", + "version": "3.1.3079", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e04e89178aa0c526941ab014dab54ede11f3d3a7 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 10:28:32 +0000 Subject: [PATCH 203/281] Renaming functions to be clearer --- plugins/c9.ide.watcher/gui.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 0204c480..69fe7dac 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -178,7 +178,7 @@ define(function(require, exports, module) { function isTabSaving(tab) { - return tab.document.meta.$saving; + return !!tab.document.meta.$saving; } function addChangedTab(tab, doubleCheckComparisonType) { @@ -231,9 +231,10 @@ define(function(require, exports, module) { if (tabManager.focussedTab && !changedPaths[tabManager.focussedTab.path]) { doc.tab.classList.add("conflict"); // Let's try again later, maybe then one of our paths gets focus - return tabManager.once("focus", function() { + tabManager.once("focus", function() { showChangeDialog(tab, data); }); + return; } if (!tabManager.findTab(path)) // drat! tab is gone @@ -402,7 +403,7 @@ define(function(require, exports, module) { changedPaths[path].tab.document.undoManager.bookmark(-2); changedPaths[path].resolve(); } - checkEmptyQueue(); + checkIfQueueIsEmpty(); } function yes(all) { // Remote | Yes @@ -415,7 +416,7 @@ define(function(require, exports, module) { getLatestValue(path, updateChangedPath); } - checkEmptyQueue(); + checkIfQueueIsEmpty(); } if (merge) { @@ -438,7 +439,7 @@ define(function(require, exports, module) { getLatestValue(path, mergeChangedPath); } - checkEmptyQueue(); + checkIfQueueIsEmpty(); }, { merge: true, @@ -544,7 +545,7 @@ define(function(require, exports, module) { showDeleteDialog(); } - checkEmptyQueue(); + checkIfQueueIsEmpty(); }, function(all, cancel) { // No if (all) { @@ -559,7 +560,7 @@ define(function(require, exports, module) { showDeleteDialog(); } - checkEmptyQueue(); + checkIfQueueIsEmpty(); }, { all: Object.keys(removedPaths).length > 1 } ); @@ -576,7 +577,9 @@ define(function(require, exports, module) { tabManager.focusTab(tab); } - function checkEmptyQueue(){ + function checkIfQueueIsEmpty(){ + showChangeDialog(); + for (var prop in changedPaths) return; for (var prop in removedPaths) return; From ab6a92a753f09403a51fd5771c08845077e3a7af Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 11:06:25 +0000 Subject: [PATCH 204/281] it's tab.document --- plugins/c9.ide.watcher/gui.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 69fe7dac..30176a0a 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -245,7 +245,7 @@ define(function(require, exports, module) { } function checkByStatOrContents(tab) { - var doc = tab.doc; + var doc = tab.document; var path = tab.path; fs.stat(path, function(err, stat) { @@ -256,7 +256,7 @@ define(function(require, exports, module) { } function checkByContents(tab, stat) { - var doc = tab.doc; + var doc = tab.document; var path = tab.path; fs.readFile(path, function(err, data) { From 6093c805290be9255325da7fd1394243b67dd242 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 11:47:50 +0000 Subject: [PATCH 205/281] Pass arguments to resolve --- plugins/c9.ide.watcher/gui.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 30176a0a..caaa0dba 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -205,7 +205,7 @@ define(function(require, exports, module) { var doc = tab.document; var path = tab.path; - changedPaths[tab.path] = { tab: tab, resolve: resolve }; + changedPaths[tab.path] = { tab: tab, resolve: resolve.bind(changedPaths[tab.path], doc, path) }; switch (doubleCheckComparisonType) { case comparisonType.TIMESTAMP_AND_CONTENTS: From ad3c00acb354859c33e7159580ca05f60bb8ff41 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 12:20:29 +0000 Subject: [PATCH 206/281] Don't check the queue at the start of showXXDialog, check it in the correct location --- plugins/c9.ide.watcher/gui.js | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index caaa0dba..1497cd69 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -364,15 +364,6 @@ define(function(require, exports, module) { function showChangeDialog(tab, data) { var path, merge; - if (!tab) { - for (path in changedPaths) { - tab = changedPaths[path].tab; - data = changedPaths[path].data; - break; - } - if (!tab) return; - } - if (changeDialog) { // The dialog is visible if (changeDialog.visible === 1) { @@ -511,16 +502,7 @@ define(function(require, exports, module) { } function showDeleteDialog(tab) { - var path; - if (!tab) { - for (path in removedPaths) { - tab = removedPaths[path]; - break; - } - if (!tab) return; - } - - path = tab.path; + var path = tab.path; deleteDialog = question.show( "File removed, keep tab open?", @@ -542,7 +524,6 @@ define(function(require, exports, module) { doc.undoManager.bookmark(-2); doc.meta.newfile = true; delete removedPaths[path]; - showDeleteDialog(); } checkIfQueueIsEmpty(); @@ -557,7 +538,6 @@ define(function(require, exports, module) { else { closeTab(removedPaths[path]); delete removedPaths[path]; - showDeleteDialog(); } checkIfQueueIsEmpty(); @@ -578,10 +558,12 @@ define(function(require, exports, module) { } function checkIfQueueIsEmpty(){ - showChangeDialog(); - - for (var prop in changedPaths) return; - for (var prop in removedPaths) return; + for (var path in changedPaths) { + return showChangeDialog(changedPaths[path].tab, changedPaths[path].data); + } + for (var path in removedPaths) { + return showDeleteDialog(removedPaths[path].tab); + }; if (initialFocus) { tabManager.focusTab(initialFocus); From ed56a8ea11a8c4f3398bef4234513ad1c1b08b21 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 12:54:35 +0000 Subject: [PATCH 207/281] Make removedPaths object consistent with changedPaths --- plugins/c9.ide.watcher/gui.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 1497cd69..333ea890 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -472,7 +472,7 @@ define(function(require, exports, module) { fs.stat(tab.path, function(err, data) { if (err && err.code === "ENOENT") { - removedPaths[tab.path] = tab; + removedPaths[tab.path] = {tab: tab}; if (deleteDialog) { // The dialog is visible @@ -513,14 +513,14 @@ define(function(require, exports, module) { if (all) { for (var id in removedPaths) { - doc = removedPaths[id].document; + doc = removedPaths[id].tab.document; doc.undoManager.bookmark(-2); doc.meta.newfile = true; } removedPaths = {}; } else { - doc = removedPaths[path].document; + doc = removedPaths[path].tab.document; doc.undoManager.bookmark(-2); doc.meta.newfile = true; delete removedPaths[path]; @@ -531,12 +531,12 @@ define(function(require, exports, module) { function(all, cancel) { // No if (all) { for (var id in removedPaths) { - closeTab(removedPaths[id], true); + closeTab(removedPaths[id].tab, true); } removedPaths = {}; } else { - closeTab(removedPaths[path]); + closeTab(removedPaths[path].tab); delete removedPaths[path]; } From fb18f56fa4e91381163b4aaa57f1a9d17640c2fa Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 13:40:30 +0000 Subject: [PATCH 208/281] Don't need to change the context --- plugins/c9.ide.watcher/gui.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 333ea890..38f599e4 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -205,7 +205,7 @@ define(function(require, exports, module) { var doc = tab.document; var path = tab.path; - changedPaths[tab.path] = { tab: tab, resolve: resolve.bind(changedPaths[tab.path], doc, path) }; + changedPaths[tab.path] = { tab: tab, resolve: resolve.bind(null, doc, path) }; switch (doubleCheckComparisonType) { case comparisonType.TIMESTAMP_AND_CONTENTS: From 76630bcf52e86fbfdfb44c49d3d883c4fd2d96cd Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Tue, 13 Sep 2016 15:50:49 +0000 Subject: [PATCH 209/281] Move the save tab after the conflict is resolved to not trigger many change dialogs --- plugins/c9.ide.watcher/gui.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/c9.ide.watcher/gui.js b/plugins/c9.ide.watcher/gui.js index 38f599e4..cec4bd21 100644 --- a/plugins/c9.ide.watcher/gui.js +++ b/plugins/c9.ide.watcher/gui.js @@ -352,8 +352,8 @@ define(function(require, exports, module) { var doc = tab.document; doc.setBookmarkedValue(data, true); doc.meta.timestamp = Date.now() - settings.timeOffset; - save.save(tab); changedPaths[path].resolve(); + save.save(tab); } function mergeChangedPath(err, path, data) { From d93c4fa83c05dbc3b293672993e5b443c6150520 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 14 Sep 2016 11:27:34 +0200 Subject: [PATCH 210/281] c9-auto-bump 3.1.3080 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb11a07d..7f73625b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3079", + "version": "3.1.3080", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 591e7f071d4c7286625a04fae2b6f073b6d475d0 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 6 Sep 2016 01:45:36 +0400 Subject: [PATCH 211/281] merge line and column rows in callstack with path --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb11a07d..eb17118e 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", "c9.ide.find.replace": "#8468067976", - "c9.ide.run.debug": "#19a5c6bcb4", + "c9.ide.run.debug": "#613e223078", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From 20a03b47b6fa84abb2397eeeda5b80286596d211 Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 6 Sep 2016 01:50:08 +0400 Subject: [PATCH 212/281] fix gdb not stopping when called from library file --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index eb17118e..b9da4b2d 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", "c9.ide.find.replace": "#8468067976", - "c9.ide.run.debug": "#613e223078", + "c9.ide.run.debug": "#f10c7e7d19", "c9.automate": "#47e2c429c9", "c9.ide.ace.emmet": "#6dc4585e02", "c9.ide.ace.gotoline": "#d33220b1e0", From ff5ff398a910a736226ea0b2f92b65c56222a0f6 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 10 Sep 2016 23:48:28 +0400 Subject: [PATCH 213/281] add missing icon for timeslider --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b9da4b2d..dd05d847 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "c9.ide.language.javascript.infer": "#b9c2e4bdb8", "c9.ide.language.jsonalyzer": "#a0549e14ff", "c9.ide.language.codeintel": "#0fe92d6f46", - "c9.ide.collab": "#d6c28d3835", + "c9.ide.collab": "#54aa1cbee0", "c9.ide.local": "#9169fec157", "c9.ide.find": "#e632ecf4be", "c9.ide.find.infiles": "#ad9ff74638", From 7f33e9677d2f258f4a8f5767d645612d5e19f418 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 14 Sep 2016 15:57:33 +0200 Subject: [PATCH 214/281] c9-auto-bump 3.1.3081 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f73625b..dd033553 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3080", + "version": "3.1.3081", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b964395f86bd44ad5b6cf782878c214c3e6ba8b5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Wed, 14 Sep 2016 16:24:59 +0200 Subject: [PATCH 215/281] c9-auto-bump 3.1.3082 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd033553..8b415fd0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3081", + "version": "3.1.3082", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7a8e6cb3addf327d09f5f0fbda5c05d4b317a3ee Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 14 Sep 2016 17:09:25 +0000 Subject: [PATCH 216/281] fix jumphost support for ssh workspaces --- node_modules/c9/ssh.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/node_modules/c9/ssh.js b/node_modules/c9/ssh.js index af30da0c..532a450d 100644 --- a/node_modules/c9/ssh.js +++ b/node_modules/c9/ssh.js @@ -17,11 +17,9 @@ function quote(str) { } function addProxyCommand(args, proxy) { - var m = /^(.+)(?::(\d+))?$/.exec(proxy); - if (!m) - return; - var proxyHost = m[1]; - var proxyPort = parseInt(m[2], 10) || 22; + var m = proxy.split(":"); + var proxyHost = m[0]; + var proxyPort = parseInt(m[1], 10) || 22; var proxyCmd = "ProxyCommand=ssh -W %h:%p " + args.map(quote).join(" "); proxyCmd += " -p " + proxyPort + " " + quote(proxyHost); args.push( From d5fe2173d930b0effd6b960bbfe3b9afbab92e26 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 15 Sep 2016 06:27:57 +0000 Subject: [PATCH 217/281] add tests --- node_modules/c9/ssh.js | 7 +++--- node_modules/c9/ssh_test.js | 47 +++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 node_modules/c9/ssh_test.js diff --git a/node_modules/c9/ssh.js b/node_modules/c9/ssh.js index 532a450d..5fd562fb 100644 --- a/node_modules/c9/ssh.js +++ b/node_modules/c9/ssh.js @@ -16,7 +16,8 @@ function quote(str) { return "'" + str.replace(/'/g, "'\\''") + "'"; } -function addProxyCommand(args, proxy) { +exports.quote = quote; +exports.addProxyCommand = function(args, proxy) { var m = proxy.split(":"); var proxyHost = m[0]; var proxyPort = parseInt(m[1], 10) || 22; @@ -25,7 +26,7 @@ function addProxyCommand(args, proxy) { args.push( "-o", proxyCmd ); -} +}; exports.buildArgs = function(prvkeyFile, host, proxy) { var args = [ @@ -43,7 +44,7 @@ exports.buildArgs = function(prvkeyFile, host, proxy) { ]; if (proxy) - addProxyCommand(args, proxy); + exports.addProxyCommand(args, proxy); if (host) { host = host.split(":"); diff --git a/node_modules/c9/ssh_test.js b/node_modules/c9/ssh_test.js new file mode 100644 index 00000000..3dd9a4c3 --- /dev/null +++ b/node_modules/c9/ssh_test.js @@ -0,0 +1,47 @@ +"use strict"; + +"use server"; + +var assert = require("assert"); +var ssh = require("./ssh"); +function arrayEqual(a, b) { + assert.equal(a.length, b.length); + for (var i = 0; i < a.length; i++) + assert.equal(a[i], b[i]); +} + +module.exports = { + + "test quote" : function() { + assert.equal(ssh.quote("a'b'c"), "'a'\\''b'\\''c'"); + assert.equal(ssh.quote("abc"), "'abc'"); + }, + + "test buildArgs": function() { + var expectedArgs = [ + "-o","PasswordAuthentication=no", + "-o","IdentityFile=/key", + "-o","UserKnownHostsFile=/dev/null", + "-o","StrictHostKeyChecking=no", + "-o","IdentitiesOnly=yes", + "-F","/dev/null","-t","-t", + "-o","BatchMode=yes", + "-o","ConnectTimeout=10", + "-p",22,"foo12@124.255.121.12" + ]; + var proxyCmd = 'ProxyCommand=ssh -W %h:%p \'-o\' \'PasswordAuthentication=no\' \'-o\' \'IdentityFile=/key\' \'-o\' \'UserKnownHostsFile=/dev/null\' \'-o\' \'StrictHostKeyChecking=no\' \'-o\' \'IdentitiesOnly=yes\' \'-F\' \'/dev/null\' \'-t\' \'-t\' \'-o\' \'BatchMode=yes\' \'-o\' \'ConnectTimeout=10\' -p 22 \'24@100.20.12.12\''; + var args = ssh.buildArgs('/key', "foo12@124.255.121.12"); + arrayEqual(args, expectedArgs); + + args = ssh.buildArgs('/key', "foo12@124.255.121.12", "24@100.20.12.12"); + expectedArgs.splice(expectedArgs.length - 3, 0, "-o", proxyCmd); + arrayEqual(args, expectedArgs); + + args = ssh.buildArgs('/key', "foo12@124.255.121.12:1888", "24@100.20.12.12:88788"); + expectedArgs[expectedArgs.length - 2] = 1888; + expectedArgs[expectedArgs.length - 4] = expectedArgs[expectedArgs.length - 4].replace(22, 88788); + arrayEqual(args, expectedArgs); + }, +}; + +!module.parent && require("asyncjs").test.testcase(module.exports).exec(); From e11c30379e70740ca5a1027509a7b8679299260f Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 15 Sep 2016 10:12:53 +0000 Subject: [PATCH 218/281] Commit ws to node_modules so we can publish custom updates to it --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8b415fd0..a0483453 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "through": "2.2.0", "tmp": "~0.0.20", "uglify-js": "~2.6.2", - "ws": "0.4.31", + "ws": "^1.0.1", "read": "~1.0.5", "form-data": "~0.2.0", "chai": "~1.5.0", From a72c58f96dd9e3d257fb3def5b20cb299b5619bd Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 15 Sep 2016 10:47:26 +0000 Subject: [PATCH 219/281] Explicit version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a0483453..6ddd486a 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "through": "2.2.0", "tmp": "~0.0.20", "uglify-js": "~2.6.2", - "ws": "^1.0.1", + "ws": "1.0.1", "read": "~1.0.5", "form-data": "~0.2.0", "chai": "~1.5.0", From 624bfc8894ee215950588cbcb6b9cc6ae06849a6 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 14:37:17 +0200 Subject: [PATCH 220/281] c9-auto-bump 3.1.3083 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6ddd486a..af92afff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3082", + "version": "3.1.3083", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 97b7343ab0597b9517b620f12f75f30b8adad601 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 16:28:58 +0200 Subject: [PATCH 221/281] c9-auto-bump 3.1.3084 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index af92afff..820f2d1f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3083", + "version": "3.1.3084", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0c9364ccfe5b318934f8d336adc1a41d8d4ea0ce Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 18:02:54 +0200 Subject: [PATCH 222/281] c9-auto-bump 3.1.3085 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 820f2d1f..3c64eac3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3084", + "version": "3.1.3085", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e92b6b17a19f144a9d53f2ab1ce16335c00a2ce0 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 18:04:30 +0200 Subject: [PATCH 223/281] c9-auto-bump 3.1.3086 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3c64eac3..33af1ecd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3085", + "version": "3.1.3086", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From dd77bac801f82a6cba1146951960d49ee931fcc2 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 18:25:32 +0200 Subject: [PATCH 224/281] c9-auto-bump 3.1.3087 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 33af1ecd..59d32a66 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3086", + "version": "3.1.3087", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 14f675858be5a639c2991a01ab46ed792dde6723 Mon Sep 17 00:00:00 2001 From: c9bot Date: Thu, 15 Sep 2016 20:48:20 +0200 Subject: [PATCH 225/281] c9-auto-bump 3.1.3088 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 27201601..96c13133 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3087", + "version": "3.1.3088", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f85736a3d86c11b40854733605025508aef34f9a Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 17 Sep 2016 12:35:24 +0200 Subject: [PATCH 226/281] c9-auto-bump 3.1.3089 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 96c13133..9f558aa3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3088", + "version": "3.1.3089", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c0ba9d4690e97b712a1a552eb1b7ee7e125c86b5 Mon Sep 17 00:00:00 2001 From: c9bot Date: Sat, 17 Sep 2016 16:11:25 +0200 Subject: [PATCH 227/281] c9-auto-bump 3.1.3090 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9f558aa3..436a2482 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3089", + "version": "3.1.3090", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From aad6740d2b15e05588043933340290de127b86d5 Mon Sep 17 00:00:00 2001 From: Arron Bailiss Date: Sun, 18 Sep 2016 18:29:36 +0000 Subject: [PATCH 228/281] Testing CI builds --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a29c416..55ce3ff6 100644 --- a/README.md +++ b/README.md @@ -92,3 +92,4 @@ To protect the interests of the Cloud9 contributors and users we require contrib If you want to contribute to the Cloud9 SDK and/or open source plugins please go to the online form, fill it out and submit it. Happy coding, Cloud9 + From 091431526dc8c1b03a73a9d6c1ece77c29f0f738 Mon Sep 17 00:00:00 2001 From: Arron Bailiss Date: Sun, 18 Sep 2016 18:35:35 +0000 Subject: [PATCH 229/281] Testing CI builds --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 55ce3ff6..6a29c416 100644 --- a/README.md +++ b/README.md @@ -92,4 +92,3 @@ To protect the interests of the Cloud9 contributors and users we require contrib If you want to contribute to the Cloud9 SDK and/or open source plugins please go to the online form, fill it out and submit it. Happy coding, Cloud9 - From 136ad739e8ca4c4eddc44f646e87ec475a535341 Mon Sep 17 00:00:00 2001 From: Arron Bailiss Date: Sun, 18 Sep 2016 18:38:04 +0000 Subject: [PATCH 230/281] Testing CI builds --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a29c416..55ce3ff6 100644 --- a/README.md +++ b/README.md @@ -92,3 +92,4 @@ To protect the interests of the Cloud9 contributors and users we require contrib If you want to contribute to the Cloud9 SDK and/or open source plugins please go to the online form, fill it out and submit it. Happy coding, Cloud9 + From cfba40e6a29ff076dda39aa1f19e80037bcb92e3 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Sun, 18 Sep 2016 20:38:13 +0200 Subject: [PATCH 231/281] c9-auto-bump 3.1.3091 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 436a2482..4726b824 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3090", + "version": "3.1.3091", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5df633fb94db6980601c12a03650aabdbacdeeb6 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Mon, 19 Sep 2016 19:32:24 +0200 Subject: [PATCH 232/281] c9-auto-bump 3.1.3092 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4726b824..ee4f4cd1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3091", + "version": "3.1.3092", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0a2f0a0a5e297452df6a3578d4f2e350a3ef911d Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 13:08:49 +0200 Subject: [PATCH 233/281] c9-auto-bump 3.1.3093 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ee4f4cd1..fcbfde2e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3092", + "version": "3.1.3093", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 921f8a43ec2282a793be14b83c83f1122b89f192 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 13:15:55 +0200 Subject: [PATCH 234/281] c9-auto-bump 3.1.3094 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fcbfde2e..eeb67f42 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3093", + "version": "3.1.3094", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From df60605cf73de9dfaf783c644644d9b6423c0e99 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 13:56:42 +0200 Subject: [PATCH 235/281] c9-auto-bump 3.1.3095 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index eeb67f42..a8412913 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3094", + "version": "3.1.3095", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 659e0797d1ed4f118955c7057b7ea1f1224e2155 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 14:15:26 +0200 Subject: [PATCH 236/281] c9-auto-bump 3.1.3096 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a8412913..91baa4c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3095", + "version": "3.1.3096", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f49e5f2e0697f0e252d395e20045d4af4607e162 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 14:18:56 +0200 Subject: [PATCH 237/281] c9-auto-bump 3.1.3097 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 91baa4c1..cd8bcb7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3096", + "version": "3.1.3097", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7e77a5b504bec0fcb9585352739ef88b5d2fd768 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 15:20:49 +0200 Subject: [PATCH 238/281] c9-auto-bump 3.1.3098 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cd8bcb7d..7e4a4e90 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3097", + "version": "3.1.3098", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a0e2339c683809b448b400ee4bd8441c0fc1129d Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 15:51:11 +0200 Subject: [PATCH 239/281] c9-auto-bump 3.1.3099 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e4a4e90..240ab121 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3098", + "version": "3.1.3099", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 51d2a99714c96cd2a4a2b4c6ae173a0c67de986f Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 16:30:12 +0200 Subject: [PATCH 240/281] c9-auto-bump 3.1.3100 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 240ab121..986432da 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3099", + "version": "3.1.3100", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 55df9b22d0c84fc7474981c9ce8787e5d978662c Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 16:49:30 +0200 Subject: [PATCH 241/281] c9-auto-bump 3.1.3101 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 986432da..ae5d5c93 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3100", + "version": "3.1.3101", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6c96e2609619a3f2da2edcca344861b5a84003ec Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:25:22 +0200 Subject: [PATCH 242/281] c9-auto-bump 3.1.3102 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ae5d5c93..8278bac2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3101", + "version": "3.1.3102", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c4a8bfe72eeaa5df8ef768de4a34411f664c939c Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:25:41 +0200 Subject: [PATCH 243/281] c9-auto-bump 3.1.3103 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8278bac2..92dd1f4b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3102", + "version": "3.1.3103", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From bfe11597f46ce5390fa627d22c542577498fd592 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:26:00 +0200 Subject: [PATCH 244/281] c9-auto-bump 3.1.3104 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 92dd1f4b..d5f2a67f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3103", + "version": "3.1.3104", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 852d4a7b3841a58cb6ffe69836572c120d46ceb9 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:26:25 +0200 Subject: [PATCH 245/281] c9-auto-bump 3.1.3105 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5f2a67f..3fcfe02d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3104", + "version": "3.1.3105", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 3884974fcfa49075cd7198fc4bb9a90c786ba4da Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:26:50 +0200 Subject: [PATCH 246/281] c9-auto-bump 3.1.3106 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3fcfe02d..1a05ad27 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3105", + "version": "3.1.3106", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b4b8dc3158cc7501e1d493177f945b920d491be5 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:27:49 +0200 Subject: [PATCH 247/281] c9-auto-bump 3.1.3107 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1a05ad27..bf6a02f6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3106", + "version": "3.1.3107", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 7fb42ed3f42b3e7b915c89594fb5a4fab63e1b39 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:34:16 +0200 Subject: [PATCH 248/281] c9-auto-bump 3.1.3108 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bf6a02f6..8ed3cbfd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3107", + "version": "3.1.3108", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 9d5f35cfd2f770edc488cfcd78cdaccbb434aea2 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 17:36:29 +0200 Subject: [PATCH 249/281] c9-auto-bump 3.1.3109 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8ed3cbfd..13651d14 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3108", + "version": "3.1.3109", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From ee32037df54de59edc0cbed37d21518cb918cb6e Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Tue, 20 Sep 2016 19:55:10 +0200 Subject: [PATCH 250/281] c9-auto-bump 3.1.3110 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 13651d14..83c825d5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3109", + "version": "3.1.3110", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6f2cc701e08d8512b1658c5cd8e63bc9155d692c Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 00:11:23 +0200 Subject: [PATCH 251/281] c9-auto-bump 3.1.3111 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 83c825d5..5d4ac2a3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3110", + "version": "3.1.3111", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 276165b3c8fbef23ed4bd80b47fb7f5ef16d162b Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 01:04:38 +0200 Subject: [PATCH 252/281] c9-auto-bump 3.1.3112 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d4ac2a3..214ed209 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3111", + "version": "3.1.3112", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a36864011d98de6ebf6bee7326d986aecb40b1ec Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 01:11:39 +0200 Subject: [PATCH 253/281] c9-auto-bump 3.1.3113 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 214ed209..8fd07233 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3112", + "version": "3.1.3113", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 5a6743b7b68c29442b280681e09464f63bf7a6f6 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 16:47:00 +0200 Subject: [PATCH 254/281] c9-auto-bump 3.1.3114 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8fd07233..0da9e4ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3113", + "version": "3.1.3114", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From de56cfbfa70f45c5c77b3fda46f723a188311901 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 17:00:51 +0200 Subject: [PATCH 255/281] c9-auto-bump 3.1.3115 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0da9e4ee..bf08d8fb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3114", + "version": "3.1.3115", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c8082c0e3d91f26c51c8dc5c3e7320da33a168fb Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Wed, 21 Sep 2016 18:38:30 +0200 Subject: [PATCH 256/281] c9-auto-bump 3.1.3116 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bf08d8fb..7943fcbf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3115", + "version": "3.1.3116", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 23b45af7f129c1828525234cd4973ec772094814 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 10:00:17 +0200 Subject: [PATCH 257/281] c9-auto-bump 3.1.3117 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7943fcbf..7a48a26d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3116", + "version": "3.1.3117", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b9a5f68c2c8a67c265f9357acef5878fe7181126 Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 12:44:21 +0000 Subject: [PATCH 258/281] initial fork from connect/session --- .../connect.session/session.js | 358 +++++++++++++++ .../connect.session/session/cookie.js | 128 ++++++ .../connect.session/session/memory.js | 129 ++++++ .../connect.session/session/session.js | 116 +++++ .../connect.session/session/store.js | 84 ++++ .../connect.session/session/utils.js | 408 ++++++++++++++++++ 6 files changed, 1223 insertions(+) create mode 100644 node_modules/connect-architect/connect.session/session.js create mode 100644 node_modules/connect-architect/connect.session/session/cookie.js create mode 100644 node_modules/connect-architect/connect.session/session/memory.js create mode 100644 node_modules/connect-architect/connect.session/session/session.js create mode 100644 node_modules/connect-architect/connect.session/session/store.js create mode 100644 node_modules/connect-architect/connect.session/session/utils.js diff --git a/node_modules/connect-architect/connect.session/session.js b/node_modules/connect-architect/connect.session/session.js new file mode 100644 index 00000000..128bc591 --- /dev/null +++ b/node_modules/connect-architect/connect.session/session.js @@ -0,0 +1,358 @@ +/*! + * Connect - session + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var Session = require('./session/session') + , debug = require('debug')('connect:session') + , MemoryStore = require('./session/memory') + , signature = require('cookie-signature') + , Cookie = require('./session/cookie') + , Store = require('./session/store') + , utils = require('./../utils') + , uid = require('uid2') + , crc32 = require('buffer-crc32') + , parse = require('url').parse; + +// environment + +var env = process.env.NODE_ENV; + +/** + * Expose the middleware. + */ + +exports = module.exports = session; + +/** + * Expose constructors. + */ + +exports.Store = Store; +exports.Cookie = Cookie; +exports.Session = Session; +exports.MemoryStore = MemoryStore; + +/** + * Warning message for `MemoryStore` usage in production. + */ + +var warning = 'Warning: connection.session() MemoryStore is not\n' + + 'designed for a production environment, as it will leak\n' + + 'memory, and will not scale past a single process.'; + +/** + * Session: + * + * Setup session store with the given `options`. + * + * Session data is _not_ saved in the cookie itself, however + * cookies are used, so we must use the [cookieParser()](cookieParser.html) + * middleware _before_ `session()`. + * + * Examples: + * + * connect() + * .use(connect.cookieParser()) + * .use(connect.session({ secret: 'keyboard cat', key: 'sid', cookie: { secure: true }})) + * + * Options: + * + * - `key` cookie name defaulting to `connect.sid` + * - `store` session store instance + * - `secret` session cookie is signed with this secret to prevent tampering + * - `cookie` session cookie settings, defaulting to `{ path: '/', httpOnly: true, maxAge: null }` + * - `proxy` trust the reverse proxy when setting secure cookies (via "x-forwarded-proto") + * + * Cookie option: + * + * By default `cookie.maxAge` is `null`, meaning no "expires" parameter is set + * so the cookie becomes a browser-session cookie. When the user closes the + * browser the cookie (and session) will be removed. + * + * ## req.session + * + * To store or access session data, simply use the request property `req.session`, + * which is (generally) serialized as JSON by the store, so nested objects + * are typically fine. For example below is a user-specific view counter: + * + * connect() + * .use(connect.favicon()) + * .use(connect.cookieParser()) + * .use(connect.session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }})) + * .use(function(req, res, next){ + * var sess = req.session; + * if (sess.views) { + * res.setHeader('Content-Type', 'text/html'); + * res.write('

views: ' + sess.views + '

'); + * res.write('

expires in: ' + (sess.cookie.maxAge / 1000) + 's

'); + * res.end(); + * sess.views++; + * } else { + * sess.views = 1; + * res.end('welcome to the session demo. refresh!'); + * } + * } + * )).listen(3000); + * + * ## Session#regenerate() + * + * To regenerate the session simply invoke the method, once complete + * a new SID and `Session` instance will be initialized at `req.session`. + * + * req.session.regenerate(function(err){ + * // will have a new session here + * }); + * + * ## Session#destroy() + * + * Destroys the session, removing `req.session`, will be re-generated next request. + * + * req.session.destroy(function(err){ + * // cannot access session here + * }); + * + * ## Session#reload() + * + * Reloads the session data. + * + * req.session.reload(function(err){ + * // session updated + * }); + * + * ## Session#save() + * + * Save the session. + * + * req.session.save(function(err){ + * // session saved + * }); + * + * ## Session#touch() + * + * Updates the `.maxAge` property. Typically this is + * not necessary to call, as the session middleware does this for you. + * + * ## Session#cookie + * + * Each session has a unique cookie object accompany it. This allows + * you to alter the session cookie per visitor. For example we can + * set `req.session.cookie.expires` to `false` to enable the cookie + * to remain for only the duration of the user-agent. + * + * ## Session#maxAge + * + * Alternatively `req.session.cookie.maxAge` will return the time + * remaining in milliseconds, which we may also re-assign a new value + * to adjust the `.expires` property appropriately. The following + * are essentially equivalent + * + * var hour = 3600000; + * req.session.cookie.expires = new Date(Date.now() + hour); + * req.session.cookie.maxAge = hour; + * + * For example when `maxAge` is set to `60000` (one minute), and 30 seconds + * has elapsed it will return `30000` until the current request has completed, + * at which time `req.session.touch()` is called to reset `req.session.maxAge` + * to its original value. + * + * req.session.cookie.maxAge; + * // => 30000 + * + * Session Store Implementation: + * + * Every session store _must_ implement the following methods + * + * - `.get(sid, callback)` + * - `.set(sid, session, callback)` + * - `.destroy(sid, callback)` + * + * Recommended methods include, but are not limited to: + * + * - `.length(callback)` + * - `.clear(callback)` + * + * For an example implementation view the [connect-redis](http://github.com/visionmedia/connect-redis) repo. + * + * @param {Object} options + * @return {Function} + * @api public + */ + +function session(options){ + var options = options || {} + , key = options.key || 'connect.sid' + , store = options.store || new MemoryStore + , cookie = options.cookie || {} + , trustProxy = options.proxy + , storeReady = true + , rollingSessions = options.rolling || false; + + // notify user that this store is not + // meant for a production environment + if ('production' == env && store instanceof MemoryStore) { + console.warn(warning); + } + + // generates the new session + store.generate = function(req){ + req.sessionID = uid(24); + req.session = new Session(req); + req.session.cookie = new Cookie(cookie); + }; + + store.on('disconnect', function(){ storeReady = false; }); + store.on('connect', function(){ storeReady = true; }); + + return function session(req, res, next) { + // self-awareness + if (req.session) return next(); + + // Handle connection as if there is no session if + // the store has temporarily disconnected etc + if (!storeReady) return debug('store is disconnected'), next(); + + // pathname mismatch + var originalPath = parse(req.originalUrl).pathname; + if (0 != originalPath.indexOf(cookie.path || '/')) return next(); + + // backwards compatibility for signed cookies + // req.secret is passed from the cookie parser middleware + var secret = options.secret || req.secret; + + // ensure secret is available or bail + if (!secret) throw new Error('`secret` option required for sessions'); + + var originalHash + , originalId; + + // expose store + req.sessionStore = store; + + // grab the session cookie value and check the signature + var rawCookie = req.cookies[key]; + + // get signedCookies for backwards compat with signed cookies + var unsignedCookie = req.signedCookies[key]; + + if (!unsignedCookie && rawCookie) { + unsignedCookie = utils.parseSignedCookie(rawCookie, secret); + } + + // set-cookie + res.on('header', function(){ + if (!req.session) return; + var cookie = req.session.cookie + , proto = (req.headers['x-forwarded-proto'] || '').split(',')[0].toLowerCase().trim() + , tls = req.connection.encrypted || (trustProxy && 'https' == proto) + , isNew = unsignedCookie != req.sessionID; + + // only send secure cookies via https + if (cookie.secure && !tls) return debug('not secured'); + + // in case of rolling session, always reset the cookie + if (!rollingSessions) { + + // browser-session length cookie + if (null == cookie.expires) { + if (!isNew) return debug('already set browser-session cookie'); + // compare hashes and ids + } else if (originalHash == hash(req.session) && originalId == req.session.id) { + return debug('unmodified session'); + } + + } + + var val = 's:' + signature.sign(req.sessionID, secret); + val = cookie.serialize(key, val); + debug('set-cookie %s', val); + res.setHeader('Set-Cookie', val); + }); + + // proxy end() to commit the session + var end = res.end; + res.end = function(data, encoding){ + res.end = end; + if (!req.session) return res.end(data, encoding); + debug('saving'); + req.session.resetMaxAge(); + req.session.save(function(err){ + if (err) console.error(err.stack); + debug('saved'); + res.end(data, encoding); + }); + }; + + // generate the session + function generate() { + store.generate(req); + } + + // get the sessionID from the cookie + req.sessionID = unsignedCookie; + + // generate a session if the browser doesn't send a sessionID + if (!req.sessionID) { + debug('no SID sent, generating session'); + generate(); + next(); + return; + } + + // generate the session object + var pause = utils.pause(req); + debug('fetching %s', req.sessionID); + store.get(req.sessionID, function(err, sess){ + // proxy to resume() events + var _next = next; + next = function(err){ + _next(err); + pause.resume(); + }; + + // error handling + if (err) { + debug('error %j', err); + if ('ENOENT' == err.code) { + generate(); + next(); + } else { + next(err); + } + // no session + } else if (!sess) { + debug('no session found'); + generate(); + next(); + // populate req.session + } else { + debug('session found'); + store.createSession(req, sess); + originalId = req.sessionID; + originalHash = hash(sess); + next(); + } + }); + }; +}; + +/** + * Hash the given `sess` object omitting changes + * to `.cookie`. + * + * @param {Object} sess + * @return {String} + * @api private + */ + +function hash(sess) { + return crc32.signed(JSON.stringify(sess, function(key, val){ + if ('cookie' != key) return val; + })); +} diff --git a/node_modules/connect-architect/connect.session/session/cookie.js b/node_modules/connect-architect/connect.session/session/cookie.js new file mode 100644 index 00000000..3125410d --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/cookie.js @@ -0,0 +1,128 @@ + +/*! + * Connect - session - Cookie + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var utils = require('../../utils') + , cookie = require('cookie'); + +/** + * Initialize a new `Cookie` with the given `options`. + * + * @param {IncomingMessage} req + * @param {Object} options + * @api private + */ + +var Cookie = module.exports = function Cookie(options) { + this.path = '/'; + this.maxAge = null; + this.httpOnly = true; + if (options) utils.merge(this, options); + this.originalMaxAge = undefined == this.originalMaxAge + ? this.maxAge + : this.originalMaxAge; +}; + +/*! + * Prototype. + */ + +Cookie.prototype = { + + /** + * Set expires `date`. + * + * @param {Date} date + * @api public + */ + + set expires(date) { + this._expires = date; + this.originalMaxAge = this.maxAge; + }, + + /** + * Get expires `date`. + * + * @return {Date} + * @api public + */ + + get expires() { + return this._expires; + }, + + /** + * Set expires via max-age in `ms`. + * + * @param {Number} ms + * @api public + */ + + set maxAge(ms) { + this.expires = 'number' == typeof ms + ? new Date(Date.now() + ms) + : ms; + }, + + /** + * Get expires max-age in `ms`. + * + * @return {Number} + * @api public + */ + + get maxAge() { + return this.expires instanceof Date + ? this.expires.valueOf() - Date.now() + : this.expires; + }, + + /** + * Return cookie data object. + * + * @return {Object} + * @api private + */ + + get data() { + return { + originalMaxAge: this.originalMaxAge + , expires: this._expires + , secure: this.secure + , httpOnly: this.httpOnly + , domain: this.domain + , path: this.path + } + }, + + /** + * Return a serialized cookie string. + * + * @return {String} + * @api public + */ + + serialize: function(name, val){ + return cookie.serialize(name, val, this.data); + }, + + /** + * Return JSON representation of this cookie. + * + * @return {Object} + * @api private + */ + + toJSON: function(){ + return this.data; + } +}; diff --git a/node_modules/connect-architect/connect.session/session/memory.js b/node_modules/connect-architect/connect.session/session/memory.js new file mode 100644 index 00000000..fb939392 --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/memory.js @@ -0,0 +1,129 @@ + +/*! + * Connect - session - MemoryStore + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var Store = require('./store'); + +/** + * Initialize a new `MemoryStore`. + * + * @api public + */ + +var MemoryStore = module.exports = function MemoryStore() { + this.sessions = {}; +}; + +/** + * Inherit from `Store.prototype`. + */ + +MemoryStore.prototype.__proto__ = Store.prototype; + +/** + * Attempt to fetch session by the given `sid`. + * + * @param {String} sid + * @param {Function} fn + * @api public + */ + +MemoryStore.prototype.get = function(sid, fn){ + var self = this; + process.nextTick(function(){ + var expires + , sess = self.sessions[sid]; + if (sess) { + sess = JSON.parse(sess); + expires = 'string' == typeof sess.cookie.expires + ? new Date(sess.cookie.expires) + : sess.cookie.expires; + if (!expires || new Date < expires) { + fn(null, sess); + } else { + self.destroy(sid, fn); + } + } else { + fn(); + } + }); +}; + +/** + * Commit the given `sess` object associated with the given `sid`. + * + * @param {String} sid + * @param {Session} sess + * @param {Function} fn + * @api public + */ + +MemoryStore.prototype.set = function(sid, sess, fn){ + var self = this; + process.nextTick(function(){ + self.sessions[sid] = JSON.stringify(sess); + fn && fn(); + }); +}; + +/** + * Destroy the session associated with the given `sid`. + * + * @param {String} sid + * @api public + */ + +MemoryStore.prototype.destroy = function(sid, fn){ + var self = this; + process.nextTick(function(){ + delete self.sessions[sid]; + fn && fn(); + }); +}; + +/** + * Invoke the given callback `fn` with all active sessions. + * + * @param {Function} fn + * @api public + */ + +MemoryStore.prototype.all = function(fn){ + var arr = [] + , keys = Object.keys(this.sessions); + for (var i = 0, len = keys.length; i < len; ++i) { + arr.push(this.sessions[keys[i]]); + } + fn(null, arr); +}; + +/** + * Clear all sessions. + * + * @param {Function} fn + * @api public + */ + +MemoryStore.prototype.clear = function(fn){ + this.sessions = {}; + fn && fn(); +}; + +/** + * Fetch number of sessions. + * + * @param {Function} fn + * @api public + */ + +MemoryStore.prototype.length = function(fn){ + fn(null, Object.keys(this.sessions).length); +}; diff --git a/node_modules/connect-architect/connect.session/session/session.js b/node_modules/connect-architect/connect.session/session/session.js new file mode 100644 index 00000000..0dd4b400 --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/session.js @@ -0,0 +1,116 @@ + +/*! + * Connect - session - Session + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var utils = require('../../utils'); + +/** + * Create a new `Session` with the given request and `data`. + * + * @param {IncomingRequest} req + * @param {Object} data + * @api private + */ + +var Session = module.exports = function Session(req, data) { + Object.defineProperty(this, 'req', { value: req }); + Object.defineProperty(this, 'id', { value: req.sessionID }); + if ('object' == typeof data) utils.merge(this, data); +}; + +/** + * Update reset `.cookie.maxAge` to prevent + * the cookie from expiring when the + * session is still active. + * + * @return {Session} for chaining + * @api public + */ + +Session.prototype.touch = function(){ + return this.resetMaxAge(); +}; + +/** + * Reset `.maxAge` to `.originalMaxAge`. + * + * @return {Session} for chaining + * @api public + */ + +Session.prototype.resetMaxAge = function(){ + this.cookie.maxAge = this.cookie.originalMaxAge; + return this; +}; + +/** + * Save the session data with optional callback `fn(err)`. + * + * @param {Function} fn + * @return {Session} for chaining + * @api public + */ + +Session.prototype.save = function(fn){ + this.req.sessionStore.set(this.id, this, fn || function(){}); + return this; +}; + +/** + * Re-loads the session data _without_ altering + * the maxAge properties. Invokes the callback `fn(err)`, + * after which time if no exception has occurred the + * `req.session` property will be a new `Session` object, + * although representing the same session. + * + * @param {Function} fn + * @return {Session} for chaining + * @api public + */ + +Session.prototype.reload = function(fn){ + var req = this.req + , store = this.req.sessionStore; + store.get(this.id, function(err, sess){ + if (err) return fn(err); + if (!sess) return fn(new Error('failed to load session')); + store.createSession(req, sess); + fn(); + }); + return this; +}; + +/** + * Destroy `this` session. + * + * @param {Function} fn + * @return {Session} for chaining + * @api public + */ + +Session.prototype.destroy = function(fn){ + delete this.req.session; + this.req.sessionStore.destroy(this.id, fn); + return this; +}; + +/** + * Regenerate this request's session. + * + * @param {Function} fn + * @return {Session} for chaining + * @api public + */ + +Session.prototype.regenerate = function(fn){ + this.req.sessionStore.regenerate(this.req, fn); + return this; +}; diff --git a/node_modules/connect-architect/connect.session/session/store.js b/node_modules/connect-architect/connect.session/session/store.js new file mode 100644 index 00000000..54294cbd --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/store.js @@ -0,0 +1,84 @@ + +/*! + * Connect - session - Store + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter + , Session = require('./session') + , Cookie = require('./cookie'); + +/** + * Initialize abstract `Store`. + * + * @api private + */ + +var Store = module.exports = function Store(options){}; + +/** + * Inherit from `EventEmitter.prototype`. + */ + +Store.prototype.__proto__ = EventEmitter.prototype; + +/** + * Re-generate the given requests's session. + * + * @param {IncomingRequest} req + * @return {Function} fn + * @api public + */ + +Store.prototype.regenerate = function(req, fn){ + var self = this; + this.destroy(req.sessionID, function(err){ + self.generate(req); + fn(err); + }); +}; + +/** + * Load a `Session` instance via the given `sid` + * and invoke the callback `fn(err, sess)`. + * + * @param {String} sid + * @param {Function} fn + * @api public + */ + +Store.prototype.load = function(sid, fn){ + var self = this; + this.get(sid, function(err, sess){ + if (err) return fn(err); + if (!sess) return fn(); + var req = { sessionID: sid, sessionStore: self }; + sess = self.createSession(req, sess); + fn(null, sess); + }); +}; + +/** + * Create session from JSON `sess` data. + * + * @param {IncomingRequest} req + * @param {Object} sess + * @return {Session} + * @api private + */ + +Store.prototype.createSession = function(req, sess){ + var expires = sess.cookie.expires + , orig = sess.cookie.originalMaxAge; + sess.cookie = new Cookie(sess.cookie); + if ('string' == typeof expires) sess.cookie.expires = new Date(expires); + sess.cookie.originalMaxAge = orig; + req.session = new Session(req, sess); + return req.session; +}; diff --git a/node_modules/connect-architect/connect.session/session/utils.js b/node_modules/connect-architect/connect.session/session/utils.js new file mode 100644 index 00000000..9839bc33 --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/utils.js @@ -0,0 +1,408 @@ + +/*! + * Connect - utils + * Copyright(c) 2010 Sencha Inc. + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var http = require('http') + , crypto = require('crypto') + , parse = require('url').parse + , sep = require('path').sep + , signature = require('cookie-signature') + , nodeVersion = process.versions.node.split('.'); + +// pause is broken in node < 0.10 +exports.brokenPause = parseInt(nodeVersion[0], 10) === 0 + && parseInt(nodeVersion[1], 10) < 10; + +/** + * Return `true` if the request has a body, otherwise return `false`. + * + * @param {IncomingMessage} req + * @return {Boolean} + * @api private + */ + +exports.hasBody = function(req) { + var encoding = 'transfer-encoding' in req.headers; + var length = 'content-length' in req.headers && req.headers['content-length'] !== '0'; + return encoding || length; +}; + +/** + * Extract the mime type from the given request's + * _Content-Type_ header. + * + * @param {IncomingMessage} req + * @return {String} + * @api private + */ + +exports.mime = function(req) { + var str = req.headers['content-type'] || ''; + return str.split(';')[0]; +}; + +/** + * Generate an `Error` from the given status `code` + * and optional `msg`. + * + * @param {Number} code + * @param {String} msg + * @return {Error} + * @api private + */ + +exports.error = function(code, msg){ + var err = new Error(msg || http.STATUS_CODES[code]); + err.status = code; + return err; +}; + +/** + * Return md5 hash of the given string and optional encoding, + * defaulting to hex. + * + * utils.md5('wahoo'); + * // => "e493298061761236c96b02ea6aa8a2ad" + * + * @param {String} str + * @param {String} encoding + * @return {String} + * @api private + */ + +exports.md5 = function(str, encoding){ + return crypto + .createHash('md5') + .update(str, 'utf8') + .digest(encoding || 'hex'); +}; + +/** + * Merge object b with object a. + * + * var a = { foo: 'bar' } + * , b = { bar: 'baz' }; + * + * utils.merge(a, b); + * // => { foo: 'bar', bar: 'baz' } + * + * @param {Object} a + * @param {Object} b + * @return {Object} + * @api private + */ + +exports.merge = function(a, b){ + if (a && b) { + for (var key in b) { + a[key] = b[key]; + } + } + return a; +}; + +/** + * Escape the given string of `html`. + * + * @param {String} html + * @return {String} + * @api private + */ + +exports.escape = function(html){ + return String(html) + .replace(/&(?!\w+;)/g, '&') + .replace(//g, '>') + .replace(/"/g, '"'); +}; + +/** + * Sign the given `val` with `secret`. + * + * @param {String} val + * @param {String} secret + * @return {String} + * @api private + */ + +exports.sign = function(val, secret){ + console.warn('do not use utils.sign(), use https://github.com/visionmedia/node-cookie-signature') + return val + '.' + crypto + .createHmac('sha256', secret) + .update(val) + .digest('base64') + .replace(/=+$/, ''); +}; + +/** + * Unsign and decode the given `val` with `secret`, + * returning `false` if the signature is invalid. + * + * @param {String} val + * @param {String} secret + * @return {String|Boolean} + * @api private + */ + +exports.unsign = function(val, secret){ + console.warn('do not use utils.unsign(), use https://github.com/visionmedia/node-cookie-signature') + var str = val.slice(0, val.lastIndexOf('.')); + return exports.sign(str, secret) == val + ? str + : false; +}; + +/** + * Parse signed cookies, returning an object + * containing the decoded key/value pairs, + * while removing the signed key from `obj`. + * + * @param {Object} obj + * @return {Object} + * @api private + */ + +exports.parseSignedCookies = function(obj, secret){ + var ret = {}; + Object.keys(obj).forEach(function(key){ + var val = obj[key]; + if (0 == val.indexOf('s:')) { + val = signature.unsign(val.slice(2), secret); + if (val) { + ret[key] = val; + delete obj[key]; + } + } + }); + return ret; +}; + +/** + * Parse a signed cookie string, return the decoded value + * + * @param {String} str signed cookie string + * @param {String} secret + * @return {String} decoded value + * @api private + */ + +exports.parseSignedCookie = function(str, secret){ + return 0 == str.indexOf('s:') + ? signature.unsign(str.slice(2), secret) + : str; +}; + +/** + * Parse JSON cookies. + * + * @param {Object} obj + * @return {Object} + * @api private + */ + +exports.parseJSONCookies = function(obj){ + Object.keys(obj).forEach(function(key){ + var val = obj[key]; + var res = exports.parseJSONCookie(val); + if (res) obj[key] = res; + }); + return obj; +}; + +/** + * Parse JSON cookie string + * + * @param {String} str + * @return {Object} Parsed object or null if not json cookie + * @api private + */ + +exports.parseJSONCookie = function(str) { + if (0 == str.indexOf('j:')) { + try { + return JSON.parse(str.slice(2)); + } catch (err) { + // no op + } + } +}; + +/** + * Pause `data` and `end` events on the given `obj`. + * Middleware performing async tasks _should_ utilize + * this utility (or similar), to re-emit data once + * the async operation has completed, otherwise these + * events may be lost. Pause is only required for + * node versions less than 10, and is replaced with + * noop's otherwise. + * + * var pause = utils.pause(req); + * fs.readFile(path, function(){ + * next(); + * pause.resume(); + * }); + * + * @param {Object} obj + * @return {Object} + * @api private + */ + +exports.pause = exports.brokenPause + ? require('pause') + : function () { + return { + end: noop, + resume: noop + } + } + +/** + * Strip `Content-*` headers from `res`. + * + * @param {ServerResponse} res + * @api private + */ + +exports.removeContentHeaders = function(res){ + if (!res._headers) return; + Object.keys(res._headers).forEach(function(field){ + if (0 == field.indexOf('content')) { + res.removeHeader(field); + } + }); +}; + +/** + * Check if `req` is a conditional GET request. + * + * @param {IncomingMessage} req + * @return {Boolean} + * @api private + */ + +exports.conditionalGET = function(req) { + return req.headers['if-modified-since'] + || req.headers['if-none-match']; +}; + +/** + * Respond with 401 "Unauthorized". + * + * @param {ServerResponse} res + * @param {String} realm + * @api private + */ + +exports.unauthorized = function(res, realm) { + res.statusCode = 401; + res.setHeader('WWW-Authenticate', 'Basic realm="' + realm + '"'); + res.end('Unauthorized'); +}; + +/** + * Respond with 304 "Not Modified". + * + * @param {ServerResponse} res + * @param {Object} headers + * @api private + */ + +exports.notModified = function(res) { + exports.removeContentHeaders(res); + res.statusCode = 304; + res.end(); +}; + +/** + * Return an ETag in the form of `"-"` + * from the given `stat`. + * + * @param {Object} stat + * @return {String} + * @api private + */ + +exports.etag = function(stat) { + return '"' + stat.size + '-' + Number(stat.mtime) + '"'; +}; + +/** + * Parse the given Cache-Control `str`. + * + * @param {String} str + * @return {Object} + * @api private + */ + +exports.parseCacheControl = function(str){ + var directives = str.split(',') + , obj = {}; + + for(var i = 0, len = directives.length; i < len; i++) { + var parts = directives[i].split('=') + , key = parts.shift().trim() + , val = parseInt(parts.shift(), 10); + + obj[key] = isNaN(val) ? true : val; + } + + return obj; +}; + +/** + * Parse the `req` url with memoization. + * + * @param {ServerRequest} req + * @return {Object} + * @api private + */ + +exports.parseUrl = function(req){ + var parsed = req._parsedUrl; + if (parsed && parsed.href == req.url) { + return parsed; + } else { + parsed = parse(req.url); + + if (parsed.auth && !parsed.protocol && ~parsed.href.indexOf('//')) { + // This parses pathnames, and a strange pathname like //r@e should work + parsed = parse(req.url.replace(/@/g, '%40')); + } + + return req._parsedUrl = parsed; + } +}; + +/** + * Parse byte `size` string. + * + * @param {String} size + * @return {Number} + * @api private + */ + +exports.parseBytes = require('bytes'); + +/** + * Normalizes the path separator from system separator + * to URL separator, aka `/`. + * + * @param {String} path + * @return {String} + * @api private + */ + +exports.normalizeSlashes = function normalizeSlashes(path) { + return path.split(sep).join('/'); +}; + +function noop() {} From 662f32a3e94f6ca92925d0d5082af0a50bc29fd6 Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 12:49:05 +0000 Subject: [PATCH 259/281] use the forked lib --- .../connect.session/session-ext.js | 3 +-- .../connect.session/session.js | 25 ++++++------------- .../connect.session/session/cookie.js | 2 +- .../connect.session/session/session.js | 2 +- 4 files changed, 10 insertions(+), 22 deletions(-) diff --git a/node_modules/connect-architect/connect.session/session-ext.js b/node_modules/connect-architect/connect.session/session-ext.js index dd8cf6ea..18d26989 100644 --- a/node_modules/connect-architect/connect.session/session-ext.js +++ b/node_modules/connect-architect/connect.session/session-ext.js @@ -1,6 +1,5 @@ -var Session = require("connect").session; +var Session = require("./session"); var assert = require("assert"); -var error = require("http-error"); module.exports = function startup(options, imports, register) { diff --git a/node_modules/connect-architect/connect.session/session.js b/node_modules/connect-architect/connect.session/session.js index 128bc591..946b6d0c 100644 --- a/node_modules/connect-architect/connect.session/session.js +++ b/node_modules/connect-architect/connect.session/session.js @@ -1,3 +1,8 @@ +/** + * MVH 2016 Forked from connect/middleware/session + * - Added support for multiple secrets + * - Remove MemoryStore + */ /*! * Connect - session * Copyright(c) 2010 Sencha Inc. @@ -11,11 +16,10 @@ var Session = require('./session/session') , debug = require('debug')('connect:session') - , MemoryStore = require('./session/memory') , signature = require('cookie-signature') , Cookie = require('./session/cookie') , Store = require('./session/store') - , utils = require('./../utils') + , utils = require('./session/utils') , uid = require('uid2') , crc32 = require('buffer-crc32') , parse = require('url').parse; @@ -37,15 +41,6 @@ exports = module.exports = session; exports.Store = Store; exports.Cookie = Cookie; exports.Session = Session; -exports.MemoryStore = MemoryStore; - -/** - * Warning message for `MemoryStore` usage in production. - */ - -var warning = 'Warning: connection.session() MemoryStore is not\n' - + 'designed for a production environment, as it will leak\n' - + 'memory, and will not scale past a single process.'; /** * Session: @@ -188,18 +183,12 @@ var warning = 'Warning: connection.session() MemoryStore is not\n' function session(options){ var options = options || {} , key = options.key || 'connect.sid' - , store = options.store || new MemoryStore + , store = options.store , cookie = options.cookie || {} , trustProxy = options.proxy , storeReady = true , rollingSessions = options.rolling || false; - // notify user that this store is not - // meant for a production environment - if ('production' == env && store instanceof MemoryStore) { - console.warn(warning); - } - // generates the new session store.generate = function(req){ req.sessionID = uid(24); diff --git a/node_modules/connect-architect/connect.session/session/cookie.js b/node_modules/connect-architect/connect.session/session/cookie.js index 3125410d..e07877f1 100644 --- a/node_modules/connect-architect/connect.session/session/cookie.js +++ b/node_modules/connect-architect/connect.session/session/cookie.js @@ -10,7 +10,7 @@ * Module dependencies. */ -var utils = require('../../utils') +var utils = require('./utils') , cookie = require('cookie'); /** diff --git a/node_modules/connect-architect/connect.session/session/session.js b/node_modules/connect-architect/connect.session/session/session.js index 0dd4b400..e82bc914 100644 --- a/node_modules/connect-architect/connect.session/session/session.js +++ b/node_modules/connect-architect/connect.session/session/session.js @@ -10,7 +10,7 @@ * Module dependencies. */ -var utils = require('../../utils'); +var utils = require('./utils'); /** * Create a new `Session` with the given request and `data`. From 44073851b8cae013823e07a2a256eda728bb0f19 Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 12:51:29 +0000 Subject: [PATCH 260/281] adds support for multiple keys --- .../connect-architect/connect.session/session.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/node_modules/connect-architect/connect.session/session.js b/node_modules/connect-architect/connect.session/session.js index 946b6d0c..b4db6b63 100644 --- a/node_modules/connect-architect/connect.session/session.js +++ b/node_modules/connect-architect/connect.session/session.js @@ -218,6 +218,9 @@ function session(options){ // ensure secret is available or bail if (!secret) throw new Error('`secret` option required for sessions'); + // secret is always an array of secrets + secret = [].concat(secret); + var originalHash , originalId; @@ -230,8 +233,14 @@ function session(options){ // get signedCookies for backwards compat with signed cookies var unsignedCookie = req.signedCookies[key]; + var usedSecret; + if (!unsignedCookie && rawCookie) { - unsignedCookie = utils.parseSignedCookie(rawCookie, secret); + for (var i = 0; i < secret.length; i++) { + if (unsignedCookie) continue; + unsignedCookie = utils.parseSignedCookie(rawCookie, secret[i]); + usedSecret = secret[i]; + } } // set-cookie @@ -246,7 +255,7 @@ function session(options){ if (cookie.secure && !tls) return debug('not secured'); // in case of rolling session, always reset the cookie - if (!rollingSessions) { + if (usedSecret == secret[0] && !rollingSessions) { // browser-session length cookie if (null == cookie.expires) { @@ -258,7 +267,7 @@ function session(options){ } - var val = 's:' + signature.sign(req.sessionID, secret); + var val = 's:' + signature.sign(req.sessionID, secret[0]); val = cookie.serialize(key, val); debug('set-cookie %s', val); res.setHeader('Set-Cookie', val); From d163e415092bec0ba51d00a14fe0ea1122ca5a94 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 17:04:55 +0200 Subject: [PATCH 261/281] c9-auto-bump 3.1.3118 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a48a26d..e9525ed9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3117", + "version": "3.1.3118", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From a648702b1193a600090b5399d731a218f333310c Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 18:23:14 +0200 Subject: [PATCH 262/281] c9-auto-bump 3.1.3119 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e9525ed9..0e700018 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3118", + "version": "3.1.3119", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b4a12c8576f95a36a6d4eaad21c65da7ecaafcdc Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 18:41:30 +0200 Subject: [PATCH 263/281] c9-auto-bump 3.1.3120 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0e700018..de4a6408 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3119", + "version": "3.1.3120", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 32ef4d5e42b69d09365e85e542e85b0ac2d3f3a1 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 18:46:34 +0200 Subject: [PATCH 264/281] c9-auto-bump 3.1.3121 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index de4a6408..43f46343 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3120", + "version": "3.1.3121", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From c8958c765f89432301ab88e721b884bfd8225b4e Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 17:56:00 +0000 Subject: [PATCH 265/281] moved hash funciton into a module for better testings --- .../connect.session/session/hash.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 node_modules/connect-architect/connect.session/session/hash.js diff --git a/node_modules/connect-architect/connect.session/session/hash.js b/node_modules/connect-architect/connect.session/session/hash.js new file mode 100644 index 00000000..8b995352 --- /dev/null +++ b/node_modules/connect-architect/connect.session/session/hash.js @@ -0,0 +1,18 @@ +var crc32 = require('buffer-crc32'); + +/** + * Hash the given `sess` object omitting changes + * to `.cookie`. + * + * @param {Object} sess + * @return {String} + * @api private + */ + +function hash(sess) { + return crc32.signed(JSON.stringify(sess, function(key, val){ + if ('cookie' != key) return val; + })); +} + +module.exports.hash = hash; From 49cb02527410890b2ff66524f526dfdfb288d832 Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 17:56:41 +0000 Subject: [PATCH 266/281] move encrypt/decrypt into modules --- .../connect.session/decrypt.js | 28 +++++++++++++ .../connect.session/decrypt_test.js | 39 +++++++++++++++++++ .../connect.session/encrypt.js | 12 ++++++ 3 files changed, 79 insertions(+) create mode 100644 node_modules/connect-architect/connect.session/decrypt.js create mode 100644 node_modules/connect-architect/connect.session/decrypt_test.js create mode 100644 node_modules/connect-architect/connect.session/encrypt.js diff --git a/node_modules/connect-architect/connect.session/decrypt.js b/node_modules/connect-architect/connect.session/decrypt.js new file mode 100644 index 00000000..cb4d450f --- /dev/null +++ b/node_modules/connect-architect/connect.session/decrypt.js @@ -0,0 +1,28 @@ +"use strict"; + +var utils = require("./session/utils"); + +function decrypt(secret, rawCookie) { + // ensure secret is available or bail + if (!secret) throw new Error('`secret` option required for sessions'); + + // secret is always an array of secrets + secret = [].concat(secret); + + for (var i = 0; i < secret.length; i++) { + var unsignedCookie = utils.parseSignedCookie(rawCookie, secret[i]); + + if (unsignedCookie && unsignedCookie !== rawCookie) { + var usedSecret = secret[i]; + + return { + unsignedCookie: unsignedCookie, + usedSecret: usedSecret + }; + } + } + + return {}; +} + +module.exports.decrypt = decrypt; \ No newline at end of file diff --git a/node_modules/connect-architect/connect.session/decrypt_test.js b/node_modules/connect-architect/connect.session/decrypt_test.js new file mode 100644 index 00000000..a588387b --- /dev/null +++ b/node_modules/connect-architect/connect.session/decrypt_test.js @@ -0,0 +1,39 @@ +#!/usr/bin/env node + +/*global describe it before after beforeEach afterEach */ +"use strict"; + +"use server"; + +require("c9/inline-mocha")(module); +require("c9/setup_paths"); + +var Cookie = require("cookie"); +var assert = require("assert"); +var ConnectCookie = require("./session/cookie"); + +var encrypt = require("./encrypt"); +var decrypt = require("./decrypt"); + +describe("decrypt", function() { + + it("Should decrypt when secret is a string", function(){ + var sessionID = Math.random().toString(36); + var secret = Math.random().toString(36); + var cookieVal = encrypt(sessionID, "connect.sid", new ConnectCookie({}), secret); + var cookie = Cookie.parse(cookieVal); + var val = decrypt.decrypt(secret, cookie["connect.sid"]); + + assert.deepEqual(val, { unsignedCookie: sessionID, usedSecret: secret }); + }); + + it("Should decrypt when secret is an array", function(){ + var sessionID = Math.random().toString(36); + var secret = [Math.random().toString(36), Math.random().toString(36), Math.random().toString(36)]; + var cookieVal = encrypt(sessionID, "connect.sid", new ConnectCookie({}), secret[1]); + var cookie = Cookie.parse(cookieVal); + var val = decrypt.decrypt(secret, cookie["connect.sid"]); + + assert.deepEqual(val, { unsignedCookie: sessionID, usedSecret: secret[1] }); + }); +}); \ No newline at end of file diff --git a/node_modules/connect-architect/connect.session/encrypt.js b/node_modules/connect-architect/connect.session/encrypt.js new file mode 100644 index 00000000..6960e0f6 --- /dev/null +++ b/node_modules/connect-architect/connect.session/encrypt.js @@ -0,0 +1,12 @@ +"use strict"; + +var signature = require("cookie-signature"); + +function encrypt(sessionID, key, cookie, secret) { + var val = 's:' + signature.sign(sessionID, secret); + val = cookie.serialize(key, val); + + return val; +} + +module.exports = encrypt; \ No newline at end of file From 726ac88a5094ad45c638af8eecc5ef761b86b54b Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 18:00:38 +0000 Subject: [PATCH 267/281] refactors for better testing --- .../connect.session/session.js | 54 +++++++------------ 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/node_modules/connect-architect/connect.session/session.js b/node_modules/connect-architect/connect.session/session.js index b4db6b63..1eaff1e4 100644 --- a/node_modules/connect-architect/connect.session/session.js +++ b/node_modules/connect-architect/connect.session/session.js @@ -16,17 +16,15 @@ var Session = require('./session/session') , debug = require('debug')('connect:session') - , signature = require('cookie-signature') , Cookie = require('./session/cookie') , Store = require('./session/store') , utils = require('./session/utils') , uid = require('uid2') - , crc32 = require('buffer-crc32') , parse = require('url').parse; -// environment - -var env = process.env.NODE_ENV; +var decrypt = require("./decrypt"); +var encrypt = require("./encrypt"); +var hash = require("./session/hash"); /** * Expose the middleware. @@ -217,8 +215,8 @@ function session(options){ // ensure secret is available or bail if (!secret) throw new Error('`secret` option required for sessions'); - - // secret is always an array of secrets + + // normalize secret to be an array secret = [].concat(secret); var originalHash @@ -229,23 +227,22 @@ function session(options){ // grab the session cookie value and check the signature var rawCookie = req.cookies[key]; - + // get signedCookies for backwards compat with signed cookies var unsignedCookie = req.signedCookies[key]; - var usedSecret; if (!unsignedCookie && rawCookie) { - for (var i = 0; i < secret.length; i++) { - if (unsignedCookie) continue; - unsignedCookie = utils.parseSignedCookie(rawCookie, secret[i]); - usedSecret = secret[i]; - } + var values = decrypt.decrypt(secret, rawCookie); + + usedSecret = values.usedSecret; + unsignedCookie = values.unsignedCookie; } - + // set-cookie res.on('header', function(){ if (!req.session) return; + var cookie = req.session.cookie , proto = (req.headers['x-forwarded-proto'] || '').split(',')[0].toLowerCase().trim() , tls = req.connection.encrypted || (trustProxy && 'https' == proto) @@ -254,21 +251,20 @@ function session(options){ // only send secure cookies via https if (cookie.secure && !tls) return debug('not secured'); - // in case of rolling session, always reset the cookie - if (usedSecret == secret[0] && !rollingSessions) { + var masterSecret = secret[1] || secret[0]; + // in case of rolling session, always reset the cookie + if (usedSecret == masterSecret && !rollingSessions) { // browser-session length cookie if (null == cookie.expires) { if (!isNew) return debug('already set browser-session cookie'); // compare hashes and ids - } else if (originalHash == hash(req.session) && originalId == req.session.id) { + } else if (originalHash == hash.hash(req.session) && originalId == req.session.id) { return debug('unmodified session'); } - } - var val = 's:' + signature.sign(req.sessionID, secret[0]); - val = cookie.serialize(key, val); + var val = encrypt(req.sessionID, key, cookie, masterSecret); debug('set-cookie %s', val); res.setHeader('Set-Cookie', val); }); @@ -333,24 +329,10 @@ function session(options){ debug('session found'); store.createSession(req, sess); originalId = req.sessionID; - originalHash = hash(sess); + originalHash = hash.hash(sess); next(); } }); }; }; -/** - * Hash the given `sess` object omitting changes - * to `.cookie`. - * - * @param {Object} sess - * @return {String} - * @api private - */ - -function hash(sess) { - return crc32.signed(JSON.stringify(sess, function(key, val){ - if ('cookie' != key) return val; - })); -} From 94afcc2e14c4a6277e3b9fc1b505e47e5e043ccd Mon Sep 17 00:00:00 2001 From: Matthijs van Henten Date: Thu, 22 Sep 2016 18:01:49 +0000 Subject: [PATCH 268/281] test the session lib --- .../connect.session/session_test.js | 186 ++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 node_modules/connect-architect/connect.session/session_test.js diff --git a/node_modules/connect-architect/connect.session/session_test.js b/node_modules/connect-architect/connect.session/session_test.js new file mode 100644 index 00000000..86052f1f --- /dev/null +++ b/node_modules/connect-architect/connect.session/session_test.js @@ -0,0 +1,186 @@ +#!/usr/bin/env node + +/*global describe it before after beforeEach afterEach */ +"use strict"; +"use server"; + +require("c9/inline-mocha")(module); +require("c9/setup_paths"); + +var assert = require("assert"); +var ConnectCookie = require("./session/cookie"); +var Cookie = require("cookie"); +var session = require("./session"); +var EventEmitter = require("events").EventEmitter; +var sinon = require("sinon"); + +var Store = require("connect").session.MemoryStore; + +var encrypt = require("./encrypt"); +var decrypt = require("./decrypt"); +var hash = require("./session/hash"); + +describe("lib/session", function() { + + function mockReq() { + var req = new EventEmitter(); + req.originalUrl = "/"; + req.cookies = {}; + req.signedCookies = {}; + req.headers = {}; + req.connection = {}; + + return req; + } + + function mockRes() { + var res = new EventEmitter(); + res.setHeader = function(key, value) {}; + sinon.spy(res, "setHeader"); + return res; + } + + it("Returns a middleware", function() { + var middleware = session({ + store: new Store() + }); + + assert.equal(middleware.length, 3, "Has an arity of 3"); + }); + + it("Encrypts a cookie", function(done) { + var middleware = session({ + store: new Store(), + secret: "limecat" + }); + + var res = mockRes(); + + middleware(mockReq(), res, function() { + res.emit("header"); + + assert.ok(res.setHeader.calledOnce); + var args = res.setHeader.args[0]; + + assert.equal(args[0], "Set-Cookie"); + assert.ok(/connect.sid=.+?; Path=\/; HttpOnly/.test(args[1])); + done(); + }); + }); + + it("Does not create a new cookie if the secret remains the same", function(done) { + var sessionID = "123"; + var secret = "limecat"; + + var cookieVal = encrypt(sessionID, "connect.sid", new ConnectCookie({}), secret); + + var req = mockReq(); + var res = mockRes(); + var store = new Store(); + + var mw = session({ + secret: ["newsecret", secret], + store: store + }); + + sinon.stub(hash, "hash", function() { + return; + }); + + req.cookies = Cookie.parse(cookieVal); + + mw(req, res, function() { + var sessionCalled = 0; + var sessionCookie = new ConnectCookie({}); + + // force the code down a certain path + sessionCookie.expires = new Date(Date.now() + 1000); + + Object.defineProperty(req, "session", { + get: function() { + sessionCalled++; + return { + cookie: sessionCookie + }; + } + }); + + res.emit("header"); + + assert.ok(hash.hash.calledOnce, "we know the hash got called (asserts the code path)"); + assert.equal(sessionCalled, 4, "session was accessed, this asserts the code-path"); + hash.hash.restore(); + assert.ok(res.setHeader.notCalled); + done(); + }); + }); + + it("Rotates the secret: it encrypts using the new secret", function(done) { + var sessionID = Math.random().toString(36); + var secret = [Math.random().toString(36), Math.random().toString(36), Math.random().toString(36)]; + + // use the encryption funciton used in session to create a fake cookie + var cookie = encrypt(sessionID, "connect.sid", new ConnectCookie({}), secret[2]); + var req = mockReq(); + var res = mockRes(); + + var mw = session({ + secret: secret, + store: new Store() + }); + + req.sessionID = sessionID; + req.cookies = Cookie.parse(cookie); + + var decryptSpy = sinon.spy(decrypt, "decrypt"); + + // forces code down the path in L262 + sinon.stub(hash, "hash", function() { + return; + }); + + mw(req, res, function() { + // The cookie must have been decrypted by know, using one of the + // available secrets. + assert.deepEqual(decryptSpy.returnValues[0], { + unsignedCookie: sessionID, + usedSecret: secret[2] + }, "our cookie was decrypted"); + + // in the "header" listener we check for the cookie. + var sessionCookie = new ConnectCookie({}); + + // forces the if on L259 + sessionCookie.expires = new Date(Date.now() + 1000); + + // we need to mock req.session. The listener assumes this to be + // set in a later code path. + req.session = { + cookie: sessionCookie + }; + + // kick of the listener + res.emit("header"); + + // check that L262 was NOT executed + assert.ok(hash.hash.notCalled, "hash should be called on L262"); + + // we expect we got a fresh cookie + assert.ok(res.setHeader.calledOnce, "we expect a new cookie"); + + var cookie = res.setHeader.args[0][1]; + var parsed = Cookie.parse(cookie); + + var val = decrypt.decrypt(secret[1], parsed["connect.sid"]); + + assert.deepEqual(val, { + unsignedCookie: req.sessionID, + usedSecret: secret[1] + }); + + hash.hash.restore(); + done(); + }); + }); + +}); \ No newline at end of file From 3e8d632be69510d1695320e6545000a0aa563304 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Thu, 22 Sep 2016 22:15:44 +0200 Subject: [PATCH 269/281] c9-auto-bump 3.1.3122 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 43f46343..36b1b6f1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3121", + "version": "3.1.3122", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b077b53c75a3e2a39d9cd76698991de51eaa588a Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 13:15:58 +0200 Subject: [PATCH 270/281] c9-auto-bump 3.1.3123 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36b1b6f1..7552eef9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3122", + "version": "3.1.3123", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 954ff8d10946c557c8864c02a519c7d796685e9b Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 13:20:37 +0200 Subject: [PATCH 271/281] c9-auto-bump 3.1.3124 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7552eef9..07916baa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3123", + "version": "3.1.3124", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From e8ede58b928f9e0057fcc5968ec44f8e959f47ae Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 14:00:22 +0200 Subject: [PATCH 272/281] c9-auto-bump 3.1.3125 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 07916baa..c8d2423b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3124", + "version": "3.1.3125", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 6c46a03c5187ff47c0c2b5fc2b7648ee1e17672f Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 15:51:56 +0200 Subject: [PATCH 273/281] c9-auto-bump 3.1.3126 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8d2423b..3a459b77 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3125", + "version": "3.1.3126", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 0c7d7800e68c69f92dbf12e3ac59b60b1632cac4 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 16:10:26 +0200 Subject: [PATCH 274/281] c9-auto-bump 3.1.3127 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3a459b77..6e685421 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3126", + "version": "3.1.3127", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 942e4c655597b1d9979d485318b759b225ff2b15 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 16:16:38 +0200 Subject: [PATCH 275/281] c9-auto-bump 3.1.3128 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e685421..9649525c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3127", + "version": "3.1.3128", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From b9a771b52c82f8a0e559c7c33c9d88eafa3f0ff3 Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 17:13:35 +0200 Subject: [PATCH 276/281] c9-auto-bump 3.1.3129 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9649525c..2109f5cf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3128", + "version": "3.1.3129", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 752e3df2a65f74c95b6c54110f57d3d36480942c Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 17:31:10 +0200 Subject: [PATCH 277/281] c9-auto-bump 3.1.3130 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2109f5cf..06468a0e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3129", + "version": "3.1.3130", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From f46f266c0a33e519abcb6de4ece013ce1416fc6b Mon Sep 17 00:00:00 2001 From: c9jenkinsv3 Date: Fri, 23 Sep 2016 17:56:01 +0200 Subject: [PATCH 278/281] c9-auto-bump 3.1.3131 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 06468a0e..2d8879fe 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "c9", "description": "New Cloud9 Client", - "version": "3.1.3130", + "version": "3.1.3131", "author": "Ajax.org B.V. ", "private": true, "main": "bin/c9", From 586ea62b291de40bc372e2472541a0383cb6b6b3 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 29 Sep 2016 00:04:24 +0000 Subject: [PATCH 279/281] When a user is removed from a project, kill their VFS session --- plugins/c9.vfs.server/vfs.server.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/plugins/c9.vfs.server/vfs.server.js b/plugins/c9.vfs.server/vfs.server.js index 3be49599..aa259a99 100644 --- a/plugins/c9.vfs.server/vfs.server.js +++ b/plugins/c9.vfs.server/vfs.server.js @@ -277,7 +277,7 @@ function plugin(options, imports, register) { var vfsid = req.params.vfsid; var scope = req.params.scope; var path = req.params.path; - + var entry = cache.get(vfsid); if (!entry) { var err = new error.PreconditionFailed("VFS connection does not exist"); @@ -335,10 +335,32 @@ function plugin(options, imports, register) { user.save && user.save(function() {}); } } - + + function handlePublish(vfs, messageString) { + var message = JSON.parse(messageString); + switch (message.action) { + case "remove_member": + handleRemoveProjectMember(vfs, message); + break; + default: + break; + } + } + + function handleRemoveProjectMember(vfs, message) { + if (vfs.uid !== message.body.uid) return; + + console.log("Removing ", vfs.id, " for user ", vfs.uid, " project ", vfs.pid, " from the vfs connection cache"); + // Remove after 2s so client has time to recieve final "You've been removed" PubSub message. + setTimeout(function() { + cache.remove(vfs.id); + }, 2000); + } + register(null, { "vfs.server": { - get section() { return section; } + get section() { return section; }, + get handlePublish() { return handlePublish; } } }); } From 820ff42781802261e12f772764d1da6a9b61b58d Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 29 Sep 2016 20:41:28 +0000 Subject: [PATCH 280/281] Add tests. Kill the vfs connection when a users access level is changed too. --- plugins/c9.vfs.server/vfs.server.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/c9.vfs.server/vfs.server.js b/plugins/c9.vfs.server/vfs.server.js index aa259a99..8bbbc4f3 100644 --- a/plugins/c9.vfs.server/vfs.server.js +++ b/plugins/c9.vfs.server/vfs.server.js @@ -340,21 +340,23 @@ function plugin(options, imports, register) { var message = JSON.parse(messageString); switch (message.action) { case "remove_member": - handleRemoveProjectMember(vfs, message); + case "update_member_access": + handleProjectMemberAccessChange(vfs, message); break; default: break; } } - function handleRemoveProjectMember(vfs, message) { + function handleProjectMemberAccessChange(vfs, message) { if (vfs.uid !== message.body.uid) return; console.log("Removing ", vfs.id, " for user ", vfs.uid, " project ", vfs.pid, " from the vfs connection cache"); - // Remove after 2s so client has time to recieve final "You've been removed" PubSub message. - setTimeout(function() { + + // Remove next tick so client has time to recieve final "You've been removed" PubSub message. + process.nextTick(function() { cache.remove(vfs.id); - }, 2000); + }); } register(null, { From 6cd0202b4171d98e42fa9edb09d18766a473c283 Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 29 Sep 2016 20:55:02 +0000 Subject: [PATCH 281/281] Need a timeout of 100ms for the message to show --- plugins/c9.vfs.server/vfs.server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/c9.vfs.server/vfs.server.js b/plugins/c9.vfs.server/vfs.server.js index 8bbbc4f3..069fd3ed 100644 --- a/plugins/c9.vfs.server/vfs.server.js +++ b/plugins/c9.vfs.server/vfs.server.js @@ -354,9 +354,9 @@ function plugin(options, imports, register) { console.log("Removing ", vfs.id, " for user ", vfs.uid, " project ", vfs.pid, " from the vfs connection cache"); // Remove next tick so client has time to recieve final "You've been removed" PubSub message. - process.nextTick(function() { + setTimeout(function() { cache.remove(vfs.id); - }); + }, 100); } register(null, {