Optimize Open Mail recovery and bump to 1.4.10
- Remove Open Mail layout repair from MAIL_INBOX_UPDATE - Avoid repeated SetParent/SetPoint/frame-level work during inbox refresh bursts - Only repair the Open Mail button when its state is actually wrong - Keep recovery on addon load and mailbox open - Bump version to 1.4.10
This commit is contained in:
@@ -25,7 +25,11 @@ Target: Turtle WoW 1.18.x / Octo client.
|
||||
|
||||
## Fixed in 1.4.9
|
||||
|
||||
- **Missing `Open Mail` button:** upstream creates `TurtleMailOpenMailButton` only once in `inbox_load()` and assumes it will remain parented, positioned, and visible forever. If that creation path is interrupted or another mailbox/UI addon hides or re-parents the button, TurtleMail never recovers it. The compatibility layer now uses an idempotent inbox loader and an `ensure_open_mail_button()` recovery path that recreates the button if needed, restores its parent/anchor/text/click handler/frame level, and re-shows it on mailbox/inbox refreshes.
|
||||
- **Missing `Open Mail` button:** upstream creates `TurtleMailOpenMailButton` only once in `inbox_load()` and assumes it will remain parented, positioned, and visible forever. If that creation path is interrupted or another mailbox/UI addon hides or re-parents the button, TurtleMail never recovers it. The compatibility layer now uses an idempotent inbox loader and an `ensure_open_mail_button()` recovery path that recreates the button if needed and restores its parent/anchor/text/click handler/frame level.
|
||||
|
||||
## Fixed in 1.4.10
|
||||
|
||||
- **First mailbox-open freeze/stutter after the 1.4.9 recovery fix:** 1.4.9 called `ensure_open_mail_button()` on every `MAIL_INBOX_UPDATE`. Initial inbox population can emit a burst of those events, so the button was repeatedly re-parented, re-anchored, re-labeled, resized, and given a new frame level. 1.4.10 removes that work from `MAIL_INBOX_UPDATE` and makes `ensure_open_mail_button()` state-aware, so it only mutates the UI when the button is missing, hidden, moved, re-parented, or otherwise incorrect.
|
||||
|
||||
## Remaining architectural risks upstream
|
||||
|
||||
@@ -48,4 +52,4 @@ The compatibility build was tested in-game on Turtle WoW 1.18.x and the reported
|
||||
|
||||
## Status
|
||||
|
||||
**1.4.9 is the current stable release.** The fixes remain isolated in `TurtleMailFix.lua` so upstream code stays easy to compare and future upstream changes remain easier to merge.
|
||||
**1.4.10 is the current stable release.** The fixes remain isolated in `TurtleMailFix.lua` so upstream code stays easy to compare and future upstream changes remain easier to merge.
|
||||
|
||||
Reference in New Issue
Block a user