File Details
v0.32.6
- R
- May 20, 2026
- 361.12 KB
- 14
- 12.0.5
- Retail
File Name
GuildBankLedger-v0.32.6.zip
Supported Versions
- 12.0.5
GuildBankLedger
v0.32.6 (2026-05-20)
Full Changelog Previous Releases
- Merge pull request #28 from RussellFeinstein/hotfix/sort-prewarm-replan-race
Fix sort pre-warm/replan race (v0.32.6) - Stamp v0.32.6
Hotfix release for the sort pre-warm race fix in the previous commit.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - Fix duplicate and cold-cache move when bank changes during sort pre-warm
Bank events were registered before the sort pre-warm phase started, so a
GUILDBANKBAGSLOTS_CHANGED from foreign guild activity during the up-to-3s
pre-warm window could reach the slots-changed handler while no op was in
flight. The handler replanned and issued the first move before item data
finished loading, re-opening the crafted-quality crash that pre-warm exists
to prevent. When pre-warm then completed, its callback issued the same move
a second time because step() had no in-flight guard.
Fix 1 (root cause): keep event registration eager so the frame-hide abort
still fires during pre-warm, and suppress the slots-changed handler with a
state.preWarming flag set around preWarmForPlan. Foreign activity during
pre-warm is caught instead by the first op's existing src/dst pre-check.
Fix 2 (hardening): step() now bails when state.waiting is already armed, so
no caller can double-issue an op.
Adds a regression test for the pre-warm-window event and a guard test via a
new _sortExecutorStep seam. Full suite green, luacheck clean.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com