Skillet-Classic

Skillet-Classic

445k Downloads

Wrong Professions Showing

zhavier042 opened this issue ยท 20 comments

commented

I saw that there was an issue you couldn't reproduce, where the wrong profession was showing when using the buttons to change professions. I disabled all my addons except Skillet, just to see if something else could be interfering, and tried to 1.29 alpha 4 build. My WTF folder was empty for this attempt.
1 Open with Actionbar
2 Select First aid inside skillet window
3 Then Select Tailoring in skillet window

In addition to the above behavior, I also noticed that if i tried to open another trade while the skillet window was open using the spellbook or action bar, it would open correctly, as long as I had opened that tradeskill already. If it was one of the other tradeskills, for example cooking, it would not change the skillet window to cooking, it would still show whichever trade was currently open. If I closed the skillet window, opened cooking normally, the skillet window would now display cooking. The other behaviors would not change.

Let me know what debug commands I should employ.

commented

One more update, reverted to 1.27 version, and the professions show correctly now. However, I noticed that when changing professions using the skillet window buttons, the recipe list briefly looks like the above error versions, then updates to show the correct recipes for whatever professions I picked. What I mean is, when going from tailoring to first aid, red woolen bag goes from grey to yellow as you can see in the above pictures. That same behavior happens in 1.27, then the recipe list updates to show properly.

commented

Just tried it with Alpha 9, same behaviors.

commented

First, there was no alpha9 so I assume you meant alpha8.

The Skillet-Classic in frame profession buttons have caused problems as they do not follow Blizzard's expected sequence of closing one profession before opening another. I have found that the problems are minimized if Blizzard's expected sequence is followed once after each login (i.e. open and close each profession with an action bar button or your Skills frame). You do not need to use the Blizzard UI and the in frame buttons should function correctly for the rest of the session.

The 1.28 release and the progression of 1.29 alpha builds included a substantial number of changes in both how Skillet-Classic populates its database and how the in frame profession buttons respond when used too early in a session. The 1.29 release is now available with all of these changes in place.

Skillet-Classic versions 1.27 and 1.28 should behave correctly when all of a character's professions have been opened (and closed) once with action bar buttons. Version 1.29 should enforce this sequence by only allowing the in frame profession buttons to function after each profession has been opened (and closed) with action bar buttons.

Having said all of that, I would like you to repeat your experiment(s) with the 1.29 release. If you still see the issues reported here, then I would like to know that and I will provide you with the debug commands needed to help me track down why it happens for you, but doesn't happen for me. If the issue has been resolved, let me know that as well.

commented

Sorry, I did mean Alpha 8.

To clarify a few things. I did put the tradeskills on the action bar, open them from the action bar, and close the window, then open the other trade, close the window, and then perform the tests above, showing the odd behavior.

I nhave repeated my experiment with 1.29, but am getting the same behavior as before.

Let me know what debug commands to run, I am happy to help.

commented

First, some background on Skillet-Classic debugging. Output goes two places, to chat and to per character saved variables file Skillet-Classic.lua. The saved variables file is limited in size keeping only the most recent output. During a session, the data is stored in memory and is only written out when you logoff (or type /reload). Skillet-Classic also stores data in the global saved variables file, Skillet-Classic.lua. I will need both files uploaded here and since they have the same name, please rename the per character file to something like Skillet-Character.lua. Also, GitHub won't allow .lua files to be uploaded so please zip them (or rename them to .txt).

The commands I need to hopefully figure out what is happening on your system are:
/skillet tabledump on
/skillet debuglevel 4
/skillet debuglogging on
/skillet tracelog on
/skillet warnlog on

If you wish to see the chat output change the last three to:
/skillet debugshow on
/skillet traceshow on
/skillet warnshow on
(Turning on chat output also turns on saved variable output. Turning off chat output does not turn off saved variable output).

/skillet debugstatus will show you the current state.
/skillet cleardebuglog is useful before you start an experiment so that only the data relevant to the experiment will be saved.

/skillet debugoff will stop collecting data.

I leave save variable logging on all the time. The overhead is minimal for the default size of the buffer and then if something unexpected happens, I can logoff and save a copy of the file for analysis.

Please run you experiment again turning on debugging just before starting (or /skillet cleardebuglog) and logging off as soon as the experiment is finished. Have your character in a quiet place (i.e. not in the cities) to minimize recording events that fire from other characters around you. Upload both the global and the per character saved variables files and we'll proceed from there.

commented
commented

I can see what's going wrong but not what causes it. When a profession is opened, there are multiple TRADE_SKILL_UPDATE events and I believe the data on the client isn't stable until the last one. Unfortunately, the number of these events varies so I haven't figured out how to tell which one is the "last one".

Of course its complicated by the fact that my system doesn't misbehave like your system. I'm adding more debug statements so I'll post some files here for you to install on your system and try again.

commented

I may have a kludge (a fix I'm not completely happy with) so please replace the files in .../Addons/Skillet-Classic with the ones in this zip file and try your experiment again. Let me know the results and if it fails, please upload your saved variables files.

Skillet-Classic-1.30-prealpha.zip

commented

The change to SkilletQueue.lua was wrong. You can either go back to the version in the 1.29 release, grab the file from GIT, or wait for 1.30-alpha1 which will be coming soon.

commented

Use this version of SkilletData.lua instead.

SkilletData.zip

commented

i grabbed the files from the 30 prealpha above, used the skillet data file and the existing skillet queue file, and when trying to run the experiment, the skillet window never opened.
Skillet-Classic-character.txt
Skillet-Classic.txt

commented

I'm not sure what happened but instead of manually trying to get the right files installed, try Skillet-Classic-1.30-alpha1 instead.

commented

If you get the same behavior with Skillet-Classic-1.30-alpha1, then comment (add "--" to beginning of line) lines 824 and 843 of Skillet.lua. Those two lines should now look like:

--	if Skillet.tradeUpdate < 2 then return end
--	if Skillet.craftUpdate < 2 then return end

On my system, I always get multiple TRADE_SKILL_UPDATE events per TRADE_SKILL_SHOW. The debug output you uploaded shows only one. The above two lines were added earlier in my bug hunting exercise and may not be needed now that I coded a potential fix.

Skillet-Classic-1.30-alpha2 removes these lines.

commented

1.30Alpha2 is not having that error. I did notice the basic campfire button doesn't show up, though, even after opening cooking from the action bar. But thinking back, Im not sure ive seen that button in a while.

commented

Basic campfire button would be a new issue. I want to close this issue if your original problem has been fixed.

commented

It has thank you.

commented

Ok, downloaded 1.30 alpha 1, and had the same issue with it not opening the skillet window.
Skillet-Classic-character.txt
Skillet-Classic.txt

commented

Oh, commented those lines and everything was working perfectly. Sorry, misasewd that part at first.

commented

So its working now (with Skillet-Classic-1.30alpha2)?