Skip to content

fix: apply the saved FPS counter when a session starts - #139

Merged
lippdev merged 1 commit into
mainfrom
fix/fps-overlay-on-session-start
Oct 5, 2026
Merged

lippdev merged 1 commit into
mainfrom
fix/fps-overlay-on-session-start

Conversation

@lippdev

@lippdev lippdev commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Problem

With an FPS counter style saved in Settings (Compact, Detailed, Custom or Off), starting a session showed no counter and left Afterburner's OSD on screen. It only took effect after cycling the "FPS counter" row in the session menu.

ConsoleEngine.ResolveMonitorNames rebuilt AppConfig field by field and left out FpsOverlay and FpsOverlayLayout (and ControllerLayout), so Start always saw the default external.

Fix

AppConfig.WithMonitors returns a clone with only the three monitor fields swapped, so a setting added later is carried along by itself.

Verification

  • Unit tests pass locally (348), including new ones: the FPS counter survives the copy, and a reflection test that every other writable setting does too.
  • The Windows build was left to CI.
  • Not tested on a real session: added the manual check to docs/TESTING.md (start a session with a style already saved).

🤖 Generated with Claude Code

The engine rebuilt AppConfig field by field for the session and left out
FpsOverlay and FpsOverlayLayout, so Start always saw the default style.
The copy is now a clone with only the monitor fields swapped.

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 initial review covers the config-copy change, its session-start FPS overlay behavior, tests, and accompanying documentation.

  • Preserve settings during monitor resolution WithMonitors clones AppConfig and swaps only the resolved monitor fields, so saved FPS overlay settings reach session startup.
  • Add regression coverage Tests verify monitor replacements and preservation of the FPS settings and other writable config properties.
  • Document and verify the fix Both changelogs and the manual testing checklist describe the saved-style startup scenario.

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

@lippdev
lippdev merged commit f232fc6 into main Oct 5, 2026
5 checks passed
@pullfrog pullfrog Bot mentioned this pull request Oct 6, 2026
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