Vysci / LFG-Bulletin-Board

Dungeon Request chat filtering
MIT License
15 stars 64 forks source link

[WOW Classic] Addon stopped working post upgrade v3.33 #280

Closed Moezenka closed 3 months ago

Moezenka commented 3 months ago

Describe the bug The addon stopped working after upgrading to version v3.33.

To Reproduce Steps to reproduce the behavior:

  1. Start the game
  2. Login

Expected behavior Addon should be loaded without any errors

Desktop (please complete the following information):

Additional context Bugsack caught the following:

3x LFGBulletinBoard/dungeons/classic.lua:209: Missing name for dungeonID: 830
[string "=[C]"]: in function `assert'
[string "@LFGBulletinBoard/dungeons/classic.lua"]:209: in function `cacheDungeonInfo'
[string "@LFGBulletinBoard/dungeons/classic.lua"]:247: in main chunk

Locals:
(*temporary) = nil
(*temporary) = "Missing name for dungeonID: 830"
3x LFGBulletinBoard/Dungeons.lua:649: attempt to index field 'Expansions' (a nil value)
[string "@LFGBulletinBoard/Dungeons.lua"]:649: in main chunk

Locals:
TOCNAME = "LFGBulletinBoard"
GBB = <table> {
 GetDungeonNames = <function> defined @LFGBulletinBoard/Dungeons.lua:12
 locales = <table> {
 }
 GetFocus = <function> defined @LFGBulletinBoard/Chat.lua:122
 AnnounceInit = <function> defined @LFGBulletinBoard/Chat.lua:110
 InitializeCustomFilters = <function> defined @LFGBulletinBoard/CustomCategories.lua:102
 LocalizationInit = <function> defined @LFGBulletinBoard/Localization.lua:825
 CreateChatFrame = <function> defined @LFGBulletinBoard/Chat.lua:3
 SendMessage = <function> defined @LFGBulletinBoard/Chat.lua:103
 Tool = <table> {
 }
 InsertChat = <function> defined @LFGBulletinBoard/Chat.lua:49
 OptionsBuilder = <table> {
 }
 CreateChannelPulldown = <function> defined @LFGBulletinBoard/Chat.lua:149
 UpdateAdditionalFiltersPanel = <function> defined @LFGBulletinBoard/CustomCategories.lua:731
 GetAllCustomFilterLevels = <function> defined @LFGBulletinBoard/CustomCategories.lua:210
 GetCustomFilterNames = <function> defined @LFGBulletinBoard/CustomCategories.lua:198
 EditAnnounceMessage_Changed = <function> defined @LFGBulletinBoard/Chat.lua:131
 SyncCustomFilterTags = <function> defined @LFGBulletinBoard/CustomCategories.lua:167
 GetCustomFilterKeys = <function> defined @LFGBulletinBoard/CustomCategories.lua:148
 Enum = <table> {
 }
 MinimapButton = <table> {
 }
 Announce = <function> defined @LFGBulletinBoard/Chat.lua:140
}
isClassicEra = true
isCata = false
isSoD = false
debug = false
print = <function> defined @LFGBulletinBoard/Dungeons.lua:10
mergeTables = <function> defined @LFGBulletinBoard/Dungeons.lua:638
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'Expansions' (a nil value)"
3x LFGBulletinBoard/Tags.lua:1081: attempt to call field '?' (a nil value)
[string "@LFGBulletinBoard/Tags.lua"]:1081: in main chunk

