vinnymac / PokeNurse

💉 A tool for Pokémon Go to aid in transferring and evolving Pokémon
284 stars 55 forks source link

Evolve and transfer functions are completely broken #158

Closed iPaulis closed 7 years ago

iPaulis commented 7 years ago

I downloaded the newest version 1.5.2, began my mass evolve and problems started appearing everywhere. After giving up using Pokenurse and manually evolving all pokemon ingame, I tried to transfer then in Pokenurse and had more problems. I am not sure if they are all part of the same issue, separate bugs or what, so I will just list what I saw and upload some screenshots. I hope you will understand better than me what happened and be able to fix it, because evolving and transfering like this is unusable.

-Selecting several pokemon to evolve or transfer takes a longer time than it should. I first selected 68 pokemon to evolve and the countdown started with around 1750s. The countdown did not update every second, only after every evolve, and instead of going down, it increased more and more every time. It also took increasingly more time to evolve the next pokemon, it seemed the time was incremental, about 30 secs for the first one, 60 secs for the second one and so on, but this is only my guess. When it was taking 3-4 mins to evolve just 1 pokemon and the countdown was in 5000s I stopped. I also tried with a smaller group of 21 pokemon and the real countdown should be about 600s, but after evolving some pokemon the countdown showed over 1200s and going up with every evolve. You can see it in the screenshot: evolve countdown -Exactly the same problem happens transfering a group of pokemon, but with smaller time increments. Besides, the cowntdown shows too many decimals: transfer bug 3 -Also, do you see in first screenshot how it says I have 333 pokemon? not true. I had about 270 pokemon and my bag capacity is 300 so that is the max I can have. Not sure why it shows this number, but I can tell the number was increasing with every evolve too. Before 333 it was showing 301, so it was not increasing just by 1 with every evolve. -Selecting only 1 pokemon and clicking evolve or transfer, it evolves or transfers it instantly, without any countdown or progress bar. The confirmation message appears and the user is able to repeat the process as fast as it takes to click the buttons. It shouldn't let the user evolve or transfer so fast just in case Niantic notices. -Evolving some pokemon threw this error. It appeared several times, in both individual evolve and group evolve: evolve bug 3 When the error happened during a batch evolve I saw the new Evolve error handling (very nice), but when the error happened in a single evolve, no message was shown, so I only knew by looking at the console. Besides, after this error, there is no way to evolve that pokemon but to restart Pokenurse and try again. Trying without restarting throws the same error. -I also founds 502 Oauth errors twice while I was restarting Pokenurse to try all those different things. Never had happened to me before this version.

I don't know how long it would take to fix all that, but if it is not quick, I would suggest going back to v1.5, because this bugs are very messy.

vinnymac commented 7 years ago

Really strange, I haven't seen any of this in my testing, not a single one of your problems have occurred for me. @mackhankins did you see any of this while testing?

I will have to investigate when I have time. People can easily downgrade by downloading v1.5.0 if they want to.

The new time estimates are based on the real request and delay times. We are now calculating how long it took to make the request and the delay, then we take the average time over all requests and we get how long we can reasonably guess the process will take. It isn't bulletproof obviously, but it is a lot better of an estimate than counting down which was a complete lie to the user.

There is a delay for every transfer/evolve, that logic hasn't changed, so perhaps it is just the perception of it in regards to the progress bar or something along those lines. In my own testing I witnessed the timer going down as more and more pokemon evolved/transferred. It is odd that it is going up, perhaps that means the average request time is going up. Either that or I broke something pretty obvious before release v1.5.2

I have done a lot of testing around the logic, and it interests me to see yours took 1700s at one point.

The issue with decimals, although I haven't seen it myself can easily be fixed.

The bluebird error message you posted appears to look like pogobuf is using bluebird-retry to attempt to retry requests that failed. We can't handle what pogobuf does after we ask it to make a request, in this case it looks like it was attempting to continue to make a previously failed request, and then failed itself. Not much more to it. We were most likely getting these events in the past but we previously weren't doing anything about it and not even catching it. This time you can see that your screen has reset the progress state from the failure that occurred, which it previously would have just gotten stuck and never properly finished.

As for your issue with the really high numbers, I think I know what the problem is. I think I am accidentally increasing the delay each time we do an action, so it is exponentially growing the delay, I'll see if I can fix that as well.

It would be best to open separate issue tickets for each one of these problems individually, that way we can keep track of when or if they will get fixed.

vinnymac commented 7 years ago

All of your issues might not have been fixed, but I am sure that we fixed a lot of them in v1.5.3. The bluebird issue is definitely one we cannot fix in this project.

iPaulis commented 7 years ago

Thanks for the explanation and quick update. If the exponential time increase has been fixed I think it will be usable. I will try v1.5.3 and see if it still happens.

iPaulis commented 7 years ago

OK, everything seems to be working better now. At least countdowns work and the time to complete the batch decreases. I got another bluebird error message in my first try transfering 20 pokemon, but apart from that everything was fine. I wish the error wouldnt stop the rest of the operations though.

vinnymac commented 7 years ago

@iPaulis I appreciate that you give so much detailed feedback. We are gonna keep trying to do the best we can, but pogobuf hasn't been updated that much recently and we rely on it for all requests, hopefully we will see them fix some of our biggest issues soon.

I could avoid stopping and try to detect the bluebird retry error, i'll give that a shot for a v1.5.4, if you could open a new ticket specific for the bluebird retry error I would appreciate it. I could imagine the bluebird-retry error happens each time it fails and has to retry, which is probably often for a lot of people, I'll make this a priority for now.