feature-homerows - Port remaining internal home rows to Roku - #160
Open
mattsigal wants to merge 10 commits into
Open
feature-homerows - Port remaining internal home rows to Roku#160mattsigal wants to merge 10 commits into
mattsigal wants to merge 10 commits into
Conversation
- Declared additionalData on LoadItemsTask.xml. - Implemented loadCustomDynamicList in LoadItemsTask.bs to handle custom rows (IMDb/TMDb/Seerr/mdblist/letterboxd). - Implemented createCustomDynamicRow and updateCustomDynamicRowItems in HomeRows.bs to render custom rows. - Packed SeerrItem on dynamic nodes to support navigation to SeerrDetailsScreen on selection.
Collaborator
|
these rows appear to be working, just 2 notes that are the same on the external rows pr so if you fix it there it should fix here too
so if you can fix everything in #158 and update this one with the same changes, we should be good to go here |
This was referenced Jul 21, 2026
mattsigal
force-pushed
the
feature/roku-internal-home-rows
branch
from
July 21, 2026 02:00
d2e9b25 to
8abfb09
Compare
Collaborator
- Use getOriginalSectionIndex to insert favorites, mylist, nextup, and custom dynamic rows into their settings-configured slots.
- Initialize paramsJson to "{}" to prevent the Jellyfin server plugin from throwing a 400 Bad Request error when loading IMDb list rows.
- Introduce a stable `sortHomeRows()` function in `HomeRows.bs` using insertion sort on settings indices to resolve row ordering bugs. - Centralize row insertion and replacement in a new `addOrUpdateHomeRow()` helper. - Update favorites, mylist, resume, nextup, and custom dynamic lists to use the new helper, preserving the configured order regardless of asynchronous load speed.
- Add toggles in settings.json and map them in settingsSync.bs to support Settings Sync. - Dynamically filter and append Favorites, Collections, Genres, Playlists, and Audio row options under Home Rows configuration. - Implement data loading for collections, genres, and audio, and row creation/updating in HomeRows.bs. - Add event routing in MainEventHandlers.bs to support browsing items under selected genre cards from the Home Screen.
- Set the `id` property on collections, genres, playlists, and audio placeholder rows on creation. - Update internal lists (collections, genres, playlists, audio) in `HomeRows.bs` to use the new `addOrUpdateHomeRow()` helper, ensuring they are automatically sorted 1:1 with user section settings.
mattsigal
force-pushed
the
feature/roku-internal-home-rows
branch
from
July 21, 2026 04:07
8abfb09 to
8bb1c15
Compare
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Pull Request
Summary
Ported the internal home screen rows configuration toggles (Favorites, Collections, Genres, Playlists, and Audio) from Moonfin-Core to Roku, allowing these rows to be toggled individually and mapped to Home Screen Section selections (1-8).
Related Issues
Link related issues or tickets separated by commas.
Type of Change
Changes Made
List the key changes included in this PR.
settings.jsonunder "Home Screen" for "Show Favorites Rows", "Show Collections Rows", "Show Genres Rows", "Show Playlists Rows", and "Show Audio Rows".settingsSync.bsto sync local preferences with the Jellyfin server plugin Settings Sync.settings.bsto hide/show Favorites and dynamically append Collections, Genres, Playlists, and Audio options based on toggles.loadCollections(),loadGenres(), andloadAudio()insideLoadItemsTask.bsusing API requests to fetch appropriate content nodes.HomeRows.bsfor collections, genres, playlists, and audio.MainEventHandlers.bsto pushVisualLibraryScenefiltered by the selected genre name.Testing
Describe how this change was tested.
Test Steps
Screenshots (if applicable)
Include screenshots or recordings for UI changes.
Checklist