diff --git a/components/WhatsNewDialog.bs b/components/WhatsNewDialog.bs
index 5718377b2..b656ac7a9 100644
--- a/components/WhatsNewDialog.bs
+++ b/components/WhatsNewDialog.bs
@@ -5,7 +5,7 @@ sub init()
m.top.id = "OKDialog"
m.top.height = 900
- m.top.title = "What's New?"
+ m.top.title = m.global.app.version + " - " + tr("What's New?")
m.top.buttons = [tr("OK")]
dialogStyles = {
@@ -21,7 +21,7 @@ sub init()
}
}
- whatsNewList = ParseJSON(ReadAsciiFile("pkg:/source/static/whatsNew.json"))
+ whatsNewList = ParseJSON(ReadAsciiFile("pkg:/source/static/whatsNew/" + m.global.app.version.ToStr().trim() + ".json"))
for each item in whatsNewList
textLine = m.content.CreateChild("StdDlgMultiStyleTextItem")
diff --git a/locale/en_US/translations.ts b/locale/en_US/translations.ts
index 1fe478489..6b8ff42f2 100644
--- a/locale/en_US/translations.ts
+++ b/locale/en_US/translations.ts
@@ -1241,5 +1241,10 @@
Make the arrangement of the Roku home view sections match the web client's home screen. Jellyfin will need to be closed and reopened for change to take effect.User Setting - Setting description
+
+
+ What's New?
+ Popup title - Popup displays all the major changes to the app since the last version
+
\ No newline at end of file
diff --git a/source/Main.bs b/source/Main.bs
index 2eac42098..2ef81455d 100644
--- a/source/Main.bs
+++ b/source/Main.bs
@@ -20,10 +20,8 @@ sub Main (args as dynamic) as void
m.wasMigrated = false
runGlobalMigrations()
runRegistryUserMigrations()
- ' update LastRunVersion now that migrations are finished
- showWhatsNew = false
+ ' update global LastRunVersion now that migrations are finished
if m.global.app.version <> m.global.app.lastRunVersion
- showWhatsNew = true
set_setting("LastRunVersion", m.global.app.version)
end if
if m.wasMigrated then printRegistry()
@@ -74,11 +72,16 @@ sub Main (args as dynamic) as void
end if
end if
- ' Show the Whats New popup
- if showWhatsNew and m.global.session.user.settings["load.allowwhatsnew"]
- dialog = createObject("roSGNode", "WhatsNewDialog")
- m.scene.dialog = dialog
- m.scene.dialog.observeField("buttonSelected", m.port)
+ ' has the current user ran this version before?
+ usersLastRunVersion = m.global.session.user.settings.lastRunVersion
+ if not isValid(usersLastRunVersion) or not versionChecker(m.global.session.user.settings.lastRunVersion, m.global.app.version)
+ set_user_setting("LastRunVersion", m.global.app.version)
+ ' show what's new popup
+ if m.global.session.user.settings["load.allowwhatsnew"]
+ dialog = createObject("roSGNode", "WhatsNewDialog")
+ m.scene.dialog = dialog
+ m.scene.dialog.observeField("buttonSelected", m.port)
+ end if
end if
' Handle input messages
diff --git a/source/migrations.bs b/source/migrations.bs
index 1d4979110..29cb36a37 100644
--- a/source/migrations.bs
+++ b/source/migrations.bs
@@ -71,7 +71,7 @@ sub runRegistryUserMigrations()
' app versions < 2.0.0 didn't save LastRunVersion at the user level
' fall back to using the apps lastRunVersion
lastRunVersion = m.global.app.lastRunVersion
- registry_write("LastRunVersion", m.global.app.version, section)
+ registry_write("LastRunVersion", lastRunVersion, section)
end if
' BASE_MIGRATION
diff --git a/source/static/whatsNew.json b/source/static/whatsNew.json
deleted file mode 100644
index ebe5b135b..000000000
--- a/source/static/whatsNew.json
+++ /dev/null
@@ -1,182 +0,0 @@
-[
- {
- "description": "New Global Setting: Remember Me setting allowing users to toggle client auto-login",
- "author": "cewert"
- },
- {
- "description": "New Setting: Use Web Client's Home Section Arrangement",
- "author": "1hitsong"
- },
- {
- "description": "New Feature: Allow selection of TV Show versions",
- "author": "jimdogx"
- },
- {
- "description": "New Feature: Add support for TV show season extra features",
- "author": "JarodTAerts"
- },
- {
- "description": "New Feature: When connecting to a server, automatically attempt connection using default protocols and ports if not specified",
- "author": "sevenrats"
- },
- {
- "description": "New Feature: Fixed permissions when using search",
- "author": "matty-r"
- },
- {
- "description": "New Feature: Create video OSD with chapter skip, subtitle select, playback info - Press up, down, ok, or pause while video is playing",
- "author": "1hitsong"
- },
- {
- "description": "New Feature: Add support for Music Videos",
- "author": "cewert"
- },
- {
- "description": "New Feature: Add photo support to home screen",
- "author": "cewert"
- },
- {
- "description": "New Feature: Add quickplay support to entire app - Press play on your remote while highlighting something",
- "author": "cewert"
- },
- {
- "description": "New Feature: Update device profile when device capabilities change + enable all device events",
- "author": "cewert"
- },
- {
- "description": "New Feature: Enable support for saving user's credentials, and add \"Change User\" and \"Remember Me?\" options",
- "author": "cewert"
- },
- {
- "description": "New Feature: Use user's preferred audio language to select default audio track for TV Episodes",
- "author": "jimdogx"
- },
- {
- "description": "New Feature: Remove AV1 direct play setting and instead auto-detect device support",
- "author": "cewert"
- },
- {
- "description": "New View: Create Album Artists view for music library",
- "author": "1hitsong"
- },
- {
- "description": "Bug Fix: Rounded corner on unplayed episode count",
- "author": "photonconvergence"
- },
- {
- "description": "Bug Fix: Fix TV Guide bug that didn't allow going to same channel twice in a row",
- "author": "jimdogx"
- },
- {
- "description": "Bug Fix: Fix Live TV record button crash",
- "author": "jimdogx"
- },
- {
- "description": "Bug Fix: Don't show nextEpisode button if trickplay bar is shown",
- "author": "1hitsong"
- },
- {
- "description": "Bug Fix: Improve \"Next Episode\" button show logic",
- "author": "cewert"
- },
- {
- "description": "Bug Fix: Fix crash if bitrate limit is enabled and empty",
- "author": "jimdogx"
- },
- {
- "description": "Bug Fix: Fix crash when unplayed strms exist in season",
- "author": "sevenrats"
- },
- {
- "description": "Bug Fix: Update settings.json to fix double-entry of \"Disable Community Rating for Episodes\"",
- "author": "alanazar"
- },
- {
- "description": "Bug Fix: Fix crash when viewing Live TV",
- "author": "jimdogx"
- },
- {
- "description": "Bug Fix: Fix long movie options from getting cut off",
- "author": "Klikini"
- },
- {
- "description": "Bug Fix: Fix community rating not showing on movie detail page",
- "author": "1hitsong"
- },
- {
- "description": "Bug Fix: Fix default A-Z sorting for movies & music",
- "author": "1hitsong"
- },
- {
- "description": "Bug Fix: Order boxsets by release date by default",
- "author": "1hitsong"
- },
- {
- "description": "Bug Fix: Fix unplayedCount bug when applying filters",
- "author": "ApexArray"
- },
- {
- "description": "Bug Fix: Prevent crash by validating Filter Menu data",
- "author": "cewert"
- },
- {
- "description": "Bug Fix: Fixed several bugs that could crash the app based on Roku crash logs",
- "author": "cewert"
- },
- {
- "description": "Bug Fix: Fix VP9 codec support and downmix 6 channel videos if possible to allow direct play with stereo setups",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Convert app to use one spinner and resize for consistency",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Increase font size for unwatched episode count",
- "author": "cewert"
- },
- {
- "description": "General Improvement: On Home View, use TV Show thumbnail instead of Channel logo",
- "author": "jimdogx"
- },
- {
- "description": "General Improvement: Remove progressbar delay and speed up animation on home screen",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Copy custom subtitle functionality into new Global Queue Player",
- "author": "1hitsong"
- },
- {
- "description": "General Improvement: Update settings page UI to create more space for long radio lists",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Update api.sessions.get() + add tanscoding info for Direct Streaming",
- "author": "candry7731"
- },
- {
- "description": "General Improvement: Only create trailer button when needed",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Update device profile - direct play, transcoding, and codec profiles",
- "author": "cewert"
- },
- {
- "description": "General Improvement: Wrap alpha menu",
- "author": "1hitsong"
- },
- {
- "description": "Code Cleanup: Create new code for device audio support",
- "author": "sevenrats"
- },
- {
- "description": "Code Cleanup: Remove Play Random button & functionality",
- "author": "pau1h"
- },
- {
- "description": "For full list of changes, visit our release page: ",
- "author": "https://github.com/jellyfin/jellyfin-roku/releases"
- }
-]
\ No newline at end of file
diff --git a/source/static/whatsNew/2.0.0.json b/source/static/whatsNew/2.0.0.json
new file mode 100644
index 000000000..379cc60ff
--- /dev/null
+++ b/source/static/whatsNew/2.0.0.json
@@ -0,0 +1,182 @@
+[
+ {
+ "description": "New Global Setting: Remember Me setting allowing users to toggle client auto-login",
+ "author": "cewert"
+ },
+ {
+ "description": "New Setting: Use Web Client's Home Section Arrangement",
+ "author": "1hitsong"
+ },
+ {
+ "description": "New Feature: Allow selection of TV Show versions",
+ "author": "jimdogx"
+ },
+ {
+ "description": "New Feature: Add support for TV show season extra features",
+ "author": "JarodTAerts"
+ },
+ {
+ "description": "New Feature: When connecting to a server, automatically attempt connection using default protocols and ports if not specified",
+ "author": "sevenrats"
+ },
+ {
+ "description": "New Feature: Fixed permissions when using search",
+ "author": "matty-r"
+ },
+ {
+ "description": "New Feature: Create video OSD with chapter skip, subtitle select, playback info - Press up, down, ok, or pause while video is playing",
+ "author": "1hitsong"
+ },
+ {
+ "description": "New Feature: Add support for Music Videos",
+ "author": "cewert"
+ },
+ {
+ "description": "New Feature: Add photo support to home screen",
+ "author": "cewert"
+ },
+ {
+ "description": "New Feature: Add quickplay support to entire app - Press play on your remote while highlighting something",
+ "author": "cewert"
+ },
+ {
+ "description": "New Feature: Update device profile when device capabilities change + enable all device events",
+ "author": "cewert"
+ },
+ {
+ "description": "New Feature: Enable support for saving user's credentials, and add \"Change User\" and \"Remember Me?\" options",
+ "author": "cewert"
+ },
+ {
+ "description": "New Feature: Use user's preferred audio language to select default audio track for TV Episodes",
+ "author": "jimdogx"
+ },
+ {
+ "description": "New Feature: Remove AV1 direct play setting and instead auto-detect device support",
+ "author": "cewert"
+ },
+ {
+ "description": "New View: Create Album Artists view for music library",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Bug Fix: Rounded corner on unplayed episode count",
+ "author": "photonconvergence"
+ },
+ {
+ "description": "Bug Fix: Fix TV Guide bug that didn't allow going to same channel twice in a row",
+ "author": "jimdogx"
+ },
+ {
+ "description": "Bug Fix: Fix Live TV record button crash",
+ "author": "jimdogx"
+ },
+ {
+ "description": "Bug Fix: Don't show nextEpisode button if trickplay bar is shown",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Bug Fix: Improve \"Next Episode\" button show logic",
+ "author": "cewert"
+ },
+ {
+ "description": "Bug Fix: Fix crash if bitrate limit is enabled and empty",
+ "author": "jimdogx"
+ },
+ {
+ "description": "Bug Fix: Fix crash when unplayed strms exist in season",
+ "author": "sevenrats"
+ },
+ {
+ "description": "Bug Fix: Update settings.json to fix double-entry of \"Disable Community Rating for Episodes\"",
+ "author": "alanazar"
+ },
+ {
+ "description": "Bug Fix: Fix crash when viewing Live TV",
+ "author": "jimdogx"
+ },
+ {
+ "description": "Bug Fix: Fix long movie options from getting cut off",
+ "author": "Klikini"
+ },
+ {
+ "description": "Bug Fix: Fix community rating not showing on movie detail page",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Bug Fix: Fix default A-Z sorting for movies & music",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Bug Fix: Order boxsets by release date by default",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Bug Fix: Fix unplayedCount bug when applying filters",
+ "author": "ApexArray"
+ },
+ {
+ "description": "Bug Fix: Prevent crash by validating Filter Menu data",
+ "author": "cewert"
+ },
+ {
+ "description": "Bug Fix: Fixed several bugs that could crash the app based on Roku crash logs",
+ "author": "cewert"
+ },
+ {
+ "description": "Bug Fix: Fix VP9 codec support and downmix 6 channel videos if possible to allow direct play with stereo setups",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Convert app to use one spinner and resize for consistency",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Increase font size for unwatched episode count",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: On Home View, use TV Show thumbnail instead of Channel logo",
+ "author": "jimdogx"
+ },
+ {
+ "description": "General Improvement: Remove progressbar delay and speed up animation on home screen",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Copy custom subtitle functionality into new Global Queue Player",
+ "author": "1hitsong"
+ },
+ {
+ "description": "General Improvement: Update settings page UI to create more space for long radio lists",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Update api.sessions.get() + add tanscoding info for Direct Streaming",
+ "author": "candry7731"
+ },
+ {
+ "description": "General Improvement: Only create trailer button when needed",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Update device profile - direct play, transcoding, and codec profiles",
+ "author": "cewert"
+ },
+ {
+ "description": "General Improvement: Wrap alpha menu",
+ "author": "1hitsong"
+ },
+ {
+ "description": "Code Cleanup: Create new code for device audio support",
+ "author": "sevenrats"
+ },
+ {
+ "description": "Code Cleanup: Remove Play Random button & functionality",
+ "author": "pau1h"
+ },
+ {
+ "description": "For full list of changes, visit our release page: ",
+ "author": "https://github.com/jellyfin/jellyfin-roku/releases"
+ }
+]
diff --git a/source/utils/session.bs b/source/utils/session.bs
index a468a5605..71fe1fbf4 100644
--- a/source/utils/session.bs
+++ b/source/utils/session.bs
@@ -156,11 +156,8 @@ namespace session
' grab lastRunVersion for this user
lastRunVersion = get_user_setting("LastRunVersion")
- if isValid(lastRunVersion) and lastRunVersion = m.global.app.version
- ' Don't update the registry, only update the global session
+ if isValid(lastRunVersion)
session.user.Update("LastRunVersion", lastRunVersion)
- else
- set_user_setting("LastRunVersion", m.global.app.version)
end if
' update user session settings with values from registry