TSM Versions:
TSM 1.5.8
TSM_Shopping 1.3.10
The "Show Results Above Dealfinding Price" check box in the TSM_Shopping configuration is not functioning properly. In particular, if you use either the "Get All" scan or the TSM Application, and then run a Dealfinding Search (under "Special Searches" in the TSM auction house interface), it will always refuse to show results above the dealfinding price, regardless of the checkbox's state.
I opened a ticket about this, but it was rejected with the claim that this was "working as intended." I can't see any reason why this should be working as intended, so I assume I just wasn't clear enough with the explanation. Rather than open another ticket, I took some time to peruse the code and fix the bug.
Line 439 of TSM_Shopping/modules/Search.lua contains the logic that determines which items are shown from the dealfinding scan. It reads:
It's clear from this that it is only checking that the data exists and that the max price is greater than the buyout. There is no conditional that tests the state of the check box. Luckily, it's a very simple fix to add that conditional. Changing line 439 to read as follows corrects the problem:Code:if dealfindingData and dealfindingData.maxPrice and data.minBuyout and dealfindingData.maxPrice >= data.minBuyout then
The logic in parentheses returns true if the check box is checked, or if the check box is not checked but the item's buyout is below the dealfinding max price, which is intuitively how the check box ought to work (and used to work in previous versions, this issue has only appeared since somewhere in 1.3.x, probably when Dealfinding was moved to specail searches).Code:if dealfindingData and dealfindingData.maxPrice and data.minBuyout and (TSM.db.profile.dealfindingShowAboveMaxPrice or dealfindingData.maxPrice >= data.minBuyout) then
Thanks to Sapu and all of the other devs for all your hard work, the addon is excellent.