Locals:
TOCNAME = "LFGBulletinBoard"
GBB = <table> {
 suffixTagsLoc = <table> {
 }
 GetDungeonNames = <function> defined @LFGBulletinBoard/Dungeons.lua:12
 locales = <table> {
 }
 GetFocus = <function> defined @LFGBulletinBoard/Chat.lua:122
 AnnounceInit = <function> defined @LFGBulletinBoard/Chat.lua:110
 InitializeCustomFilters = <function> defined @LFGBulletinBoard/CustomCategories.lua:102
 LocalizationInit = <function> defined @LFGBulletinBoard/Localization.lua:825
 CreateChatFrame = <function> defined @LFGBulletinBoard/Chat.lua:3
 SendMessage = <function> defined @LFGBulletinBoard/Chat.lua:103
 Tool = <table> {
 }
 InsertChat = <function> defined @LFGBulletinBoard/Chat.lua:49
 heroicTagsLoc = <table> {
 }
 badTagsLoc = <table> {
 }
 searchTagsLoc = <table> {
 }
 OptionsBuilder = <table> {
 }
 GetCustomFilterKeys = <function> defined @LFGBulletinBoard/CustomCategories.lua:148
 CreateChannelPulldown = <function> defined @LFGBulletinBoard/Chat.lua:149
 dungeonSecondTags = <table> {
 }
 UpdateAdditionalFiltersPanel = <function> defined @LFGBulletinBoard/CustomCategories.lua:731
 GetAllCustomFilterLevels = <function> defined @LFGBulletinBoard/CustomCategories.lua:210
 GetCustomFilterNames = <function> defined @LFGBulletinBoard/CustomCategories.lua:198
 EditAnnounceMessage_Changed = <function> defined @LFGBulletinBoard/Chat.lua:131
 SyncCustomFilterTags = <function> defined @LFGBulletinBoard/CustomCategories.lua:167
 dungeonTagsLoc = <table> {
 }
 Enum = <table> {
 }
 MinimapButton = <table> {
 }
 Announce = <function> defined @LFGBulletinBoard/Chat.lua:140
}
isClassicEra = true
isSoD = false
langSplit = <function> defined @LFGBulletinBoard/Tags.lua:10
suffixTags = <table> {
 esES = ""
 ptBR = ""
 deDE = "gruppe"
 ruRU = "группран фарм фарма фармить"
 frFR = "groupe"
 enGB = "s group run runs"
 zhTW = ""
 zhCN = ""
}
searchTags = <table> {
 esES = "buscando grupo bm bdg bg"
 ptBR = "procurando grupo pm pg"
 deDE = "gesucht suche suchen sucht such gruppe grp sfg sfm druide dudu jäger magier priester warri schurke rschami schamane hexer hexenmeister hm krieger heiler xheiler go run"
 ruRU = "лфг ищет ищу нид нужны лфм лф2м ищем пати похилю лф танк хил нужен дд рдд мдд ршам рога вар прист армс пал"
 frFR = "groupe cherche chasseur druide mage paladin pretre voleur chaman quete"
 enGB = "group lfg lf lfm lftank lfheal lfhealer lfdps lfdd dd heal healer tank dps xdd xheal xhealer xtank druid hunter mage pala paladin priest rogue rouge shaman warlock warrior elite quest elitequest elitequests"
 zhTW = "缺 來 找 徵 坦 補 DD 輸出 戰 聖 薩 獵 德 賊 法 牧 術"
 zhCN = "= 缺 来 找 德 T N ND DZ FS SS SM"
}
badTags = <table> {
 esES = ""
 ptBR = ""
 deDE = "fc"
 ruRU = "гильдию гильдия слой"
 frFR = ""
 enGB = "layer"
 zhTW = "影布 回流"
 zhCN = "影布 回流"
}
heroicTags = <table> {
 esES = "h hc heroico heroica"
 ptBR = "h hc heroico"
 deDE = "h hc heroic"
 ruRU = "гер героик"
 frFR = "h hc heroic hm hero heroique"
 enGB = "h hc heroic"
 zhTW = "h 英雄"
 zhCN = "h H 英雄"
}
dungeonTags = <table> {
 OS = <table> {
 }
 TOTT = <table> {
 }
 ARENA = <table> {
 }
 RS = <table> {
 }
 IOC = <table> {
 }
 SCH = <table> {
 }
 HOO = <table> {
 }
 MC = <table> {
 }
 TOFW = <table> {
 }
 ICC = <table> {
 }
 HOS = <table> {
 }
 FOS = <table> {
 }
 WC = <table> {
 }
 CHAMP = <table> {
 }
 KARA = <table> {
 }
 LBRS = <table> {
 }
 COS = <table> {
 }
 VOA = <table> {
 }
 WG = <table> {
 }
 VH = <table> {
 }
 DMN = <table> {
 }
 SP = <table> {
 }
 SOTA = <table> {
 }
 EOTS = <table> {
 }
 VP = <table> {
 }
 POS = <table> {
 }
 BREW = <table> {
 }
 UP = <table> {
 }
 BWD = <table> {
 }
 AV = <table> {
 }
 BH = <
3x LFGBulletinBoard/Options.lua:10: attempt to index field 'Expansions' (a nil value)
[string "@LFGBulletinBoard/Options.lua"]:10: in main chunk

Locals:
TOCNAME = "LFGBulletinBoard"
GBB = <table> {
 GetDungeons = <function> defined @LFGBulletinBoard/RequestList.lua:584
 UpdateList = <function> defined @LFGBulletinBoard/RequestList.lua:476
 GetDungeonNames = <function> defined @LFGBulletinBoard/Dungeons.lua:12
 locales = <table> {
 }
 GetFocus = <function> defined @LFGBulletinBoard/Chat.lua:122
 UnfoldAllDungeon = <function> defined @LFGBulletinBoard/RequestList.lua:935
 heroicTagsLoc = <table> {
 }
 LocalizationInit = <function> defined @LFGBulletinBoard/Localization.lua:825
 ClickDungeon = <function> defined @LFGBulletinBoard/RequestList.lua:988
 Tool = <table> {
 }
 InsertChat = <function> defined @LFGBulletinBoard/Chat.lua:49
 Clear = <function> defined @LFGBulletinBoard/RequestList.lua:433
 ParseMessage = <function> defined @LFGBulletinBoard/RequestList.lua:774
 OptionsBuilder = <table> {
 }
 CreateChannelPulldown = <function> defined @LFGBulletinBoard/Chat.lua:149
 RequestShowTooltip = <function> defined @LFGBulletinBoard/RequestList.lua:1037
 ClickRequest = <function> defined @LFGBulletinBoard/RequestList.lua:1014
 EditAnnounceMessage_Changed = <function> defined @LFGBulletinBoard/Chat.lua:131
 Enum = <table> {
 }
 Announce = <function> defined @LFGBulletinBoard/Chat.lua:140
 RequestHideTooltip = <function> defined @LFGBulletinBoard/RequestList.lua:1088
 searchTagsLoc = <table> {
 }
 GetCustomFilterNames = <function> defined @LFGBulletinBoard/CustomCategories.lua:198
 ClickFrame = <function> defined @LFGBulletinBoard/RequestList.lua:981
 InitializeCustomFilters = <function> defined @LFGBulletinBoard/CustomCategories.lua:102
 CreateChatFrame = <function> defined @LFGBulletinBoard/Chat.lua:3
 SendMessage = <function> defined @LFGBulletinBoard/Chat.lua:103
 SyncCustomFilterTags = <function> defined @LFGBulletinBoard/CustomCategories.lua:167
 dungeonSecondTags = <table> {
 }
 FoldAllDungeon = <function> defined @LFGBulletinBoard/RequestList.lua:941
 suffixTagsLoc = <table> {
 }
 AnnounceInit = <function> defined @LFGBulletinBoard/Chat.lua:110
 badTagsLoc = <table> {
 }
 GetCustomFilterKeys = <function> defined @LFGBulletinBoard/CustomCategories.lua:148
 dungeonTagsLoc = <table> {
 }
 UpdateAdditionalFiltersPanel = <function> defined @LFGBulletinBoard/CustomCategories.lua:731
 MinimapButton = <table> {
 }
 GetAllCustomFilterLevels = <function> defined @LFGBulletinBoard/CustomCategories.lua:210
}
ChannelIDs = nil
ChkBox_FilterDungeon = nil
TbcChkBox_FilterDungeon = nil
isClassicEra = true
isCata = false
(*temporary) = <table> {
}
(*temporary) = 2
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'Expansions' (a nil value)"
3x LFGBulletinBoard/Dungeons.lua:621: attempt to call field '?' (a nil value)
[string "@LFGBulletinBoard/Dungeons.lua"]:621: in function `GetDungeonNames'
[string "@LFGBulletinBoard/GroupBulletinBoard.lua"]:545: in function `Init'
[string "@LFGBulletinBoard/GroupBulletinBoard.lua"]:856: in function `?'
[string "@LFGBulletinBoard/LibGPIToolBox.lua"]:119: in function <LFGBulletinBoard/LibGPIToolBox.lua:116>

Locals:
DefaultEnGB = <table> {
 OS = "Obsidian Sanctum"
 ARENA = "Arena (PvP)"
 SML = "Scarlet Monastery: Library"
 SCH = "Scholomance"
 RFC = "Ragefire Chasm"
 MC = "Molten Core (40)"
 RFK = "Razorfen Kraul"
 SFK = "Shadowfang Keep"
 FOS = "Forge of Souls"
 WC = "Wailing Caverns"
 CHAMP = "Trial of the Champion"
 KARA = "Karazhan"
 LBRS = "Lower Blackrock Spire"
 UK = "Utgarde Keep"
 RFD = "Razorfen Downs"
 SP = "Coilfang Reservoir: Slave Pens"
 POS = "Pit of Saron"
 OCC = "The Oculus"
 UP = "Utgarde Pinnacle"
 ST = "The Sunken Temple"
 SMA = "Scarlet Monastery: Armory"
 BAD = "DEBUG BAD WORDS - REJECTED"
 BT = "Black Temple"
 SSC = "Coilfang Reservoir: Serpentshrine Cavern"
 WSG = "Warsong Gulch (PvP)"
 SWP = "Sunwell Plateau"
 DME = "Dire Maul: East"
 SETH = "Auchindoun: Sethekk Halls"
 TRAVEL = "Travel services - Summons/Portals"
 HOLLOW = "Hallow's End - Headless Horseman"
 BREW = "Brewfest - Coren Direbrew"
 BRD = "Blackrock Depths"
 DEBUG = "DEBUG INFO"
 SH = "Hellfire Citadel: Shattered Halls"
 NEX = "The Nexus"
 COS = "The Culling of Stratholme"
 MISC = "Miscellaneous"
 WG = "Wintergrasp (PvP)"
 DM2 = "Dire Maul"
 SOTA = "Stand of the Ancients (PvP)"
 MGT = "Magisters' Terrace"
 EOTS = "Eye of the Storm (PvP)"
 DM = "The Deadmines"
 AQ40 = "Temple of Ahn'Qiraj (40)"
 OHB = "Caverns of Time: Old Hillsbrad"
 AV = "Alterac Valley (PvP)"
 GL = "Gruul's Lair"
 ULDAR = "Ulduar"
 NAXX = "Naxxramas"
 ICC = "Icecrown Citadel"
 HOL = "Halls of Lightning"
 ZG = "Zul'Gurub (20)"
 AQ20 = "Ruins of Ahn'Qiraj (20)"
 SM2 = "Scarlet Monastery"
 BFD = "Blackfathom Deeps"
 MT = "Auchindoun: Mana Tombs"
 ONY = "Onyxia's Lair (40)"
 ZA = "Zul-Aman"
 BWL = "Blackwing Lair (40)"
 DMW = "Dire Maul: West"
 EYE = "Tempest Keep: The Eye"
 RAMPS = "Hellfire Citadel: Ramparts"
 RS = "Ruby Sanctum"
 TOTC = "Trial of the Crusader"
 STK = "The Stockade"
 NAX = "Naxxramas (40)"
 MAR = "Maraudon"
 AB = "Arathi Basin (PvP)"
 VOA = "Vault of Archavon"
 ULD = "Uldaman"
 HOR = "Halls of Reflection"
 ANK = "Ahn’kahet: The Old Kingdom"
 STR = "Stratholme"
 BF = "Hellfire Citadel: Blood Furnace"
 TRADE = "Trade"
 GNO = "Gnomeregan"
 HOS = "Halls of Stone"
 AZN = "Azjol-Nerub"
 CRYPTS = "Auchindoun: Auchenai Crypts"
 MECH = "Tempest Keep: The Mechanar"
 MAG = "Hellfire Citadel: Magtheridon's Lair"
 GD = "Gundrak"
 VH = "Violet Hold"
 DTK = "Drak’Tharon Keep"
 EOE = "Eye of Eternity"
 ARC = "Tempest Keep: The Arcatraz"
 SV = "Coilfang Reservoir: Steamvault"
 SMG = "Scarlet Monastery: Graveyard"
 SL = "Auchindoun: Shadow Labyrinth"
 BOT = "Tempest Keep: Botanica"
 BM = "Caverns of Time: Black Morass"
 DFC = "Demon Fall Canyon"
 HYJAL = "The Battle For Mount Hyjal"
 UB = "Coilfang Reservoir: Underbog"
 UBRS = "Upper Blackrock Spire (10)"
 SMC = "Scarlet Monastery: Cathedral"
 DMN = "Dire Maul: North"
 ZF = "Zul'Farrak"
}
dungeonNamesLocales = <table> {
 zhCN = <table> {
 }
 ruRU = <table> {
 }
 frFR = <table> {
 }
 deDE = <table> {
 }
 zhTW = <table> {
 }
 esMX = <table> {
 }
}
dungeonNames = <table> {
}
(*temporary) = nil
(*temporary) = "attempt to call field '?' (a nil value)"
GBB = <table> {
 GetLfgList = <function> defined @LFGBulletinBoard/LfgToolList.lua:133
 DUNGEONBREAK = 28
 GetDungeonNames = <function> defined @LFGBulletinBoard/Dungeons.lua:12
 InitGroupList = <function> defined @LFGBulletinBoard/GroupList.Lua:177
 TAGSEARCH = "+++"
 TBCDUNGEONBREAK = 50
 CreateTagListLOC = <function> defined @LFGBulletinBoard/GroupBulletinBoard.lua:351
 LevelRange = <function> defined @LFGBulletinBoard/GroupBulletinBoard.lua:129
 InsertChat = <function> defined @LFGBulletinBoard/Chat.lua:49
 Clear = <function> defined @LFGBulletinBoard/RequestList.lua:433
 ParseMessage = <function> defined @LFGBulletinBoard/RequestList.lua:774
 CreateChannelPulldown = <function> defined @LFGBulletinBoard/Chat.lua:149
 LfgClickRequest = <function> defined @LFGBulletinBoard/LfgToolList.lua:647
 UserName = "MY_USER
Moezenka commented 3 months ago

Downgraded just now to the v3.32 release and it seems to be working fine. src: https://github.com/Vysci/LFG-Bulletin-Board/releases/tag/v3.32

Vysci commented 3 months ago

@Moezenka what language are you using?

juemrami commented 3 months ago

Hey I'm on a trip for the weekend. Can't check until Monday

juemrami commented 3 months ago

@Vysci for this one, I think this could fix it.

Where you have

["DFC"] = 830,  -- Demon Fall Canyon

Add a conditional so it doesn't get added to the ID's table if not isSoD

["DFC"] = isSoD and 830 or nil,  -- Demon Fall Canyon
juemrami commented 3 months ago

You added the override data correctly for sod only, but the spoofed LFGDungeonID was getting added for both SoD and Era. 👍🏽

Vysci commented 3 months ago

Good call, I forgot that hc and era is a thing

Moezenka commented 3 months ago

@Moezenka what language are you using?

I'm running the english client, I believe the locale is enUS.

Verified by running:

/run print(GetLocale())
-- OUTPUT
enUS
Vysci commented 3 months ago

@Moezenka can you check if you encounter this issue on 3.34

Moezenka commented 3 months ago

@Moezenka can you check if you encounter this issue on 3.34

LGTM, no errors are being thrown 👍 Thanks y'all for looking into this and resolving the issue 👏