Describe the bug
When opening a search filter tab that has a value assigned in the Patch field, or simply creating a new search filter with said field filled, Dalamud throws an internal error that causes the game to close.
To Reproduce
Steps to reproduce the behavior:
Create new Search Filter and add it to the Tab List.
Fill out the Patch field in Basic tab of the configuration window with any patch number, in my case issue was caused while using 4.2.
Add inventory sources in Inventories tab.
Click on the newly created filter's tab in the Tab List.
Expected behavior
Not to crash, and to filter items by specified patch number.
Screenshots
System.ArgumentException: An item with the same key has already been added. Key: 36861
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at LuminaSupplemental.Excel.Model.ItemPatch.ToItemLookup(List`1 itemPatches) in /work/repo/LuminaSupplemental/src/LuminaSupplemental.Excel/Model/ItemPatch.cs:line 65
at CriticalCommonLib.Services.ExcelCache.GetItemPatch(UInt32 itemId) in /work/repo/CriticalCommonLib/Services/ExcelCache.cs:line 482
at InventoryTools.Logic.Filters.PatchFilter.FilterItem(FilterConfiguration configuration, ItemEx item) in /work/repo/InventoryTools/Logic/Filters/PatchFilter.cs:line 27
at InventoryTools.Logic.FilterConfiguration.FilterItem(InventoryItem item) in /work/repo/InventoryTools/Logic/FilterConfiguration.cs:line 1210
at InventoryTools.Logic.FilterConfiguration.GenerateFilteredListInternal(FilterConfiguration filter, List`1 inventories) in /work/repo/InventoryTools/Logic/FilterConfiguration.cs:line 2829
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at InventoryTools.Logic.FilterConfiguration.StartRefresh() in /work/repo/InventoryTools/Logic/FilterConfiguration.cs:line 293
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
Dalamud Information:
Do you have testing enabled? Yes
Filter Issues
Here is a filter configuration export with which the issue arises.
Additional context
Unsure if the crash also happens when no items are found matching the search filter or when items are found on only a single inventory. In my case, the filtered items are found on multiple characters.
Hi, I have a patch going out for this that is currently waiting in the dalamud queue, I'll close this issue as I am very sure it will fix it. Please reopen if once it's out it does not sort you out :)
Describe the bug When opening a search filter tab that has a value assigned in the Patch field, or simply creating a new search filter with said field filled, Dalamud throws an internal error that causes the game to close.
To Reproduce Steps to reproduce the behavior:
4.2
.Expected behavior Not to crash, and to filter items by specified patch number.
Screenshots
Dalamud Information: Do you have testing enabled? Yes
Filter Issues Here is a filter configuration export with which the issue arises.
Additional context Unsure if the crash also happens when no items are found matching the search filter or when items are found on only a single inventory. In my case, the filtered items are found on multiple characters.