diff --git a/configs/client-default.js b/configs/client-default.js index 924a5a0d..d4b0a7b4 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -120,7 +120,9 @@ module.exports = function(options) { region: options.region, pid: options.project.id, servers: options.vfsServers, - updateServers: hosted + updateServers: hosted, + strictRegion: options.strictRegion + || options.mode === "beta" && "beta" }, { packagePath: "plugins/c9.ide.auth/auth", diff --git a/package.json b/package.json index 5554f95e..49888a60 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,6 @@ "c9.ide.threewaymerge": "#229382aa0b", "c9.ide.undo": "#b028bcb4d5", "c9.ide.upload": "#0bd010d3dc", - "c9.ide.welcome": "#890d055ff6" + "c9.ide.welcome": "#4b9685584c" } } \ No newline at end of file diff --git a/plugins/c9.vfs.client/endpoint.js b/plugins/c9.vfs.client/endpoint.js index 9ff97c77..bc35ebf4 100644 --- a/plugins/c9.vfs.client/endpoint.js +++ b/plugins/c9.vfs.client/endpoint.js @@ -43,7 +43,8 @@ define(function(require, exports, module) { if (query.vfs) options.updateServers = false; - var region = query.region || options.region; + var strictRegion = query.region || options.strictRegion; + var region = strictRegion || options.region; var servers; var pendingServerReqs = []; @@ -170,8 +171,8 @@ define(function(require, exports, module) { // check for version if (vfsServers.length && !servers.length) { - if (region === "beta") - return callback(fatalError("Staging VFS server(s) not working", "reload")); + if (strictRegion) + return callback(fatalError("No VFS server(s) found for region " + strictRegion, "reload")); return onProtocolChange(callback); } @@ -304,11 +305,11 @@ define(function(require, exports, module) { function shuffleServers(version, servers) { servers = servers.slice(); - var isBetaClient = region === "beta"; - servers = servers.filter(function(s) { - var isBetaServer = s.region === "beta"; - return isBetaServer === isBetaClient; - }); + if (strictRegion) { + servers = servers.filter(function(s) { + return s.region === strictRegion; + }); + } servers = servers.filter(function(s) { return s.version == undefined || s.version == version; });