Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

D&D 5E by Roll20 undeleteable Attributes?

1617210259

Edited 1617210333
  Hello all!  I am seeing something odd lately with my characters using D&D 5E by Roll20 character sheets.  I switch over to the Attributes tab on the character as the GM and I see tons (sometimes hundred or so) of these "Untitled" fields.  Since these seem to be set to the default value for the Character Sheet, they don't seem to have actual _id fields I can use to look them up.  They have _id fields in the web form, when I check the source of the value/max fields they have names like "<input type="text" value="0" name="-MX8BaRp4cHuV4BIQMj3-attrcurrent">" but always seem to come back after I delete them.  I've tried some API scripts to clean up the mess but these _ids don't seem to exist as _type:'attribute' objects, so still no luck.  Disclaimer: I do a lot of custom scripting, and I could have simply caused this myself somehow.  I am looking into that - but I wanted to ask here to see if anybody has ever seen this, encountered this, etc.  These characters have been in play for over a year, and this has started to become a real problem.  Here is a screen shot of the issue:   ...Thanks in advance for any advice or suggestions you can send my way!
Ok, figured it out - posting an explanation here in case somebody else encounters this.. Turns out I was making a setWithWorker(...) call (it was un-equip) right before making a call to .remove() an object.  The setWithWorker(...) call resolved right after the object was .removed(), apparently causing a new Attribute to be made that had the defaults so I couldn't use the API to find/delete it.  I solved it by using a setTimeout(...) on the .remove() call to make sure the setWithWorker(...) call is done.  Hope nobody else ever encounters this, ever. Enjoy!