fix: silence QuestLogCache error spam in normal chat
Demote GetQuest/GetQuestObjectives 'quest doesn't exist in QuestLogCache' messages from Questie:Error to Questie:Debug(DEBUG_DEVELOP). These were firing repeatedly in chat for quest IDs like 595, 959, 254048 during normal play. Messages are now only visible when developer debug mode is active.
This commit is contained in:
+4
-1
@@ -4,9 +4,12 @@
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- **[Fix — Map Icon Completion]** Resolved a bug where quest objective icons (map pins and minimap markers) persisted on the world map and minimap after objectives were fulfilled, only disappearing after speaking to the quest giver to complete the quest.
|
||||
- **[Fix - Map Icon Completion]** Resolved a bug where quest objective icons (map pins and minimap markers) persisted on the world map and minimap after objectives were fulfilled, only disappearing after speaking to the quest giver to complete the quest.
|
||||
- **SpecialObjectives Dirty Flag**: Added a missing loop in `SetObjectivesDirty` to reset `isUpdated = false` on `quest.SpecialObjectives` alongside the existing `quest.Objectives` loop. Previously, special objectives (e.g. demonic runestones, portal-closing mechanics) would skip the `ObjectiveUpdate` early-exit guard because their `isUpdated` flag was never cleared, preventing `objective.Completed` from being set to `true` and leaving map icons on-screen indefinitely.
|
||||
- **Completion Guard in PopulateObjective**: Added a defensive check in `PopulateObjective` so that objectives without an `Update` function still unload their spawned icons if `objective.Completed` or `quest.isComplete` is already `true` from a prior update cycle.
|
||||
- **[Fix - QuestLogCache Error Spam]** Silenced repetitive `[ERROR] Please report this error. GetQuest/GetQuestObjectives: The quest doesn't exist in QuestLogCache` chat messages that fired for quests not present in the cache (e.g. quest IDs 595, 959, 254048).
|
||||
- **Root Cause**: `QuestLogCache.GetQuest` and `QuestLogCache.GetQuestObjectives` called `Questie:Error(...)` unconditionally whenever a quest ID was not found in the cache, flooding chat on every objective update cycle.
|
||||
- **Fix**: Demoted both calls (and the accompanying `debugstack` print) from `Questie:Error` to `Questie:Debug(Questie.DEBUG_DEVELOP, ...)`. The messages are now silent during normal play and only visible when developer debug mode is active.
|
||||
|
||||
## Session 34 (2026-05-02)
|
||||
|
||||
|
||||
@@ -286,8 +286,8 @@ function QuestLogCache.GetQuest(questId)
|
||||
if questId == 0 or (not Questie.started) then
|
||||
return nil
|
||||
end
|
||||
Questie:Print(debugstack(1, 20, 4))
|
||||
Questie:Error("Please report this error. GetQuest: The quest doesn't exist in QuestLogCache.", questId)
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, debugstack(1, 20, 4))
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "GetQuest: The quest doesn't exist in QuestLogCache.", questId)
|
||||
return nil
|
||||
end
|
||||
return cache[questId]
|
||||
@@ -303,8 +303,8 @@ function QuestLogCache.GetQuestObjectives(questId)
|
||||
if questId == 0 or (not Questie.started) then
|
||||
return {}
|
||||
end
|
||||
Questie:Print(debugstack(1, 20, 4))
|
||||
Questie:Error("Please report this error. GetQuestObjectives: The quest doesn't exist in QuestLogCache.", questId)
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, debugstack(1, 20, 4))
|
||||
Questie:Debug(Questie.DEBUG_DEVELOP, "GetQuestObjectives: The quest doesn't exist in QuestLogCache.", questId)
|
||||
return {}
|
||||
end
|
||||
return cache[questId].objectives
|
||||
|
||||
@@ -184,6 +184,12 @@
|
||||
<li><strong>Completion Guard in PopulateObjective</strong>: Added a defensive check in <code>PopulateObjective</code> so that objectives without an <code>Update</code> function still unload their spawned icons if <code>objective.Completed</code> or <code>quest.isComplete</code> is already <code>true</code> from a prior update cycle.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>[Fix — QuestLogCache Error Spam]</strong> Silenced repetitive <code>[ERROR] Please report this error. GetQuest/GetQuestObjectives: The quest doesn't exist in QuestLogCache</code> chat messages that fired for quests not present in the cache (e.g. quest IDs 595, 959, 254048).
|
||||
<ul>
|
||||
<li><strong>Root Cause</strong>: <code>QuestLogCache.GetQuest</code> and <code>QuestLogCache.GetQuestObjectives</code> called <code>Questie:Error(...)</code> unconditionally whenever a quest ID was not found in the cache, flooding chat on every objective update cycle.</li>
|
||||
<li><strong>Fix</strong>: Demoted both calls (and the accompanying <code>debugstack</code> print) from <code>Questie:Error</code> to <code>Questie:Debug(Questie.DEBUG_DEVELOP, ...)</code>. The messages are now silent during normal play and only visible when developer debug mode is active.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
Reference in New Issue
Block a user