Fix critical LUA crash in QuestLinks due to nil concatenation and invalid chat link matching

This commit is contained in:
Xurkon
2026-04-07 17:46:06 -05:00
parent d5db15ce7c
commit 26dd06cf9d
3 changed files with 15 additions and 2 deletions
+7
View File
@@ -1,5 +1,12 @@
# Changelog
## v1.5.8 (2026-04-07)
### Bug Fixes
- **[Fix — QuestLink Crash]** Resolved a critical LUA error in `Link.lua`: `attempt to concatenate local 'coloredQuestName' (a nil value)`. This was caused by the `ChatFilter` misidentifying non-quest bracketed patterns (like Keystone links `[Name (ID)]`) as quests. Added a defensive nil guard in `GetQuestHyperLink` and hardened the `ChatFilter` to verify quest names exist before attempting string replacement.
## Questie-X - Expanded Font Selection
### New Features
+3 -2
View File
@@ -39,8 +39,9 @@ ChatFilter.Filter = function(chatFrame, _, msg, playerName, languageName, channe
local questLink = QuestieLink:GetQuestHyperLink(questId, senderGUID)
-- Escape the magic characters
local function escapeMagic(toEsc)
if questLink then
-- Escape the magic characters
local function escapeMagic(toEsc)
return (toEsc
:gsub("%%", "%%%%")
:gsub("^%^", "%%^")
+5
View File
@@ -83,6 +83,11 @@ end
---@return string
function QuestieLink:GetQuestHyperLink(questId, senderGUID)
local coloredQuestName = QuestieLib:GetColoredQuestName(questId, Questie.db.profile.trackerShowQuestLevel, true, false)
if not coloredQuestName then
return nil
end
local questLevel, _ = QuestieLib.GetTbcLevel(questId)
local isRepeatable = QuestieDB.IsRepeatable(questId)