diff --git a/web/Gemfile b/web/Gemfile index 14a1de9c0..79d35c7d5 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -77,6 +77,7 @@ gem 'rest_client' gem 'iso-639' gem 'language_list' gem 'rubyzip' +gem 'slim' group :development, :test do gem 'rspec-rails', '2.14.2' @@ -87,7 +88,6 @@ group :development, :test do gem 'execjs', '1.4.0' gem 'factory_girl_rails', '4.1.0' # in dev because in use by rake task gem 'database_cleaner', '1.3.0' #in dev because in use by rake task - gem 'slim' end group :unix do gem 'therubyracer' #, '0.11.0beta8' diff --git a/web/app/assets/javascripts/JamServer.js b/web/app/assets/javascripts/JamServer.js index cce25f6da..7460a0238 100644 --- a/web/app/assets/javascripts/JamServer.js +++ b/web/app/assets/javascripts/JamServer.js @@ -394,6 +394,16 @@ function attemptReconnect() { + if(server.connecting) { + logger.warn("attemptReconnect called when already connecting"); + return; + } + + if(server.connected) { + logger.warn("attemptReconnect called when already connected"); + return; + } + var start = new Date().getTime(); renderReconnecting(); @@ -489,12 +499,6 @@ }; server.connect = function () { - if(!clientType) { - clientType = context.JK.clientType(); - } - if(!mode) { - mode = context.jamClient.getOperatingMode ? context.jamClient.getOperatingMode() : 'client'; - } if(server.connecting) { logger.error("server.connect should never be called if we are already connecting. cancelling.") @@ -504,6 +508,13 @@ logger.error("server.connect should never be called if we are already connected. cancelling.") return; } + + if(!clientType) { + clientType = context.JK.clientType(); + } + if(!mode) { + mode = context.jamClient.getOperatingMode ? context.jamClient.getOperatingMode() : 'client'; + } connectDeferred = new $.Deferred(); channelId = context.JK.generateUUID(); // create a new channel ID for every websocket connection