From 31c80604635d00d7a9e56e2d2d422987e0bd645a Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 4 Oct 2022 16:06:59 -0400 Subject: [PATCH 1/5] Add eslint warning for no-warning-comments --- .eslintrc.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 7bf51c7a58..40b200f689 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -51,6 +51,7 @@ module.exports = { 'no-floating-decimal': ['error'], 'no-multi-spaces': ['error'], 'no-multiple-empty-lines': ['error', { 'max': 1 }], + 'no-nested-ternary': ['error'], 'no-restricted-globals': ['error'].concat(restrictedGlobals), 'no-return-assign': ['error'], 'no-return-await': ['error'], @@ -58,14 +59,14 @@ module.exports = { 'no-trailing-spaces': ['error'], '@babel/no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }], 'no-useless-constructor': ['error'], + 'no-var': ['error'], 'no-void': ['error', { 'allowAsStatement': true }], - 'no-nested-ternary': ['error'], + 'no-warning-comments': ['warn', { 'terms': ['fixme', 'hack', 'xxx'] }], 'one-var': ['error', 'never'], 'padded-blocks': ['error', 'never'], 'prefer-const': ['error', { 'destructuring': 'all' }], 'quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }], '@babel/semi': ['error'], - 'no-var': ['error'], 'space-before-blocks': ['error'], 'space-infix-ops': 'error', 'yoda': 'error', From 9cb03ba4e5165c2e93266f0dac5c0e382dcec936 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 4 Oct 2022 16:10:57 -0400 Subject: [PATCH 2/5] Fix assignment in switch expression issues --- src/components/tunerPicker.js | 2 +- src/components/tvproviders/schedulesdirect.js | 2 +- src/components/tvproviders/xmltv.js | 2 +- src/controllers/livetvstatus.js | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/tunerPicker.js b/src/components/tunerPicker.js index b73337182b..68c6644092 100644 --- a/src/components/tunerPicker.js +++ b/src/components/tunerPicker.js @@ -67,7 +67,7 @@ function getDeviceHtml(device) { } function getTunerName(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'm3u': return 'M3U'; diff --git a/src/components/tvproviders/schedulesdirect.js b/src/components/tvproviders/schedulesdirect.js index 239831ad8a..509c8145a3 100644 --- a/src/components/tvproviders/schedulesdirect.js +++ b/src/components/tvproviders/schedulesdirect.js @@ -202,7 +202,7 @@ export default function (page, providerId, options) { } function getTunerName(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'm3u': return 'M3U Playlist'; case 'hdhomerun': diff --git a/src/components/tvproviders/xmltv.js b/src/components/tvproviders/xmltv.js index 9d5312e4dc..5a4e44db6d 100644 --- a/src/components/tvproviders/xmltv.js +++ b/src/components/tvproviders/xmltv.js @@ -106,7 +106,7 @@ export default function (page, providerId, options) { } function getTunerName(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'm3u': return 'M3U Playlist'; case 'hdhomerun': diff --git a/src/controllers/livetvstatus.js b/src/controllers/livetvstatus.js index d07b50c048..d771464b1d 100644 --- a/src/controllers/livetvstatus.js +++ b/src/controllers/livetvstatus.js @@ -192,7 +192,7 @@ function deleteProvider(page, id) { } function getTunerName(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'm3u': return 'M3U'; case 'hdhomerun': @@ -207,7 +207,7 @@ function getTunerName(providerId) { } function getProviderName(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'schedulesdirect': return 'Schedules Direct'; case 'xmltv': @@ -218,7 +218,7 @@ function getProviderName(providerId) { } function getProviderConfigurationUrl(providerId) { - switch (providerId = providerId.toLowerCase()) { + switch (providerId.toLowerCase()) { case 'xmltv': return '#/livetvguideprovider.html?type=xmltv'; case 'schedulesdirect': From 3417d56bf3755d172e3d5e931b990d8e370272e0 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 4 Oct 2022 16:16:54 -0400 Subject: [PATCH 3/5] Fix weird ternary statements that sonar flags --- src/components/cardbuilder/cardBuilder.js | 3 ++- src/libraries/scroller.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index ebdc250d7a..c22e6a2b3f 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -390,7 +390,8 @@ import { appRouter } from '../appRouter'; } else if (options.indexBy === 'ProductionYear') { newIndexValue = item.ProductionYear; } else if (options.indexBy === 'CommunityRating') { - newIndexValue = item.CommunityRating ? (Math.floor(item.CommunityRating) + (item.CommunityRating % 1 >= 0.5 ? 0.5 : 0)) + '+' : null; + const roundedRatingDecimal = item.CommunityRating % 1 >= 0.5 ? 0.5 : 0; + newIndexValue = item.CommunityRating ? (Math.floor(item.CommunityRating) + roundedRatingDecimal) + '+' : null; } if (newIndexValue !== currentIndexValue) { diff --git a/src/libraries/scroller.js b/src/libraries/scroller.js index 26b4a8370b..49b84e734d 100644 --- a/src/libraries/scroller.js +++ b/src/libraries/scroller.js @@ -459,7 +459,8 @@ const scrollerFactory = function (frame, options) { */ function dragHandler(event) { dragging.released = event.type === 'mouseup' || event.type === 'touchend'; - const pointer = dragging.touch ? event[dragging.released ? 'changedTouches' : 'touches'][0] : event; + const eventName = dragging.released ? 'changedTouches' : 'touches'; + const pointer = dragging.touch ? event[eventName][0] : event; dragging.pathX = pointer.pageX - dragging.initX; dragging.pathY = pointer.pageY - dragging.initY; dragging.path = Math.sqrt(Math.pow(dragging.pathX, 2) + Math.pow(dragging.pathY, 2)); From f20a0e447cc94ee81b0f5b85ef4621d2f604c043 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 4 Oct 2022 16:27:11 -0400 Subject: [PATCH 4/5] Fix redundant assignment issue from sonar --- src/components/playback/playbackmanager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 1cbd99950a..4259354d81 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -2478,8 +2478,8 @@ class PlaybackManager { playMethod = 'DirectPlay'; } else if (mediaSource.StreamUrl) { // Only used for audio - playMethod = 'Transcode'; mediaUrl = mediaSource.StreamUrl; + // Use the default playMethod value of Transcode } else if (mediaSource.SupportsDirectPlay || mediaSource.SupportsDirectStream) { directOptions = { Static: true, From 0b76f38f1e96a6c28ecd9fdf44cbba57efe8ca9a Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 4 Oct 2022 16:47:08 -0400 Subject: [PATCH 5/5] Fix misleading array mutation issue from sonar --- src/scripts/dom.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/scripts/dom.js b/src/scripts/dom.js index 8cc3e7d036..e336088c87 100644 --- a/src/scripts/dom.js +++ b/src/scripts/dom.js @@ -183,9 +183,9 @@ width = height * (16.0 / 9.0); } - return standardWidths.sort(function (a, b) { - return Math.abs(width - a) - Math.abs(width - b); - })[0]; + standardWidths.sort((a, b) => Math.abs(width - a) - Math.abs(width - b)); + + return standardWidths[0]; } /**