From a5cac256383459b0f13ec32558b449a11ae137df Mon Sep 17 00:00:00 2001 From: Jennifer Dupaquier <11723765+jmawet@users.noreply.github.com> Date: Wed, 15 Jul 2026 13:54:56 -0700 Subject: [PATCH 1/2] map sinceyouwatched rows correctly to moonbase --- packages/app/src/context/SettingsContext.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/app/src/context/SettingsContext.js b/packages/app/src/context/SettingsContext.js index 2020cf28..2cdca508 100644 --- a/packages/app/src/context/SettingsContext.js +++ b/packages/app/src/context/SettingsContext.js @@ -267,7 +267,12 @@ const TV_TO_SERVER_ROW = { 'imdb-popular-movies': 'imdb_most_popular_movies', 'imdb-popular-tv': 'imdb_most_popular_tv_shows', 'imdb-lowest-rated': 'imdb_lowest_rated_movies', - 'imdb-top-english': 'imdb_top_english_movies' + 'imdb-top-english': 'imdb_top_english_movies', + 'since-you-watched-1': 'sinceyouwatched1', + 'since-you-watched-2': 'sinceyouwatched2', + 'since-you-watched-3': 'sinceyouwatched3', + 'since-you-watched-4': 'sinceyouwatched4', + 'since-you-watched-5': 'sinceyouwatched5' }; const SERVER_TO_TV_ROW = { 'latestmedia': 'latest-media', @@ -288,7 +293,12 @@ const SERVER_TO_TV_ROW = { 'imdb_most_popular_movies': 'imdb-popular-movies', 'imdb_most_popular_tv_shows': 'imdb-popular-tv', 'imdb_lowest_rated_movies': 'imdb-lowest-rated', - 'imdb_top_english_movies': 'imdb-top-english' + 'imdb_top_english_movies': 'imdb-top-english', + 'sinceyouwatched1': 'since-you-watched-1', + 'sinceyouwatched2': 'since-you-watched-2', + 'sinceyouwatched3': 'since-you-watched-3', + 'sinceyouwatched4': 'since-you-watched-4', + 'sinceyouwatched5': 'since-you-watched-5' }; export {TV_TO_SERVER_ROW}; From 3316dccfb25ac9e858479f85d3547af9c14156c0 Mon Sep 17 00:00:00 2001 From: RadicalMuffinMan <103554043+RadicalMuffinMan@users.noreply.github.com> Date: Wed, 15 Jul 2026 20:02:46 -0400 Subject: [PATCH 2/2] updated since you watched rows --- packages/app/src/context/SettingsContext.js | 24 ++++++------------- .../app/src/services/homeRecommendations.js | 4 ++-- packages/app/src/views/Browse/Browse.js | 6 ++--- packages/app/src/views/Settings/Settings.js | 2 +- 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/packages/app/src/context/SettingsContext.js b/packages/app/src/context/SettingsContext.js index 2cdca508..1b4e86aa 100644 --- a/packages/app/src/context/SettingsContext.js +++ b/packages/app/src/context/SettingsContext.js @@ -26,11 +26,11 @@ const DEFAULT_HOME_ROWS = [ {id: 'imdb-popular-tv', name: 'IMDb Most Popular TV Shows', enabled: false, order: 18}, {id: 'imdb-lowest-rated', name: 'IMDb Lowest Rated Movies', enabled: false, order: 19}, {id: 'imdb-top-english', name: 'IMDb Top Rated English Movies', enabled: false, order: 20}, - {id: 'since-you-watched-1', name: 'Since You Watched Row 1', enabled: false, order: 21}, - {id: 'since-you-watched-2', name: 'Since You Watched Row 2', enabled: false, order: 22}, - {id: 'since-you-watched-3', name: 'Since You Watched Row 3', enabled: false, order: 23}, - {id: 'since-you-watched-4', name: 'Since You Watched Row 4', enabled: false, order: 24}, - {id: 'since-you-watched-5', name: 'Since You Watched Row 5', enabled: false, order: 25}, + {id: 'sinceyouwatched1', name: 'Since You Watched Row 1', enabled: false, order: 21}, + {id: 'sinceyouwatched2', name: 'Since You Watched Row 2', enabled: false, order: 22}, + {id: 'sinceyouwatched3', name: 'Since You Watched Row 3', enabled: false, order: 23}, + {id: 'sinceyouwatched4', name: 'Since You Watched Row 4', enabled: false, order: 24}, + {id: 'sinceyouwatched5', name: 'Since You Watched Row 5', enabled: false, order: 25}, {id: 'rewatch', name: 'Rewatch', enabled: false, order: 26}, {id: 'playlists', name: 'Playlists', enabled: false, order: 27}, {id: 'audioartists', name: 'Music Artists', enabled: false, order: 28}, @@ -267,12 +267,7 @@ const TV_TO_SERVER_ROW = { 'imdb-popular-movies': 'imdb_most_popular_movies', 'imdb-popular-tv': 'imdb_most_popular_tv_shows', 'imdb-lowest-rated': 'imdb_lowest_rated_movies', - 'imdb-top-english': 'imdb_top_english_movies', - 'since-you-watched-1': 'sinceyouwatched1', - 'since-you-watched-2': 'sinceyouwatched2', - 'since-you-watched-3': 'sinceyouwatched3', - 'since-you-watched-4': 'sinceyouwatched4', - 'since-you-watched-5': 'sinceyouwatched5' + 'imdb-top-english': 'imdb_top_english_movies' }; const SERVER_TO_TV_ROW = { 'latestmedia': 'latest-media', @@ -293,12 +288,7 @@ const SERVER_TO_TV_ROW = { 'imdb_most_popular_movies': 'imdb-popular-movies', 'imdb_most_popular_tv_shows': 'imdb-popular-tv', 'imdb_lowest_rated_movies': 'imdb-lowest-rated', - 'imdb_top_english_movies': 'imdb-top-english', - 'sinceyouwatched1': 'since-you-watched-1', - 'sinceyouwatched2': 'since-you-watched-2', - 'sinceyouwatched3': 'since-you-watched-3', - 'sinceyouwatched4': 'since-you-watched-4', - 'sinceyouwatched5': 'since-you-watched-5' + 'imdb_top_english_movies': 'imdb-top-english' }; export {TV_TO_SERVER_ROW}; diff --git a/packages/app/src/services/homeRecommendations.js b/packages/app/src/services/homeRecommendations.js index 932185bf..28888613 100644 --- a/packages/app/src/services/homeRecommendations.js +++ b/packages/app/src/services/homeRecommendations.js @@ -363,7 +363,7 @@ export async function loadSinceYouWatchedRows(api, settings, enabledIndexes, onl const onlineItems = await getOnlineRecommendations(settings, seed).catch(() => []); if (onlineItems.length) { return { - id: `since-you-watched-${idx}`, + id: `sinceyouwatched${idx}`, seedName: seed.Name || '', items: onlineItems, isSeerr: true @@ -378,7 +378,7 @@ export async function loadSinceYouWatchedRows(api, settings, enabledIndexes, onl }).catch(() => []); if (!items.length) return null; return { - id: `since-you-watched-${idx}`, + id: `sinceyouwatched${idx}`, seedName: seed.Name || '', items }; diff --git a/packages/app/src/views/Browse/Browse.js b/packages/app/src/views/Browse/Browse.js index b3693d61..3c9cfb4f 100644 --- a/packages/app/src/views/Browse/Browse.js +++ b/packages/app/src/views/Browse/Browse.js @@ -881,7 +881,7 @@ const Browse = ({ // Recommendation rows are only built by fetchAllData, so treat an enabled one // as dynamic config. Otherwise enabling it shows nothing until the cache expires. const hasEnabledRecommendationRow = homeRowsConfig.some( - (row) => row.enabled && (row.id.startsWith('since-you-watched-') || row.id === 'rewatch') + (row) => row.enabled && (row.id.startsWith('sinceyouwatched') || row.id === 'rewatch') ); const hasEnabledMediaSectionRow = homeRowsConfig.some( (row) => row.enabled && ['audioartists', 'audioalbums', 'audioplaylists', 'resumeaudio', 'activerecordings'].includes(row.id) @@ -1283,8 +1283,8 @@ const Browse = ({ const recordingsEnabled = homeRowsConfig.some((row) => row.enabled && row.id === 'activerecordings'); const enabledPluginSections = (settings.pluginSections || []).filter((section) => section.enabled); const sinceYouWatchedIndexes = homeRowsConfig - .filter((row) => row.enabled && row.id.startsWith('since-you-watched-')) - .map((row) => parseInt(row.id.replace('since-you-watched-', ''), 10)) + .filter((row) => row.enabled && row.id.startsWith('sinceyouwatched')) + .map((row) => parseInt(row.id.replace('sinceyouwatched', ''), 10)) .filter((idx) => idx >= 1) .sort((a, b) => a - b); const rewatchEnabled = homeRowsConfig.some((row) => row.enabled && row.id === 'rewatch'); diff --git a/packages/app/src/views/Settings/Settings.js b/packages/app/src/views/Settings/Settings.js index 52a61d47..e0ce37bc 100644 --- a/packages/app/src/views/Settings/Settings.js +++ b/packages/app/src/views/Settings/Settings.js @@ -1598,7 +1598,7 @@ const Settings = ({ onBack, onLibrariesChanged, panelMode }) => { {renderOptionItem('homeRowsPosterSize', $L('Home Row Card Display Size'), getPosterSizeOptions(), $L('Default'), 'aspectratio')} {renderOptionItem('homeRowOverlay', $L('Home Row Info Overlay'), getHomeRowOverlayOptions(), $L('Off'), 'info')} {renderNavItem('homeRows', $L('Home Sections'), $L('Reorder and toggle home rows'), openHomeRows, 'list')} - {(settings.homeRows || []).some((row) => row.enabled && row.id.startsWith('since-you-watched-')) && ( + {(settings.homeRows || []).some((row) => row.enabled && row.id.startsWith('sinceyouwatched')) && ( <> {renderOptionItem('sinceYouWatchedSource', $L('Since You Watched Source'), getSinceYouWatchedSourceOptions(), $L('Local'), 'browser')} {renderOptionItem('sinceYouWatchedSourceItem', $L('Since You Watched Seed'), getSinceYouWatchedSourceItemOptions(), $L('Recently Watched'), 'playcircle')}