fix(mini-frames): persist scale/position on login and slider change#49
Merged
EllesmereGaming merged 1 commit intoEllesmereGaming:mainfrom Mar 11, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
Target of Target, Focus Target, and Pet Frame resets size and position after logging in/out and /reload. It sometimes goes extra wild on slider change in unlock mode and appears with a random location on screen.
Root Cause
Missing ApplyFrameScale call in InitializeFrames for pet/targettarget/focustarget. Everything else cascades from that — the wrong position on reload, the options panel needing ReloadAndUpdate, the savePosition key mapping bug being exposed. The core omission is that three frames were simply never having their saved scale applied on login.
Fix
ApplyFrameScale never called in InitializeFrames for pet/targettarget/focustarget — scale always loaded as 1.0 on login savePosition wrote frameScale to db.profile["targettarget"] which doesn't exist — targettarget and focustarget both share db.profile.totPet, so the scale was silently dropped on every unlock mode save
Options panel scale slider used ns.ApplyFrameScale (no position compensation) instead of ReloadAndUpdate
Test
Open unlock mode, set pet scale to something non-default (e.g. 150%)
/reload — pet should stay at 150%, same position
Repeat for ToT and focustarget
Change ToT scale — confirm focustarget also changes (they share totPet)
/eui → Unit Frames → Mini Frames Edit → set pet scale to non-default
Frames should update visually immediately (live preview)
/reload — pet should stay at that scale, correct position (not bottom-right corner)
/reload again — still correct
Repeat for ToT/focustarget slider
Regression check
Set scale back to 100% via both paths — confirm frames return to default position cleanly
Confirm player/target/focus frames are unaffected throughout
Set position via unlock mode drag, then change scale — confirm position compensates correctly and survives /reload