Skip to content

Port library settings from Core - #193

Merged
RadicalMuffinMan merged 4 commits into
Moonfin-Client:masterfrom
mattsigal:feature/sync-library-settings
Aug 7, 2026
Merged

Port library settings from Core#193
RadicalMuffinMan merged 4 commits into
Moonfin-Client:masterfrom
mattsigal:feature/sync-library-settings

Conversation

@mattsigal

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Ports Library preferences from Moonfin-Core and Moonbase to Roku:

  • Merge Recently Added Libraries by Type
  • Show Media Details
  • Use Detailed Sub-Headings
  • Hide Backdrops while Browsing

Related Issues

Link related issues or tickets separated by commas.

  • Closes #
  • Fixes #
  • Related to #

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • UI/UX update
  • Documentation update
  • Build/CI change
  • Other (describe):

Changes Made

List the key changes included in this PR.

  • Added settings schema entries in settings.json with default values.
  • Mapped all 4 settings in settingsSync.bs for bidirectional server profile sync with Moonbase.

Testing

Describe how this change was tested.

  • Tested on physical Roku device
  • Tested via sideload
  • Manual testing completed
  • Not tested (explain why): Paging @jmawet

Test Steps

  1. Settings Menu Verification:

    • Open Moonfin on Roku and navigate to Settings -> Libraries.
    • Verify that all 4 new/updated settings appear under the Libraries section:
      • Merge Recently Added Libraries by Type (Default: Off)
      • Show Media Details (Default: On)
      • Use Detailed Sub-Headings (Default: On)
      • Hide Backdrops while Browsing (Default: Off)
  2. Test Show Media Details:

    • Open a library page (e.g. Movies or TV Shows) with Show Media Details set to On.
    • Focus on an item in the grid and verify that the top header detail bar displays title, year, rating, and runtime info.
    • Return to Settings -> Libraries, toggle Show Media Details to Off, and return to the library grid.
    • Verify the top header details bar is hidden while focused on items.
  3. Test Hide Backdrops while Browsing:

    • Focus on items in a library grid with Hide Backdrops while Browsing set to Off.
    • Verify dynamic fanart/backdrop images load behind the focused items.
    • Toggle Hide Backdrops while Browsing to On, return to the library grid, and verify that backdrops are suppressed (solid background).
  4. Test Use Detailed Sub-Headings:

    • Toggle Use Detailed Sub-Headings On and Off under Settings -> Libraries.
    • Verify sub-row metadata under posters toggles between minimal and detailed info.
  5. Test Merge Recently Added Libraries by Type:

    • On an account with multiple libraries of the same media type (e.g., Movies + 4K Movies), toggle Merge Recently Added Libraries by Type to On.
    • Return to the Home screen and verify that separate recently added rows of the same type combine into a single merged row.

Screenshots (if applicable)

Include screenshots or recordings for UI changes.

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced

@jmawet

jmawet commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

I don't have multiple libraries of the same type to test...

@mattsigal

Copy link
Copy Markdown
Collaborator Author

Ship it and fix it later if it doesn't work then i guess lol

@mattsigal

Copy link
Copy Markdown
Collaborator Author

you can test the other ones though :p

@jmawet

jmawet commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

looking at the changes in this pr, I see you added the settings, but do they actually do anything? you didn't change anything else in the code to use those settings for anything

@mattsigal

Copy link
Copy Markdown
Collaborator Author

...you are right, hold please 🤣

Implement UI handling for ported library settings in Roku components:
- Wire ui.library.showMediaDetails and ui.library.hideBackdrops in VisualLibraryScene.bs
- Wire ui.library.useDetailedSubHeadings in GridItem.bs
@mattsigal

Copy link
Copy Markdown
Collaborator Author

Forgot to commit the important files, mb haha
Please try now :)

@jmawet

jmawet commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

what about mergeRecentRowsByType

…ubHeadings, and hideBackdrops logic

- Added mergeRecentRowsByType support to group home screen Recently Added rows by collection type
- Added itemIds support to LoadItemsTask for fetching and merging items across multiple libraries
- Added showMediaDetails toggling for library detail header bars in VisualLibraryScene
- Added useDetailedSubHeadings toggling for grid poster sub-headings in GridItemMedium
- Added hideBackdrops support to suppress fanart images while browsing in setBackgroundWithQueue
@mattsigal

mattsigal commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

Now try 😂

@RadicalMuffinMan
RadicalMuffinMan merged commit 9a52234 into Moonfin-Client:master Aug 7, 2026
1 check passed
@jmawet jmawet mentioned this pull request Aug 8, 2026
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants