From c6e118165f6111434b3b88e953822dc23c527921 Mon Sep 17 00:00:00 2001 From: Xurkon Date: Fri, 5 Jun 2026 22:22:55 -0500 Subject: [PATCH] fix: dedupe unavailable quest draw logs --- Modules/Quest/AvailableQuests.lua | 8 +++++++- Tests/QuestieAvailableQuests_spec.lua | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Modules/Quest/AvailableQuests.lua b/Modules/Quest/AvailableQuests.lua index f80cea2..b08def4 100644 --- a/Modules/Quest/AvailableQuests.lua +++ b/Modules/Quest/AvailableQuests.lua @@ -35,6 +35,7 @@ local timer -- Keep track of all available quests to unload undoable when abandoning a quest local availableQuests = {} +local unavailableQuestLogged = {} local dungeons = ZoneDB:GetDungeons() @@ -283,7 +284,10 @@ _DrawAvailableQuest = function(questId) NewThread(function() local quest = QuestieDB.GetQuest(questId) if not quest then - Questie:Debug(Questie.DEBUG_LEARNER, "[AvailableQuests] Skipping unavailable quest during draw:", questId) + if not unavailableQuestLogged[questId] then + unavailableQuestLogged[questId] = true + Questie:Debug(Questie.DEBUG_LEARNER, "[AvailableQuests] Skipping unavailable quest during draw:", questId) + end return end if (not quest.tagInfoWasCached) then @@ -292,6 +296,8 @@ _DrawAvailableQuest = function(questId) quest.tagInfoWasCached = true end + unavailableQuestLogged[questId] = nil + AvailableQuests.DrawAvailableQuest(quest) end, 0) end diff --git a/Tests/QuestieAvailableQuests_spec.lua b/Tests/QuestieAvailableQuests_spec.lua index aa40efa..d99eee3 100644 --- a/Tests/QuestieAvailableQuests_spec.lua +++ b/Tests/QuestieAvailableQuests_spec.lua @@ -10,6 +10,7 @@ describe("Questie available quests guard", function() local content = read("Modules/Quest/AvailableQuests.lua") assert.is_true(content:find("if not quest then", 1, true) ~= nil) assert.is_true(content:find("Skipping unavailable quest during draw", 1, true) ~= nil) + assert.is_true(content:find("unavailableQuestLogged[questId]", 1, true) ~= nil) assert.is_true(content:find("quest.tagInfoWasCached = true", 1, true) ~= nil) end) end)