Xurkon
51561b97d8
perf: batch learner updates and remove Turtle support
2026-06-04 06:47:45 -05:00
Xurkon
810ea7f802
fix: real-time minimap pins + defensive GetAchievementNumCriteria shim
...
1. _InvalidateSpawnListsForNPC was setting objective.AlreadySpawned = nil,
causing _DetermineIconsToDraw to crash on nil-index when trying to draw
updated pins. The xpcall wrapper in UpdateObjectiveNotes swallowed the
error silently, so no icons appeared.
Fix: unload existing map/minimap icons explicitly, then set
AlreadySpawned = {} (empty table) instead of nil. Also clear
hasRegisteredTooltips so tooltips refresh.
2. Added GetAchievementNumCriteria defensive shim for Ascension servers
with incomplete achievement databases. Returns 0 for invalid IDs
instead of hard-erroring in Blizzard's WorldMapFrame.
2026-05-16 08:54:52 -05:00
Xurkon
bf6ecaedbe
v1.6.3-unreleased: Sunstrider zone fixes, QuestieLearner icon preservation, migration, and Busted test suite
...
Code changes (13 files, +916/-171):
- ZoneDB integration: GetZoneId() converts uiMapId→areaId via ZoneDB reverse lookup
- MIN_CONFIDENCE_PINS reduced to 1 for Ascension (incomplete NPC DBs)
- QuestieLearner icon preservation: objective Icon passed to RegisterObjectiveTooltip
- InjectLearnedData zone migration: converts old uiMapId spawn keys to areaId
- areaId passed through all LearnNPC call sites (OnMouseoverUnit, OnQuestDetail,
OnQuestComplete, OnQuestAccepted, OnQuestTurnedIn, OnGossipShow)
- Compat/Compat.lua: C_Map.GetPlayerMapPosition UiMapData support
- Compat/HBD.lua: Sunstrider mapData aliases and fallback loading
- Sunstrider arrow fix (QuestieArrow.lua), resolved pin rendering (QuestieMap.lua)
- _MergeOverride helper for string/numeric key compatibility
- Northshire Valley UiMapData registration
Testing infrastructure:
- .busted config pointing to tests/ directory
- Tests/wow_api_mock.lua: WoW API mocks (ZoneDB, C_Map, QuestLogCache, etc.)
- Tests/QuestieLearner_spec.lua: 12 tests covering coordinate scaling, spell cast
learning, zone migration (NPC/objects), icon preservation, settings defaults,
and LearnNPC spawn zone tracking
- selene.toml + wow_classic.yml: linter configuration
Documentation:
- Makefile with test/lint/ci targets
- sunstrider-coordinate-collection.md: coordinate data reference
- sunstrider-pin-fix.md: root cause analysis and fix documentation
2026-05-16 07:32:47 -05:00
Xurkon
1fc9727fee
v1.4.9: Validation fixes, Profiler fix, Quest link duplicate fix, Ascension fixes
2026-03-26 06:47:54 -05:00
Xurkon
6e34cebead
feat: release v1.4.6 - Fix SavedVariables persistence and red textures for MafWow/3.3.5a
2026-03-22 08:30:20 -05:00
Xurkon
2df8a7b96d
fix: v1.4.4 - AceGUI pool fixes, event handling nil checks, QuestieLearner serialization, l10n format fixes
2026-03-20 21:16:58 -05:00
Xurkon
5d94cf8f67
feat: v1.4.0 - Code review fixes and taint resolution
...
- C_Timer OnUpdate uses elapsed param
- IsAchievementCompletion checks completion boolean
- C_Map.GetPlayerMapPosition fixes
- QuestieLearner GUID function forward declarations
- Taint guards on secure hooks (InCombatLockdown + pcall)
Fixes ADDON_ACTION_BLOCKED: UseAction() errors
2026-03-19 19:24:24 -05:00
Xurkon
c5c3897421
feat: idempotent quest tracking and robustness improvements v1.3.7
2026-03-19 00:22:26 -05:00
Xurkon
9ad5272ed6
fix: correctly detect legacy xpcall dropping varargs
2026-03-18 22:18:14 -05:00
Xurkon
d1f757e2bb
fix: add variadic xpcall polyfill for older clients
2026-03-18 21:38:53 -05:00
Xurkon
28fc4d5095
chore: release v1.3.5 - Comprehensive Taint & Architecture Fixes
2026-03-18 21:27:48 -05:00
Xurkon
b8594c9782
fix(p2): restore plugin status UI, C_QuestLog/C_Map shims, QuestieServer init
...
- QuestieOptionsAdvanced.lua: restore compat_header, plugin_header, plugin_status_desc
blocks showing loaded Questie-X plugins with stats in the Advanced options tab
- QuestieCompat.lua: add C_QuestLog shim (GetNumQuestLogEntries, GetQuestLogTitle,
GetAllQuestIDs, GetQuestObjectives, IsQuestFlaggedCompleted, GetQuestPlayerQuestLink),
C_Map shim (GetPlayerMapPosition, GetBestMapForUnit, GetMapInfo),
GetTrackedAchievements, IsAchievementCompleted, and LibUIDropDownMenu shims
- QuestieInit.lua: import QuestieServer module, add QuestieServer:Init() call with nil
guard, wrap HBDHooks:Init() in nil guard
2026-03-15 18:33:41 -05:00
Xurkon
6d3189b608
fix(p1): restore Lua 5.0 polyfills, hooksecurefunc, C_Timer, LibDeflate, and XXH load lines
...
- QuestieLoader.lua: add table.getn, math.mod, string.match, string.gmatch, select polyfills
- QuestieCompat.lua: add string.match, select, math.mod shims; hooksecurefunc polyfill;
full C_Timer polyfill; fix Is335 to use do/end block safe for Lua 5.0
- embeds.xml: add LibDeflate lib.xml include
- Questie-X.toc, Questie-X-Classic.toc, Questie-X-Turtle.toc: add XXH_Lua_Lib load line
2026-03-15 17:50:50 -05:00
Xurkon
6ef85d4e2d
v9.7.2: Ebonhold Database integration and core logic refinements
2026-02-14 21:13:44 -06:00