diff --git a/web/app/assets/javascripts/hoverMusician.js b/web/app/assets/javascripts/hoverMusician.js index 6ba555576..e7a597163 100644 --- a/web/app/assets/javascripts/hoverMusician.js +++ b/web/app/assets/javascripts/hoverMusician.js @@ -132,6 +132,7 @@ $(hoverSelector).css(css); $(hoverSelector).fadeIn(500); + logger.debug("before bindUserLatencyUpdate userId=", userId) bindUserLatencyUpdate(userId); LatencyActions.resolve([userId]); @@ -187,27 +188,24 @@ } function bindUserLatencyUpdate(userId){ - var latency; $(document).on('user_latency_update', function(e, latencyResp){ - - var userLatency = latencyResp['users'].find(function(latency) { + + var userLatency = latencyResp.users.find(function(latency) { return latency.user_id === userId; }); - //logger.debug("bindUserLatencyUpdate", userLatency); - if(userLatency){ showLatencyBadge(userLatency); }else{ showUnknownLatencyBadge(userId); } - }); + }) } function bindUserLatencyFail(){ - $(document).one('user_latency_fail', function(e, failedUserIds){ - //logger.debug("bindUserLatencyFail", failedUserIds) - if(_.contains(failedUserIds, userId)){ + $(document).one('user_latency_fail', function(e, failedResp){ + //logger.debug("bindUserLatencyFail", failedResp) + if(_.contains(failedResp.user_ids, userId)){ showFailedLatencyBadge(userId) } }); @@ -257,6 +255,7 @@ } this.hideBubble = function() { + logger.debug("hideBubble called") unbindUserLatencyUpdate(); unbindUserLatencyFail(); //$(hoverSelector).hide(); diff --git a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee index c3f12ab83..556bc25c3 100644 --- a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee @@ -15,23 +15,25 @@ rest = new context.JK.Rest() onAppInit: (@app) -> changed: () -> - $(document).triggerHandler("user_latency_update", @latencies) - @trigger(@latencies) + $(document).triggerHandler("user_latency_update", { users: @latencies }) + @trigger(users: { @latencies }) onResolve: (user_ids) -> - rest.getLatencyToUsers({user_ids: user_ids}).done((response) => @onLoaded(response)).fail((jqXHR) => @onLatencyFail(jqXHR, [user_ids])) + rest.getLatencyToUsers({user_ids: user_ids}).done((response) => @onLoaded(response)).fail((jqXHR) => @onLatencyFail(jqXHR, user_ids)) onLoaded: (response) -> - logger.debug("LatencyStore.onLoaded", response); - @latencies.push(response) + usersLatencies = response.users + @latencies = @latencies.concat(usersLatencies) + @latencies = _.uniq(@latencies) @changed() onLatencyFail:(jqXHR, user_ids) -> LatencyActions.fail(user_ids) onFail:(user_ids) -> - $(document).triggerHandler("user_latency_fail", user_ids) - @trigger(user_ids) + logger.debug("onLatencyFail", { user_ids: user_ids }) + $(document).triggerHandler("user_latency_fail", { user_ids: user_ids }) + @trigger( { user_ids: user_ids } ) getState:() -> { latencies: @latencies } diff --git a/web/app/assets/javascripts/session_utils.js b/web/app/assets/javascripts/session_utils.js index 4698ce35d..e3ed04e24 100644 --- a/web/app/assets/javascripts/session_utils.js +++ b/web/app/assets/javascripts/session_utils.js @@ -91,8 +91,8 @@ sessionUtils.scoreInfo = function(userSession, isSameUser) { var full_score = userSession.full_score; - var internet_score = userSession.internet_score; - var audio_latency = userSession.audio_latency; + var internet_score = parseInt(userSession.internet_score); + var audio_latency = parseInt(userSession.audio_latency); var latencyDescription; var latencyStyle; diff --git a/web/config/environments/development.rb b/web/config/environments/development.rb index c0b3bf258..f63373c8a 100644 --- a/web/config/environments/development.rb +++ b/web/config/environments/development.rb @@ -114,6 +114,6 @@ SampleApp::Application.configure do config.video_conferencing_host = "https://webrtc-demo.jamkazam.com" config.use_video_conferencing_server = true - config.latency_data_host = "http://localhost:4001/dev" + config.latency_data_host = "http://localhost:4001/local" config.latency_data_host_auth_code = "c2VydmVyOnBhc3N3b3Jk" end diff --git a/web/spec/features/musician_hover_spec_1.rb b/web/spec/features/musician_hover_spec_1.rb index 30a6634d4..34bd4b7ca 100644 --- a/web/spec/features/musician_hover_spec_1.rb +++ b/web/spec/features/musician_hover_spec_1.rb @@ -40,7 +40,7 @@ describe "Musician Hover", :js => true, :type => :feature, :capybara_feature => find("#musician-latency-badge .latency", text: 'GOOD') #sleep(2) #save_screenshot("latency-good.png") - find("#musician-latency-badge .latency-info", text: 'Internet 0.5ms + Audio 0.5ms') + find("#musician-latency-badge .latency-info", text: 'Internet 0ms + Audio 0ms') end @@ -93,7 +93,7 @@ describe "Musician Hover", :js => true, :type => :feature, :capybara_feature => find(selector, text: user2.name).hover_intent find('h3', text: user2.name) find("#musician-latency-badge .latency", text: 'GOOD') - find("#musician-latency-badge .latency-info", text: 'Internet 0.4ms + Audio 0.6ms') + find("#musician-latency-badge .latency-info", text: 'Internet 0ms + Audio 0ms') page.execute_script("$('#{selector}').mouseleave();") sleep(1) @@ -120,7 +120,7 @@ describe "Musician Hover", :js => true, :type => :feature, :capybara_feature => find(selector, text: user5.name).hover_intent find('h3', text: user5.name) find("#musician-latency-badge .latency", text: 'UNACCEPTABLE') - find("#musician-latency-badge .latency-info", text: 'Internet 31.75ms + Audio 70.25ms') + find("#musician-latency-badge .latency-info", text: 'Internet 31ms + Audio 70ms') page.execute_script("$('#{selector}').mouseleave();") sleep(1)