fix: port Phase 1 perf/correctness audit fixes onto main

Brings the still-needed changes from questie-phase1perf that main lacked.
Main already had the Lua 5.0 shims (QuestieLoader bit/strsplit, QuestieStream
and QuestieSerializer math.mod sweep), so those are omitted.

- QuestieNameplate: skip missing entries instead of return-aborting the whole
  activeGUIDs loop (one bad unit no longer stalls every nameplate update)
- QuestieQuest.ClearAllNotes: skip DB-missing quests instead of aborting, so
  remaining quests' notes still get cleared
- QuestieOptionsTracker: fix fadeTickerValue:Cancel -> fadeTicker:Cancel (3x);
  fadeTickerValue is a number, the ticker handle is fadeTicker
- QuestieCommsData: nil-guard GetNPC/GetObject before reading .name
- QuestieAnnounce: bound the alreadySentBandaid dedup cache (reset at 1000)
- QuestieDB.IsComplete: hoist GetQuest into expectedQuest (one call, not two)
- QuestieFramePool/QuestieFrame: drop the dead BaseOnUpdate ticker branch
  (BaseOnUpdate was never defined; behavior was always OnUpdate=nil)
- QuestieLib: document unused questId arg on Ascension_IsScalingEnabled
- Database/Corrections x3: strip stray UTF-8 BOM
- Questie-X.toc: remove duplicate QuestieSlash.lua load line
This commit is contained in:
Xurkon
2026-06-12 06:48:53 -05:00
parent 1f8fa20e00
commit 568cd44af8
13 changed files with 57 additions and 47 deletions
+4 -2
View File
@@ -46,9 +46,11 @@ function QuestieComms.data:GetTooltip(tooltipKey)
end
local oName = "";
if((objective.type == "monster" or objective.type == "m") and objective.id) then
oName = QuestieDB:GetNPC(objective.id).name;
local npc = QuestieDB:GetNPC(objective.id);
oName = (npc and npc.name) or oName;
elseif((objective.type == "object" or objective.type == "o") and objective.id) then
oName = QuestieDB:GetObject(objective.id).name;
local obj = QuestieDB:GetObject(objective.id);
oName = (obj and obj.name) or oName;
elseif((objective.type == "item" or objective.type == "i") and objective.id) then
local dbItem = QuestieDB:GetItem(objective.id);
if(dbItem and dbItem.name and (not dbItem.Hidden)) then