File Details
ItemRack Anniversary v4.36
- R
- Apr 6, 2026
- 148.24 KB
- 15
- 2.5.5+1
- Classic + 1
File Name
ItemRack-bcc-anniversary-4.36.zip
Supported Versions
- 2.5.5
- 1.15.8
[4.36] - 2026-04-02
🐛 Bug Fixes
- Pause Queue Bypassed on Movement: Fixed a critical bug where marking a trinket as "Pause Queue" (
keep=true) would only hold while standing still — as soon as you started walking, the auto-queue would swap it away to the next item. The root cause wasAutoQueueItemToEquip()never checking thekeepordelayflags on the currently-equipped item. WhileProcessAutoQueuehad its own guards,AutoQueueItemToEquipwas also called fromIsSetEquipped()in the event system (triggered byPLAYER_STARTED_MOVING), which would falsely report the set as "not equipped" and trigger a re-equip that overrode the paused trinket. - Set Stuck on "Custom" After Queue Advance: Fixed a related issue where manually advancing the queue (which temporarily puts you in "Custom" state) would prevent re-equipping your set from the ItemRack menu — the set would stay on "Custom" even though all items were equipped. This was caused by the same
IsSetEquippedfalse-negative from the missingkeepcheck inAutoQueueItemToEquip. - Delay Flag Bypassed by Event System: Fixed the per-item
delaysetting (which prevents swapping an item until X seconds after use) being ignored when evaluated through the event system'sIsSetEquippedpath, matching the same structural fix as thekeepflag. - Short Cooldown Auto-Queue: Fixed the auto-swap logic for items with short cooldowns (like the Parachute Cloak) by improving cooldown and delay evaluation.
- Redundant Zone Events: Prevented redundant zone-based event triggers in cities and PvP zones by implementing a state-aware zone transition check.
- Queue Initialization Popup: Suppressed an unintended behavior where Alt+LeftClicking an empty/uninitialized queue slot's quick-access button would abruptly pop open the ItemRack Options menu across the center of your screen. The addon will now silently auto-populate and toggle the new queue in the background, keeping your screen clear (you can still manually open the Queue menu for a slot using Alt+RightClick).
✨ Improvements
- Per-Slot Queue Inheritance for Event Sets: When an event set (like a mount set) only defines a few slots, equipping it no longer wipes the auto-queue state of every other slot.
GetQueues()andGetQueuesEnabled()now use per-slot inheritance: the active set's data takes priority, missing slots inherit from the previous set in the event stack, and the global queue is the final fallback. This means your bottom trinket's auto-queue keeps running normally when the mount event only swaps the top trinket.
🔧 Queue System Audit
- Manual Queue Discarded in Combat: Fixed a critical bug where manual queue advances (right-click cycle) for any slot were silently discarded when leaving combat if auto-queue was disabled for that slot. The combat queue filter was too aggressive — it now correctly distinguishes between manual advances (which should always be honored) and auto-queued entries (which should be filtered when auto-queue is disabled). This was the root cause of the reported slot 14 (lower trinket) manual queue not working.
- Missing
UpdateQueueEnableFunction: Defined theItemRackOpt.UpdateQueueEnable()function which was called from two locations (Alt-click queue toggle in the Quick Access Menu and Quick Access Button) but never implemented. Previously, Alt-clicking to toggle auto-queue while the Queue Options panel was open for that slot would throw a Lua error instead of updating the checkbox state. IsSetEquippedQueue-Awareness Dead Code: Fixed the auto-queue awareness check inIsSetEquippedwhich was rendered inactive by using#set.Queueson a sparse table (always returns 0 in Lua). The check now correctly queries the specific slot's queue list viaGetQueues(setname)[i]and only activates when auto-queue is enabled for that slot viaGetQueuesEnabled(). This reactivates the intended behavior: zone/buff events won't see a set as "already equipped" when the auto-queue has a pending swap.RunAfterCombatCleanup Skipping Entries: Fixed a classic Lua iteration bug where callingtable.remove(t, i)during a forwardforloop would shift indices and skip every other entry. If multiple deferred functions (likeConstructLayoutandReflectMainScale) were queued during combat, some would never be cleared and would re-run on every subsequent combat exit. Replaced withwipe().SetQueueCrash When Options Not Loaded: Added a nil guard forItemRackOptFrame:IsVisible()in theSetQueuefunction. SinceItemRackOptionsis a LoadOnDemand addon, callingSetQueue()from a user's custom event script before the Options panel had ever been opened would crash with a nil index error.SaveSetPer-Set Queue Context Desync: FixedSaveSetcallingGetQueuesEnabled()andGetQueues()without passing the set name, causing them to resolve againstCurrentSetinstead of the set being saved. If an event (zone/buff/spec change) updatedCurrentSetwhile the Options panel was open, clicking Save would snapshot the wrong set's queue configuration, silently overwriting the user's in-place queue edits with data from an unrelated set.
[4.35] - 2026-03-28
✨ Improvements
- Per-Set Queue Snapshotting: When
Enable per-set queuesis active, clicking "Save" on a Set now deeply copies all active AutoQueue metadata (including enabled slot states, item priority orders, explicit delay timers, and pause markers). Previously, saving a new set omitted this metadata, forcing users to manually rebuild their queues for each set. - On Movement Debounce Toggle: Added a "Stop Delay" check button to the Events option panel for the "On Movement" unequip hook. Users can now bypass the 0.5s debounce timer, initiating instantaneous gear swaps (e.g., unequipping your Riding Crop) the exact millisecond you press your movement key.
- Queue Context Display: The Queue Options tab now explicitly displays the name and icon of the exact Set whose auto-queue you are actively editing, preventing confusion about which Set's queue is being modified.
🐛 Bug Fixes
- Queue Editor Race Condition: Fixed a critical isolation bug where editing auto-queues while the Options menu was open could silently corrupt unrelated sets. If an event (like Mounting or entering Combat) caused a gear swap in the background, subsequent edits (moving items, changing delays, toggling auto-queue) would instantly bind to the newly equipped set instead of the one you originally selected. The Queue editor now securely snapshots and locks context to the specific set being edited regardless of background gear changes.
- Queue Menu Empty Table Pollution: Fixed an issue where simply opening the Queue UI would rapidly spam the
SavedVariablestable with emptyQueuesobjects across every single gear set you owned, bloating file sizes and triggering accidental per-set override defaults. - Bank Item Tooltips: Sanitized the internal
IRStringToItemStringgenerator to safely truncate custom trailing attributes. This prevents the WoW client'sGameTooltip:SetHyperlink()function from crashing and rendering an empty UI when inspecting saved item sets located inside your Bank while the bank frame is closed. - Main Bank Empty Tooltips: Fixed a core engine bug where inspecting items residing natively in the 28-slot main Bank (
bag == -1) returned stripped or broken tooltips (making other addons like VendorPrice append to an empty record). ItemRack now bypasses the failingGameTooltip:SetBagItemon this specific container, natively translating the slot into a player inventory ID usingBankButtonIDToInvSlotIDdirectly matching the Blizzard UI implementation.