Journalator

Journalator

145k Downloads

Junk vendoring is not recorded

rowaasr13 opened this issue ยท 3 comments

commented

Brief Description of Bug

I've passed through several rivers picking up Tuskarr Tackleboxes worth over 1000g of gold, but none of them got recorded. For example last transaction visible on this screenshot alone is 3 times larger than sum recorded and there seems to be no other "junk" entries in last hour.

Image

Steps to Reproduce

It is possible that Journalator does not monitor sales through UseContainerItem while merchant window is open? Because that's how I sell my junk through my own semi-private addon.

commented

Added a fix in the latest version, v149.

commented

Still having problem. Fresh trash sell (as visible in chat), Journalator window closed and reopened. Nothing is shown in summary for vendoring and "Vendors" tab is completely empty. v150.

Image

commented

I've looked deeper and found two problems - both related to concurrency.
First: I was localizing UseContainerItem before Journalator hooked it.
Second: it is NOT guaranteed that Journalator receives event that makes it set self.merchantShown before other addons. So my addon (TC) got MERCHANT_SHOW event first and sold everything before Journalator even registered that window is open. This made ProcessDetails do nothing, because it just returns if flag is not set.

Here is event sequence completed by simple prints in chat:
Image

Unfortunately both MerchantFrame:IsVisible() and MerchantFrame:IsShown() are still returning false at this moment and there seems to be no other relevant events, so I'm not sure if it can be fixed on Journalator side at all.

For now I've set up After(0, <sell everything>) in my code to let others handle merchant frame open event first, but I have feeling it might fail in some corner cases.