Skip to content

MoonSync - New Settings (Playback Bar Customization and Others) - #217

Open
mattsigal wants to merge 1 commit into
Moonfin-Client:masterfrom
mattsigal:feature/sync-playback-time-and-row-preferences
Open

MoonSync - New Settings (Playback Bar Customization and Others)#217
mattsigal wants to merge 1 commit into
Moonfin-Client:masterfrom
mattsigal:feature/sync-playback-time-and-row-preferences

Conversation

@mattsigal

@mattsigal mattsigal commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Add server settings profile DTO properties to Moonbase matching newly introduced Moonfin-Core preferences for progress bar time slot displays and row visibility options.

Related Issues

Link related issues or tickets separated by commas.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • API / endpoint change
  • Settings schema change
  • Documentation update
  • Build/CI change
  • Other (describe):

Area

  • Settings sync / profiles
  • Admin defaults / config page
  • Ratings (MDBList / TMDB)
  • Notifications / Push (FCM / relay)
  • Seerr integration
  • Games / Emulators
  • Custom home rows
  • Web Client (Go to Moonfin-Core repo)
  • Other / shared

Changes Made

List the key changes included in this PR.

  • Added musicPlaybackTimeDisplay string property to MoonfinSettingsProfile.cs
  • Added 6 playbackTimeAbove* and playbackTimeBelow* slot string properties to MoonfinSettingsProfile.cs
  • Added collectionsRowShowEpisodes, mergeRecentRowsByType, and playlistsRowShowEpisodes bool properties to MoonfinSettingsProfile.cs
  • Updated both Jellyfin and Emby backend profile models for full cross-platform parity

Client Impact

Does this need matching changes in a client repo (Core, Smart-TV, Roku)?

  • No client changes needed
  • Companion client PR(s) required, linked here:
  • New setting keys added. List each key and confirm it matches the client key exactly, including casing:
    • musicPlaybackTimeDisplay
    • playbackTimeAboveLeft
    • playbackTimeAboveCenter
    • playbackTimeAboveRight
    • playbackTimeBelowLeft
    • playbackTimeBelowCenter
    • playbackTimeBelowRight
    • collectionsRowShowEpisodes
    • mergeRecentRowsByType
    • playlistsRowShowEpisodes

Compatibility

  • Change to the settings profile is additive only, no renamed or removed properties
  • New properties use the same type the client sends (a client bool maps to bool?, an int to int?)
  • Migration added for any renamed or removed settings
  • Older clients still work, unknown fields are ignored and no keys were removed

Testing

Describe how this change was tested.

  • Built the plugin and deployed to a Jellyfin server
  • Verified against a live client (which one:)
  • Manual testing completed
  • Not tested (explain why):

Test Steps

  1. Validated DTO serialization and property naming against Moonfin-Core preference definitions.
  2. Verified key matching and status tracking via MoonSync scanner diff.

Screenshots (if applicable)

Include config page screenshots or request/response samples where relevant.

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced
  • Any new setting keys match the client-side keys exactly

@mattsigal mattsigal changed the title MoonSync - MoonSync - New Settings (Playback Bar Customization and Others) Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Build Successful

The plugin compiled successfully against .NET 8 / Jellyfin 10.10.0.

Property Value
Commit cbcca8b
Workflow Build #261

@mattsigal mattsigal assigned mattsigal and unassigned mattsigal Aug 4, 2026
Add server settings profile DTO properties matching Moonfin-Core preferences:
- musicPlaybackTimeDisplay
- playbackTimeAboveLeft, playbackTimeAboveCenter, playbackTimeAboveRight
- playbackTimeBelowLeft, playbackTimeBelowCenter, playbackTimeBelowRight
- collectionsRowShowEpisodes, mergeRecentRowsByType, playlistsRowShowEpisodes
@mattsigal
mattsigal force-pushed the feature/sync-playback-time-and-row-preferences branch from 37a42cc to cbcca8b Compare August 4, 2026 14:55
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.

1 participant