Skip to content

fix: keep the settings this version doesn't know when saving - #201

Merged
lippdev merged 1 commit into
mainfrom
fix/keep-unknown-settings
Nov 9, 2026
Merged

lippdev merged 1 commit into
mainfrom
fix/keep-unknown-settings

Conversation

@lippdev

@lippdev lippdev commented Nov 9, 2026

Copy link
Copy Markdown
Owner

What

1.7.0 will ship with a Legacy download (Console Mode 1.6.2's interfaces, built from release/1.7-legacy, #200) that shares config.json with this version. #200 makes Legacy keep the settings only 1.7 has; this is the other half: 1.7 keeps the two settings only Legacy has (uiMode, tourDone) instead of dropping them on save, so going 1.7 → Legacy → 1.7 → Legacy never shows Legacy's tour again or forgets the interface picked there. It also covers settings a future version adds.

  • AppConfig.OtherSettings ([JsonExtensionData]), carried over in BuildConfig.
  • Test in AppConfigTests; changelogs.

Verified on the owner's PC (debug build, portable data, no session started)

The config Legacy saved in #200's test (52 keys, uiMode: desktop, tourDone: true) opened in this build; How to turn off other displays changed with the keyboard so the app saved: 52 keys out, none lost, uiMode and tourDone intact, the custom apps identical, hideStrategy changed as picked. dotnet test: 677 passing.

🤖 Generated with Claude Code

config.json is shared with the Legacy build (1.6.2's interfaces, published
next to 1.7.0), which has two settings this version dropped (uiMode,
tourDone). Saving used to discard them, so going back to Legacy showed
its tour again and forgot the interface picked there. AppConfig now
keeps unknown members (JsonExtensionData) and BuildConfig hands them back.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

The PR preserves unknown config properties when the current app rebuilds and saves AppConfig, covering Legacy-only and future settings.

  • Forward-compatible config data — Adds JSON extension data to AppConfig and carries it through MainViewModel.BuildConfig.
  • Regression coverage and release notes — Tests the deserialize/update/serialize round trip and documents the behavior in both changelogs.

Pullfrog  | View workflow run | Using gpt-6-luna | 𝕏

@lippdev
lippdev merged commit 71cd368 into main Nov 9, 2026
5 checks passed
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