Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I figured out what's causing the bug when you can't repurchase hero relics after deleting them! #17752

Closed
dimmeto opened this issue May 23, 2024 · 3 comments

Comments

@dimmeto
Copy link

dimmeto commented May 23, 2024

Hi guys, I will go in-depth explaining the issue and how I (we @anagarcia33) found the solution for it in this post, if you don't like to read it there is a TL;DR at the end of the post <3 Much love.

With the introduction of new armory and profiles, there was a period of a couple of months where you could delete hero relics from the armory. My curiosity struck and I deleted a couple of them but when I tried repurchasing them, for some reason I was only being able to buy 1 - for every other deleted relic the relic roulette was spinning but at the end I was getting the "Internal server error- please try again later". This issue has been ongoing for maybe a year, and in that period I've made acquaintances with more than 10-15 people having the issue and regularly posting on the git-hub tracker.

Recently we made a discord server sharing our experiences. What was in common was (or so I thought till last night) that for some reason everybody was only being able to purchase one relic after deleting them, which to me was weird, because why only one, why that specific relic and not the others right? Well, last night a breakthrough appeared: @anagarcia33 said she remembered having only two hero relics deleted on a certain hero, so normally we asked her to try purchasing the rest of them..... AND IT WORKED. She was able to purchase every single relic for the hero, except one without any problems.

Since I'm a software engineer, it struck me.... Hero relics are stored in a data structure called 'array'. When initializing, probably the capacity was set to 14( each hero has 14 hero relics), but the fun part is when you set the capacity of a given array to 14, that means the array has 15 fields ( position 0 is considered a field too). When a relic is being deleted, instead of it being removed from the array, it's value is simply being put to 'null'. That way the relic is no longer shown, but the 'null' value still takes a field in the array, which explains why everybody with the exception of @anagarcia33 was being able to re-purchase only 1 relic (there is 1 free space in the array) and she was able to buy 13.

As I said, all of us have had this issue for almost a year, we've made github posts regularly, each getting upvotes in the range of 10-25 upvotes, we've contacted steam support saying they will forward the issue - still nothing. Help us track our stats once again, with this post providing the problem and the solution for it, it will take you guys maximum 2 minutes of your time.

I appreciate the time you took reading this.

TL;DR: Hero relics are stored in an array with capacity of 14(15), but when a hero relic is deleted its value is set to null instead of it being removed from the array, which causes a "Internal server message error" when trying to repurchase the relic since it has no storage left for it.

@mihailspirkoski
Copy link

Fix this please, it's been forever.....

@anagarcia33
Copy link

thx @dimmeto We've been on this for quite some time.... the solution is either this or null pointer when relic should be purchased because of deletion

@dimmeto
Copy link
Author

dimmeto commented May 23, 2024

thx @dimmeto We've been on this for quite some time.... the solution is either this or null pointer when relic should be purchased because of deletion

Exactly.... I just hope it gets resolved soon, been too long already....

@dimmeto dimmeto closed this as completed May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants