Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 716b829321 | |||
| 2aed5f7f56 | |||
| e5d2f23dfe | |||
| 3d2e659c38 |
@@ -2,7 +2,7 @@
|
||||
|
||||
Target: Turtle WoW 1.18.x / Octo client.
|
||||
|
||||
## Fixed in 1.4.6
|
||||
## Fixed in 1.4.6-compat.1
|
||||
|
||||
- **Horizontal mail bar crash:** the upstream code creates `MailHorizontalBarLeft/Right` and then assumes the textures are exported as globals. Some client/UI combinations return the textures without the expected global, causing `attempt to index field 'MailHorizontalBarLeft' (a nil value)`. The compatibility layer guarantees valid texture references before setup and updates.
|
||||
- **Autocomplete SavedVariables crash:** `TurtleMail_AutoCompleteNames` and its realm/faction table are used without schema validation. The patch initializes/repairs missing or malformed SavedVariables before `ADDON_LOADED`, `PLAYER_LOGIN`, slash commands, and autocomplete.
|
||||
@@ -26,16 +26,23 @@ These are intentionally not rewritten in the compatibility layer because changin
|
||||
3. Several layouts rely on specific Blizzard frame names and region ordering. The compatibility layer protects the confirmed/high-risk cases, but a full mail-frame replacement can still be incompatible.
|
||||
4. The pfUI skin accesses pfUI internals (`MailFrame.backdrop`, `pfUI_config`, specific widget members). A future pfUI layout change can therefore break the skin even when core TurtleMail remains functional.
|
||||
5. Inbox polling is frame-count based (`200` OnUpdate ticks), so the interval changes with FPS. It is not a correctness bug but is less predictable than elapsed-time polling.
|
||||
6. The addon has no automated runtime test harness for Turtle WoW mail APIs; future changes still need in-game validation with representative mail/send scenarios.
|
||||
6. The addon has no automated runtime test harness for Turtle WoW mail APIs; final validation still needs an in-game test with empty mail, item mail, gold, COD, AH mail, multi-attachment send, autocomplete, and (if used) pfUI.
|
||||
|
||||
## Compatibility context
|
||||
|
||||
The upstream repository already had a Turtle WoW 1.18.1 report where `MailFrame` became nil; that report was ultimately traced to MoveAnything. This reinforces that TurtleMail is sensitive to addons that replace or re-parent the mail UI.
|
||||
|
||||
## Validation
|
||||
## Suggested in-game validation
|
||||
|
||||
The compatibility build was tested in-game on Turtle WoW 1.18.x and the reported setup produced no Lua errors after the fixes were applied. Because mailbox behavior can be affected by other UI addons, future changes should still be checked with normal mail, item mail, gold, COD, AH/returned mail, multi-attachment send, autocomplete, logging, and pfUI when applicable.
|
||||
- Open and close the mailbox repeatedly.
|
||||
- Open a normal letter, item mail, gold mail, AH mail, and returned mail.
|
||||
- Confirm COD mail is skipped by Open All.
|
||||
- Send one item and then several items.
|
||||
- Send money and confirm the log records it.
|
||||
- Type a previously seen sender in the recipient field and confirm autocomplete.
|
||||
- Switch inbox pages and verify AH/returned icons do not remain on empty rows.
|
||||
- If pfUI is installed, test with its mailbox skin both enabled and disabled.
|
||||
|
||||
## Status
|
||||
|
||||
**1.4.6 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.6-compat.1` is a **test build**, not a final release. The fixes are intentionally isolated in `TurtleMailFix.lua` so upstream code stays easy to compare and future upstream changes remain easier to merge.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# TurtleMail - WoW 1.12 / Turtle WoW
|
||||
|
||||
This fork keeps the original TurtleMail features while adding a compatibility and safety layer for **Turtle WoW 1.18.x / Octo**.
|
||||
This fork keeps the original TurtleMail features while adding a small compatibility layer for **Turtle WoW 1.18.x / Octo**.
|
||||
|
||||
> Stable release: **1.4.6**
|
||||
> Current test build: **1.4.6-compat.1**
|
||||
> Based on upstream **sica42/TurtleMail 1.4.5**.
|
||||
> The compatibility work is isolated in `TurtleMailFix.lua` so upstream changes remain easy to compare and merge.
|
||||
|
||||
@@ -26,7 +26,7 @@ Logging is disabled by default. Enable with `/tm log`.
|
||||
|
||||
## Turtle WoW compatibility fixes
|
||||
|
||||
Version **1.4.6** addresses:
|
||||
`1.4.6-compat.1` currently addresses:
|
||||
|
||||
- `MailHorizontalBarLeft` / `MailHorizontalBarRight` nil crashes.
|
||||
- Missing or malformed `TurtleMail_AutoCompleteNames` SavedVariables.
|
||||
@@ -36,15 +36,21 @@ Version **1.4.6** addresses:
|
||||
- Stale AH/returned icons on empty inbox rows.
|
||||
- Fragile mailbox/package-frame lookups.
|
||||
- A calendar tooltip nil/stale-value edge case.
|
||||
- Several additional guards around mailbox UI replacements and malformed state.
|
||||
|
||||
See [`AUDIT.md`](AUDIT.md) for the full audit and remaining architectural risks.
|
||||
See [`AUDIT.md`](AUDIT.md) for the full audit, remaining architectural risks, and the in-game validation checklist.
|
||||
|
||||
## Validation status
|
||||
## Test status
|
||||
|
||||
Version **1.4.6** has been promoted to stable after in-game testing on Turtle WoW 1.18.x completed without Lua errors in the tested setup.
|
||||
This is intentionally marked as a **test build** until it has been validated in-game on Turtle WoW 1.18.x. Core mail sending/opening behavior has not been deliberately redesigned; the patch focuses on compatibility and safety around the upstream implementation.
|
||||
|
||||
The patch intentionally keeps the original send/open workflow instead of redesigning it. Addons that heavily replace or re-parent the Blizzard mail UI can still create compatibility issues; known architectural risks are documented in `AUDIT.md`.
|
||||
Recommended checks after installing:
|
||||
|
||||
1. Open/close the mailbox repeatedly.
|
||||
2. Test normal mail, item mail, gold, AH, returned mail, and COD.
|
||||
3. Test one-item and multi-item sends.
|
||||
4. Test recipient autocomplete.
|
||||
5. Test the sent/received log.
|
||||
6. If you use pfUI, test with its mailbox skin enabled and disabled.
|
||||
|
||||
## Screenshots
|
||||
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@
|
||||
## Interface: 11200
|
||||
## Title: |cffabd473Turtle|cffffffffMail
|
||||
## Author: shirsig/sica, Dusk-92 (compatibility fixes)
|
||||
## Version: 1.4.6
|
||||
## Notes: Mailbox enhancement - Turtle WoW 1.18.x compatibility
|
||||
## Version: 1.4.6-compat.1
|
||||
## Notes: Mailbox enhancement - Turtle WoW 1.18.x compatibility fixes
|
||||
## SavedVariables: TurtleMail_AutoCompleteNames
|
||||
## SavedVariablesPerCharacter: TurtleMail_To TurtleMail_Point TurtleMail_Log
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ local m = TurtleMail
|
||||
local getn = table.getn
|
||||
local function pack( ... ) return arg end
|
||||
|
||||
m.compat_version = "1.4.6"
|
||||
m.compat_version = "1.4.6-compat.1"
|
||||
|
||||
local DEFAULT_SENT_FILTERS = {
|
||||
Money = 1,
|
||||
|
||||
Reference in New Issue
Block a user