Skip to content

Add server profile sync parity mappings for PR 217/218 fields and prevent customHomeRows drop - #346

Merged
RadicalMuffinMan merged 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/smart-tv-settings-sync-parity
Aug 5, 2026
Merged

Add server profile sync parity mappings for PR 217/218 fields and prevent customHomeRows drop#346
RadicalMuffinMan merged 2 commits into
Moonfin-Client:mainfrom
mattsigal:feature/smart-tv-settings-sync-parity

Conversation

@mattsigal

Copy link
Copy Markdown
Collaborator

Pull Request

Summary

Add server profile sync parity mappings for newly introduced Moonbase server fields (PR #217 and PR #218) and prevent raw customHomeRows array drops.

Related Issues

Link related issues or tickets separated by commas.

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.

  • Prevented raw customHomeRows array push in localToProfile inside SettingsContext.js so unmapped keys are not dropped on server profile serialization.
  • Added bidirectional alias mappings in SERVER_TO_LOCAL and LOCAL_TO_SERVER for detailButtonOrderTv (detailButtonOrder), hiddenDetailButtonsTv (hiddenDetailButtons), osdButtonOrderTv (osdButtonOrderDesktop), and hiddenOsdButtonsTv (hiddenOsdButtonsDesktop).
  • Added new server DTO keys to SYNCABLE_KEYS in SettingsContext.js: themeMusicLoop, showCastButton, classicHomeRowsPadding, modernHomeRowsPadding, detailShowTechnicalDetails, recommendationSystemSource, recommendationsApplyParentalRatingCap, screensaverMode, seerrRowOrder, and hiddenSeerrRows.
  • Added default values for all new syncable keys in defaultSettings.js.

Platform

  • Tizen (Samsung)
  • webOS (LG)
  • Both / Shared code

Testing

Describe how this change was tested.

  • Tested on emulator
  • Tested on physical device
  • Manual testing completed
  • Not tested (explain why):

Test Steps

  1. Validated SettingsContext profile serialization (profileToLocal & localToProfile) logic.
  2. Verified key matching and status tracking via MoonSync scanner diff.

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

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

✅ Build Successful

All platform builds passed. You can download the test artifacts below.

Platform Status Artifact
webOS ✅ Passed Moonfin_webOS_*.ipk
Tizen Regular ✅ Passed Moonfin_Tizen_Regular_*.wgt
Tizen Oblong ✅ Passed Moonfin_Tizen_Oblong_*.wgt
Tizen Legacy ✅ Passed Moonfin_Tizen_Legacy_*.wgt
Property Value
Commit 5db8de4
Workflow run Build #207

@RadicalMuffinMan
RadicalMuffinMan merged commit ab65611 into Moonfin-Client:main Aug 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants