From 1d0e33fdc16d301d8ded53bfcbcf3cebfb12e0cc Mon Sep 17 00:00:00 2001 From: Nuwan Chathuranga Date: Tue, 15 Jun 2021 17:26:10 +0530 Subject: [PATCH 1/7] discard decimal palces in latency values in musician hover bubble --- web/app/assets/javascripts/session_utils.js | 4 ++-- web/spec/features/musician_hover_spec_1.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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/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) From 4b21aa68e0c39048e663aa047ee79db40d39a82f Mon Sep 17 00:00:00 2001 From: Nuwan Chathuranga Date: Tue, 15 Jun 2021 17:26:10 +0530 Subject: [PATCH 2/7] discard decimal palces in latency values in musician hover bubble --- web/app/assets/javascripts/session_utils.js | 4 ++-- web/spec/features/musician_hover_spec_1.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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/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) From 7627b3992575c29d3df161531eed232e8592c2d9 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Wed, 16 Jun 2021 22:30:54 +0530 Subject: [PATCH 3/7] musiian latency badge error fixing --- web/app/assets/javascripts/hoverMusician.js | 11 ++++++++--- .../react-components/stores/LatencyStore.js.coffee | 7 +++++-- web/config/environments/development.rb | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/web/app/assets/javascripts/hoverMusician.js b/web/app/assets/javascripts/hoverMusician.js index 6ba555576..a4f7ff70e 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,10 +188,13 @@ } function bindUserLatencyUpdate(userId){ - var latency; + // var latency; $(document).on('user_latency_update', function(e, latencyResp){ - var userLatency = latencyResp['users'].find(function(latency) { + logger.debug("bindUserLatencyUpdate", latencyResp); + logger.debug("bindUserLatencyUpdate.userId", userId); + + var userLatency = latencyResp.find(function(latency) { return latency.user_id === userId; }); @@ -201,7 +205,7 @@ }else{ showUnknownLatencyBadge(userId); } - }); + }) } function bindUserLatencyFail(){ @@ -257,6 +261,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..0d9426f05 100644 --- a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee @@ -15,6 +15,7 @@ rest = new context.JK.Rest() onAppInit: (@app) -> changed: () -> + logger.debug("LatencyStore.latencies = ", @latencies) $(document).triggerHandler("user_latency_update", @latencies) @trigger(@latencies) @@ -22,8 +23,10 @@ rest = new context.JK.Rest() 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) + logger.debug("LatencyStore.onLoaded response", response) + usersLatencies = response.users + @latencies = @latencies.concat(usersLatencies) + @latencies = _.uniq(@latencies) @changed() onLatencyFail:(jqXHR, user_ids) -> 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 From 280b8bc4ae6565c981a616621b8b04a41370d8b9 Mon Sep 17 00:00:00 2001 From: Nuwan Chathuranga Date: Tue, 15 Jun 2021 17:26:10 +0530 Subject: [PATCH 4/7] discard decimal palces in latency values in musician hover bubble --- web/app/assets/javascripts/session_utils.js | 4 ++-- web/spec/features/musician_hover_spec_1.rb | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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/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) From ebc9c2692c8208e7ce2034b368adb18f9a8e26bb Mon Sep 17 00:00:00 2001 From: Nuwan Date: Wed, 16 Jun 2021 22:30:54 +0530 Subject: [PATCH 5/7] musiian latency badge error fixing --- web/app/assets/javascripts/hoverMusician.js | 11 ++++++++--- .../react-components/stores/LatencyStore.js.coffee | 7 +++++-- web/config/environments/development.rb | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/web/app/assets/javascripts/hoverMusician.js b/web/app/assets/javascripts/hoverMusician.js index 6ba555576..a4f7ff70e 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,10 +188,13 @@ } function bindUserLatencyUpdate(userId){ - var latency; + // var latency; $(document).on('user_latency_update', function(e, latencyResp){ - var userLatency = latencyResp['users'].find(function(latency) { + logger.debug("bindUserLatencyUpdate", latencyResp); + logger.debug("bindUserLatencyUpdate.userId", userId); + + var userLatency = latencyResp.find(function(latency) { return latency.user_id === userId; }); @@ -201,7 +205,7 @@ }else{ showUnknownLatencyBadge(userId); } - }); + }) } function bindUserLatencyFail(){ @@ -257,6 +261,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..0d9426f05 100644 --- a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee @@ -15,6 +15,7 @@ rest = new context.JK.Rest() onAppInit: (@app) -> changed: () -> + logger.debug("LatencyStore.latencies = ", @latencies) $(document).triggerHandler("user_latency_update", @latencies) @trigger(@latencies) @@ -22,8 +23,10 @@ rest = new context.JK.Rest() 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) + logger.debug("LatencyStore.onLoaded response", response) + usersLatencies = response.users + @latencies = @latencies.concat(usersLatencies) + @latencies = _.uniq(@latencies) @changed() onLatencyFail:(jqXHR, user_ids) -> 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 From b15a62cd4ee5430e64e836d036c26feed441714d Mon Sep 17 00:00:00 2001 From: Nuwan Date: Thu, 17 Jun 2021 00:08:49 +0530 Subject: [PATCH 6/7] wip musiian latency badge fix --- web/app/assets/javascripts/hoverMusician.js | 11 ++--------- .../react-components/stores/LatencyStore.js.coffee | 6 ++---- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/web/app/assets/javascripts/hoverMusician.js b/web/app/assets/javascripts/hoverMusician.js index a4f7ff70e..acf7a6f87 100644 --- a/web/app/assets/javascripts/hoverMusician.js +++ b/web/app/assets/javascripts/hoverMusician.js @@ -188,18 +188,12 @@ } function bindUserLatencyUpdate(userId){ - // var latency; $(document).on('user_latency_update', function(e, latencyResp){ - - logger.debug("bindUserLatencyUpdate", latencyResp); - logger.debug("bindUserLatencyUpdate.userId", userId); - - var userLatency = latencyResp.find(function(latency) { + + var userLatency = latencyResp.users.find(function(latency) { return latency.user_id === userId; }); - //logger.debug("bindUserLatencyUpdate", userLatency); - if(userLatency){ showLatencyBadge(userLatency); }else{ @@ -261,7 +255,6 @@ } 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 0d9426f05..792c90752 100644 --- a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee @@ -15,15 +15,13 @@ rest = new context.JK.Rest() onAppInit: (@app) -> changed: () -> - logger.debug("LatencyStore.latencies = ", @latencies) - $(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])) onLoaded: (response) -> - logger.debug("LatencyStore.onLoaded response", response) usersLatencies = response.users @latencies = @latencies.concat(usersLatencies) @latencies = _.uniq(@latencies) From fb1d18ce6bace1295ff3604ff95e3f555bf45502 Mon Sep 17 00:00:00 2001 From: Nuwan Chathuranga Date: Thu, 17 Jun 2021 00:47:53 +0530 Subject: [PATCH 7/7] fix error showing latency badge this fixes the issue of not showing the correct latency badge on when hover over more than one user --- web/app/assets/javascripts/hoverMusician.js | 6 +++--- .../react-components/stores/LatencyStore.js.coffee | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/web/app/assets/javascripts/hoverMusician.js b/web/app/assets/javascripts/hoverMusician.js index 3285e8c62..e7a597163 100644 --- a/web/app/assets/javascripts/hoverMusician.js +++ b/web/app/assets/javascripts/hoverMusician.js @@ -203,9 +203,9 @@ } 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) } }); 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 792c90752..556bc25c3 100644 --- a/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/LatencyStore.js.coffee @@ -19,7 +19,7 @@ rest = new context.JK.Rest() @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) -> usersLatencies = response.users @@ -31,8 +31,9 @@ rest = new context.JK.Rest() 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 }