From 6ed7764156494ff96e08d7e8d544edaa09f4b9b3 Mon Sep 17 00:00:00 2001 From: Patrick Davis Date: Mon, 17 Feb 2025 13:10:58 +0000 Subject: [PATCH 1/8] -Add clientside ability to limit segment length to 1. See https://github.com/jellyfin/jellyfin-webos/issues/248 for details. -Add translations for this new setting (generated by github copilot). -Corrected small typo 'perfer'. --- .../playbackSettings/playbackSettings.js | 2 ++ .../playbackSettings.template.html | 8 ++++++++ src/scripts/browserDeviceProfile.js | 7 +++++-- src/scripts/settings/userSettings.js | 18 ++++++++++++++++-- src/strings/ar.json | 2 ++ src/strings/be-by.json | 2 ++ src/strings/ca.json | 2 ++ src/strings/cs.json | 2 ++ src/strings/da.json | 2 ++ src/strings/de.json | 2 ++ src/strings/el.json | 2 ++ src/strings/en-gb.json | 2 ++ src/strings/en-us.json | 2 ++ src/strings/eo.json | 2 ++ src/strings/es-ar.json | 2 ++ src/strings/es-mx.json | 2 ++ src/strings/es.json | 2 ++ src/strings/es_419.json | 2 ++ src/strings/et.json | 2 ++ src/strings/eu.json | 2 ++ src/strings/fa.json | 2 ++ src/strings/fi.json | 2 ++ src/strings/fil.json | 2 ++ src/strings/fr-ca.json | 2 ++ src/strings/fr.json | 2 ++ src/strings/ga.json | 2 ++ src/strings/he.json | 2 ++ src/strings/hu.json | 2 ++ src/strings/id.json | 2 ++ src/strings/it.json | 2 ++ src/strings/ja.json | 2 ++ src/strings/kk.json | 2 ++ src/strings/ko.json | 2 ++ src/strings/lb.json | 2 ++ src/strings/lv.json | 2 ++ src/strings/ml.json | 2 ++ src/strings/nb.json | 2 ++ src/strings/nl.json | 2 ++ src/strings/pl.json | 2 ++ src/strings/pt-br.json | 2 ++ src/strings/pt-pt.json | 2 ++ src/strings/pt.json | 2 ++ src/strings/ro.json | 2 ++ src/strings/ru.json | 2 ++ src/strings/sk.json | 2 ++ src/strings/sl-si.json | 2 ++ src/strings/sr.json | 2 ++ src/strings/sv.json | 2 ++ src/strings/ta.json | 2 ++ src/strings/te.json | 2 ++ src/strings/tr.json | 2 ++ src/strings/uk.json | 2 ++ src/strings/ur_PK.json | 2 ++ src/strings/vi.json | 2 ++ src/strings/zh-cn.json | 2 ++ src/strings/zh-tw.json | 2 ++ 56 files changed, 135 insertions(+), 4 deletions(-) diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index 81e82d0415..3f69cd4845 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -220,6 +220,7 @@ function loadForm(context, user, userSettings, systemInfo, apiClient) { context.querySelector('.chkPlayDefaultAudioTrack').checked = user.Configuration.PlayDefaultAudioTrack || false; context.querySelector('.chkPreferFmp4HlsContainer').checked = userSettings.preferFmp4HlsContainer(); + context.querySelector('.chkLimitSegmentLength').checked = userSettings.limitSegmentLength(); context.querySelector('.chkEnableDts').checked = appSettings.enableDts(); context.querySelector('.chkEnableTrueHd').checked = appSettings.enableTrueHd(); context.querySelector('.chkEnableHi10p').checked = appSettings.enableHi10p(); @@ -293,6 +294,7 @@ function saveUser(context, user, userSettingsInstance, apiClient) { user.Configuration.PlayDefaultAudioTrack = context.querySelector('.chkPlayDefaultAudioTrack').checked; user.Configuration.EnableNextEpisodeAutoPlay = context.querySelector('.chkEpisodeAutoPlay').checked; userSettingsInstance.preferFmp4HlsContainer(context.querySelector('.chkPreferFmp4HlsContainer').checked); + userSettingsInstance.limitSegmentLength(context.querySelector('.chkLimitSegmentLength').checked); userSettingsInstance.enableCinemaMode(context.querySelector('.chkEnableCinemaMode').checked); userSettingsInstance.selectAudioNormalization(context.querySelector('#selectAudioNormalization').value); userSettingsInstance.enableNextVideoInfoOverlay(context.querySelector('.chkEnableNextVideoOverlay').checked); diff --git a/src/components/playbackSettings/playbackSettings.template.html b/src/components/playbackSettings/playbackSettings.template.html index ed1409eff0..45be13058e 100644 --- a/src/components/playbackSettings/playbackSettings.template.html +++ b/src/components/playbackSettings/playbackSettings.template.html @@ -96,6 +96,14 @@
${PreferFmp4HlsContainerHelp}
+
+ +
${LimitSegmentLengthHelp}
+
+
-
- -
${LimitSegmentLengthHelp}
-
-
+
+ +
${LimitSegmentLengthHelp}
+
+
${LimitSegmentLength} From 5c9abe16fff4d6972eda86a480ac5cea7ab05f06 Mon Sep 17 00:00:00 2001 From: Pat <54077094+patrickd77-eng@users.noreply.github.com> Date: Mon, 17 Feb 2025 15:43:02 +0000 Subject: [PATCH 7/8] Update src/components/playbackSettings/playbackSettings.js Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com> --- src/components/playbackSettings/playbackSettings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index 88ebef2f71..8a1493f005 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -191,7 +191,7 @@ function loadForm(context, user, userSettings, systemInfo, apiClient) { } //Show hls segment length setting for Web0s only, as the setting only aims to fix an issue on that platform. - if (browser.isWeb0s) { + if (browser.web0s) { context.querySelector('.fldLimitSegmentLength').classList.remove('hide'); } From 2e3883df9c16c9983d2aa7f4d2a4713614de3946 Mon Sep 17 00:00:00 2001 From: Pat <54077094+patrickd77-eng@users.noreply.github.com> Date: Mon, 17 Feb 2025 15:43:13 +0000 Subject: [PATCH 8/8] Update src/components/playbackSettings/playbackSettings.js Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com> --- src/components/playbackSettings/playbackSettings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/playbackSettings/playbackSettings.js b/src/components/playbackSettings/playbackSettings.js index 8a1493f005..f15627a3ef 100644 --- a/src/components/playbackSettings/playbackSettings.js +++ b/src/components/playbackSettings/playbackSettings.js @@ -190,7 +190,7 @@ function loadForm(context, user, userSettings, systemInfo, apiClient) { context.querySelector('.fldEnableHi10p').classList.remove('hide'); } - //Show hls segment length setting for Web0s only, as the setting only aims to fix an issue on that platform. + // Show hls segment length setting for webOS only, as the setting only aims to fix an issue on that platform. if (browser.web0s) { context.querySelector('.fldLimitSegmentLength').classList.remove('hide'); }