diff --git a/Makefile b/Makefile
index e036d4121..ac5cf59b9 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
# If you want to get_images, you'll also need convert from ImageMagick
##########################################################################
-VERSION := 2.2.2
+VERSION := 2.2.3
## usage
diff --git a/components/home/HomeItem.bs b/components/home/HomeItem.bs
index 70a5918e4..046ee081e 100644
--- a/components/home/HomeItem.bs
+++ b/components/home/HomeItem.bs
@@ -62,10 +62,15 @@ sub itemContentChanged()
if isValid(m.unplayedCount) then m.unplayedCount.visible = false
itemData = m.top.itemContent
if itemData = invalid then return
- userSettings = m.global.session.user.settings
itemData.Title = itemData.name ' Temporarily required while we move from "HomeItem" to "JFContentItem"
+ ' validate to prevent crash
+ userSettings = invalid
+ if isValid(m.global) and isValid(m.global.session) and isValid(m.global.session.user) and isValid(m.global.session.user.settings)
+ userSettings = m.global.session.user.settings
+ end if
+
' validate to prevent crash
if not isValid(m.itemPoster) then initItemPoster()
if not isValid(m.itemText) then initItemText()
@@ -164,17 +169,22 @@ sub itemContentChanged()
drawProgressBar(itemData)
end if
- if userSettings["ui.general.episodeimagesnextup"] = "webclient"
- tmpSetting = m.global.session.user.Configuration.useEpisodeImagesInNextUpAndResume
- if isValid(tmpSetting) and tmpSetting
- m.itemPoster.uri = itemData.thumbnailURL
- else
+ if isValid(userSettings)
+ if userSettings["ui.general.episodeimagesnextup"] = "webclient"
+ tmpSetting = m.global.session.user.Configuration.useEpisodeImagesInNextUpAndResume
+ if isValid(tmpSetting) and tmpSetting
+ m.itemPoster.uri = itemData.thumbnailURL
+ else
+ m.itemPoster.uri = itemData.widePosterURL
+ end if
+ else if userSettings["ui.general.episodeimagesnextup"] = "show"
m.itemPoster.uri = itemData.widePosterURL
+ else if userSettings["ui.general.episodeimagesnextup"] = "episode"
+ m.itemPoster.uri = itemData.thumbnailURL
end if
- else if userSettings["ui.general.episodeimagesnextup"] = "show"
+ else
+ ' use show image if user settings are invalid for some reason
m.itemPoster.uri = itemData.widePosterURL
- else if userSettings["ui.general.episodeimagesnextup"] = "episode"
- m.itemPoster.uri = itemData.thumbnailURL
end if
' Set Series and Episode Number for Extra Text
diff --git a/components/tvshows/TVListDetails.bs b/components/tvshows/TVListDetails.bs
index 38e27702f..9d17dbe08 100644
--- a/components/tvshows/TVListDetails.bs
+++ b/components/tvshows/TVListDetails.bs
@@ -108,7 +108,12 @@ sub itemContentChanged()
if isValid(itemData.MediaSources)
for i = 0 to itemData.MediaSources.Count() - 1
if item.selectedVideoStreamId = itemData.MediaSources[i].id and isValid(itemData.MediaSources[i].MediaStreams[0])
- m.videoCodec.text = tr("Video") + ": " + itemData.MediaSources[i].MediaStreams[0].DisplayTitle
+ m.videoCodec.text = tr("Video") + ": "
+ if isValid(itemData.MediaSources[i].MediaStreams[0].DisplayTitle)
+ m.videoCodec.text = m.videoCodec.text + itemData.MediaSources[i].MediaStreams[0].DisplayTitle
+ else
+ m.videoCodec.text = m.videoCodec.text + tr("N/A")
+ end if
SetupAudioDisplay(itemData.MediaSources[i].MediaStreams, item.selectedAudioStreamIndex)
exit for
end if
diff --git a/locale/en_US/translations.ts b/locale/en_US/translations.ts
index d4d06dec0..fc54b2eab 100644
--- a/locale/en_US/translations.ts
+++ b/locale/en_US/translations.ts
@@ -1391,6 +1391,11 @@
SpecialSpecial episode of a TV Show
+
+
+ N/A
+ Abbreviation for not available
+ CH
diff --git a/manifest b/manifest
index 8f46b09a4..f8ee154eb 100644
--- a/manifest
+++ b/manifest
@@ -3,7 +3,7 @@
title=Jellyfin
major_version=2
minor_version=2
-build_version=2
+build_version=3
### Main Menu Icons / Channel Poster Artwork
diff --git a/package-lock.json b/package-lock.json
index d94b071ac..cfaea82ee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "jellyfin-roku",
- "version": "2.2.2",
+ "version": "2.2.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "jellyfin-roku",
- "version": "2.2.2",
+ "version": "2.2.3",
"hasInstallScript": true,
"license": "GPL-2.0",
"dependencies": {
diff --git a/package.json b/package.json
index 7dfacdd97..df5d27533 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "jellyfin-roku",
"type": "module",
- "version": "2.2.2",
+ "version": "2.2.3",
"description": "Roku app for Jellyfin media server",
"dependencies": {
"@rokucommunity/bslib": "0.1.1",