From 9ce0fe7b3f6d917e44fa4ea0e0233b44ba7f5c0f Mon Sep 17 00:00:00 2001 From: grom Date: Fri, 23 Oct 2026 15:06:02 -0600 Subject: [PATCH] app: load the five FrameXML rows this client update added MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit benilla loads its own curated `benilla.toc`, not the chain's `FrameXML.toc`, so a row the realm adds is silently absent: no "not found", no warning, just a missing global. grom updated the client on 2026-10-23 and `/xpboost` did nothing. The chain itself was fine — every archive mounted, no DBC field-count mismatch, and the two sessions' warning sets differ by two lines *fewer* after the update. The command was simply undefined. Diffing the chain's toc against ours found five rows, all added here in the chain's own order: - `OctoXpBoost`: `/xpboost`, the bonus-experience opt-out. Slash commands never reach the server, so it sends the server's `.xpboost` as a SAY, which the server runs as a command and never broadcasts. This is the reported bug. - `OctoTurtleBridge`: Turtle_General's addon-message dispatcher, for the realm's inspect replies and `RESPONSE_PLAYER_CHALLENGES`. - `Turtle_GroupUI` + `OctoGroupUIFix`: the compact group/raid frames and three fixes to them. The fix stays immediately after, as the chain has it; the xml pulls its own .lua and templates. - `OctoTurtleStore`: transmog outfits and LFT presets kept on the realm over AIO, FrameXML having no SavedVariables. Verified with the real data: `b_opens_the_backpack_and_shift_b_opens_every_bag` (the only test that reads a new row's OnLoads) stays green, and the producer gate goes from red to green with it. Through the addon harness against grom's own corpus: `SLASH_OCTOXPBOOST1` is `/xpboost` with a function behind it, the bridge and all nine group frames exist, no session errors — and the group frames are hidden with no OnUpdate armed while solo, so they cost nothing until a group fills them. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn --- crates/benilla-app/assets/ui/benilla.toc | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/crates/benilla-app/assets/ui/benilla.toc b/crates/benilla-app/assets/ui/benilla.toc index 2ca20dac..207a86b1 100644 --- a/crates/benilla-app/assets/ui/benilla.toc +++ b/crates/benilla-app/assets/ui/benilla.toc @@ -206,8 +206,19 @@ Interface\FrameXML\LFT\LFT_Data.lua Interface\FrameXML\LFT\LFT.lua Interface\FrameXML\LFT\LFTTemplates.xml Interface\FrameXML\LFT\LFT.xml -# OctoWoW's six baked single-file extensions (its `FrameXML.toc` 139-148), all Lua over verbs that -# already exist, and baked into the chain rather than shipped as AddOns precisely so a player +# `OctoTurtleBridge` is Turtle_General's addon-message dispatcher, baked into FrameXML: it answers +# the realm's `TW_CHAT_MSG_WHISPER` inspect replies and `RESPONSE_PLAYER_CHALLENGES`, loading +# `Blizzard_InspectUI` and `Blizzard_TalentUI` on demand and seeding `Turtle_ChallengesCache`. +Interface\FrameXML\OctoTurtleBridge\OctoTurtleBridge.lua +# TurtleWoW's compact group/raid frames (`GroupClusterFrame1..8` + `GroupPetsClusterFrame`); the +# one row pulls `Turtle_GroupUI.lua` and `Turtle_GroupUITemplates.xml` through its own +# `