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

Can't Edit Tokens

1617934159

Edited 1617934767
As the title says, I've run into a fresh bug that prevents me from editing tokens. Yesterday, all was fine. Today, I sat down to work on a token that's linked to a journal entry. I created my token first, set it up with vision, and made it the size I wished. Next, I created a journal entry for the monster it would represent. So far, so good. Next, I edited the token to create a link between it and the journal entry. I have a "Hit Points" attribute set in the journal, so I set one of the bars on the token to use that attribute. I saved these changes. So far, so good. The bug presents itself here. If I try to make further edits to the token, it does not reflect them. I click the "Save Settings" button, and all my changes revert. If I try to update Hit Points via the bubble on the token, again, nothing happens to the token. But the Journal entry linked to the token increments up or down as expected. If I drag from the Journal to make a new token, the hit points are as expected, even though the original token does not change. And again, if I try to rename the token (example: if I want the nameplate to read "Skeleton #1" instead of "Skeleton") saving the change does not work; it reverts to "Skeleton" upon clicking the button. I have also verified that the buggy behavior goes away the moment that I unlink the Hit Points attribute from the token to the journal. If I change the token bar's attribute from "Hit Points" to "None," then I can save any changes I wish. This doesn't appear to be an undocumented but intentional change, because I also have uncovered jQuery errors associated with clicking on the "Save Settings" button. See below for logs. From Chrome: (index):429 Uncaught TypeError: Cannot read property 'hit points' of undefined &nbsp; &nbsp; at r (app.js?1617894168:598) &nbsp; &nbsp; at T.i.updateModel (app.js?1617894168:598) &nbsp; &nbsp; at HTMLDivElement.click (app.js?1617894168:598) &nbsp; &nbsp; at HTMLButtonElement.props.click (jquery-ui.1.9.0.cust….js?1617893935:8646) &nbsp; &nbsp; at HTMLButtonElement.dispatch (jquery-1.9.1.js:3074) &nbsp; &nbsp; at HTMLButtonElement.elemData.handle (jquery-1.9.1.js:2750) &nbsp; &nbsp; at HTMLButtonElement.nrWrapper ((index):429) r @ app.js?1617894168:598 updateModel @ app.js?1617894168:598 click @ app.js?1617894168:598 props.click @ jquery-ui.1.9.0.cust….js?1617893935:8646 dispatch @ jquery-1.9.1.js:3074 elemData.handle @ jquery-1.9.1.js:2750 nrWrapper @ (index):429 From Firefox: Uncaught TypeError: d20.journal.customSheets.reservedAttributes is undefined &nbsp; &nbsp; r <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; updateModel <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; click <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; jQuery 3 &nbsp; &nbsp; &nbsp; &nbsp; click &nbsp; &nbsp; &nbsp; &nbsp; dispatch &nbsp; &nbsp; &nbsp; &nbsp; handle &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; jQuery 22 &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; &nbsp; &nbsp; on &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; on &nbsp; &nbsp; &nbsp; &nbsp; name &nbsp; &nbsp; &nbsp; &nbsp; init &nbsp; &nbsp; &nbsp; &nbsp; init &nbsp; &nbsp; &nbsp; &nbsp; jQuery &nbsp; &nbsp; &nbsp; &nbsp; _createButtons &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; _createButtons &nbsp; &nbsp; &nbsp; &nbsp; $.widget/&lt;/prototype[prop]&lt;/&lt; &nbsp; &nbsp; &nbsp; &nbsp; _create &nbsp; &nbsp; &nbsp; &nbsp; $.widget/&lt;/prototype[prop]&lt;/&lt; &nbsp; &nbsp; &nbsp; &nbsp; _createWidget &nbsp; &nbsp; &nbsp; &nbsp; namespace][name &nbsp; &nbsp; &nbsp; &nbsp; $.widget.bridge/$.fn[name]/&lt; &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; name &nbsp; &nbsp; showDialog <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; initialize <a href="https://app.roll20.net/assets/app.js?1617894168:596" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:596</a> &nbsp; &nbsp; promise callback*initialize/&lt; <a href="https://app.roll20.net/assets/app.js?1617894168:596" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:596</a> &nbsp; &nbsp; trigger <a href="https://app.roll20.net/assets/base.js?1617893935:7" rel="nofollow">https://app.roll20.net/assets/base.js?1617893935:7</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:594" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:594</a> &nbsp; &nbsp; n <a href="https://app.roll20.net/assets/app.js?1617894168:583" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:583</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:594" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:594</a> &nbsp; &nbsp; n <a href="https://app.roll20.net/assets/app.js?1617894168:583" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:583</a> &nbsp; &nbsp; __onMouseUp <a href="https://app.roll20.net/assets/app.js?1617894168:585" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:585</a> &nbsp; &nbsp; C <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:625" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:625</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:625" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:625</a> app.js:598:18172 &nbsp; &nbsp; r <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; updateModel <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; updateModel self-hosted:1173 &nbsp; &nbsp; click <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; jQuery 3 &nbsp; &nbsp; &nbsp; &nbsp; click &nbsp; &nbsp; &nbsp; &nbsp; dispatch &nbsp; &nbsp; &nbsp; &nbsp; handle &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; (Async: EventListener.handleEvent) &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; jQuery 22 &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; &nbsp; &nbsp; add &nbsp; &nbsp; &nbsp; &nbsp; on &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; on &nbsp; &nbsp; &nbsp; &nbsp; name &nbsp; &nbsp; &nbsp; &nbsp; init &nbsp; &nbsp; &nbsp; &nbsp; init &nbsp; &nbsp; &nbsp; &nbsp; jQuery &nbsp; &nbsp; &nbsp; &nbsp; _createButtons &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; _createButtons &nbsp; &nbsp; &nbsp; &nbsp; $.widget/&lt;/prototype[prop]&lt;/&lt; &nbsp; &nbsp; &nbsp; &nbsp; _create &nbsp; &nbsp; &nbsp; &nbsp; $.widget/&lt;/prototype[prop]&lt;/&lt; &nbsp; &nbsp; &nbsp; &nbsp; _createWidget &nbsp; &nbsp; &nbsp; &nbsp; namespace][name &nbsp; &nbsp; &nbsp; &nbsp; $.widget.bridge/$.fn[name]/&lt; &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; each &nbsp; &nbsp; &nbsp; &nbsp; name &nbsp; &nbsp; showDialog <a href="https://app.roll20.net/assets/app.js?1617894168:598" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:598</a> &nbsp; &nbsp; showDialog self-hosted:1173 &nbsp; &nbsp; initialize <a href="https://app.roll20.net/assets/app.js?1617894168:596" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:596</a> &nbsp; &nbsp; (Async: promise callback) &nbsp; &nbsp; initialize <a href="https://app.roll20.net/assets/app.js?1617894168:596" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:596</a> &nbsp; &nbsp; trigger <a href="https://app.roll20.net/assets/base.js?1617893935:7" rel="nofollow">https://app.roll20.net/assets/base.js?1617893935:7</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:594" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:594</a> &nbsp; &nbsp; n <a href="https://app.roll20.net/assets/app.js?1617894168:583" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:583</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:594" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:594</a> &nbsp; &nbsp; n <a href="https://app.roll20.net/assets/app.js?1617894168:583" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:583</a> &nbsp; &nbsp; __onMouseUp <a href="https://app.roll20.net/assets/app.js?1617894168:585" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:585</a> &nbsp; &nbsp; C <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; (Async: EventListener.handleEvent) &nbsp; &nbsp; nrWrapper <a href="https://app.roll20.net/editor/:429" rel="nofollow">https://app.roll20.net/editor/:429</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:595" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:595</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:625" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:625</a> &nbsp; &nbsp; &lt;anonymous&gt; <a href="https://app.roll20.net/assets/app.js?1617894168:625" rel="nofollow">https://app.roll20.net/assets/app.js?1617894168:625</a>
Hi.&nbsp; Sorry to hitch a lift but I'm having basically the same problem.&nbsp; I can save one linked attribute ('TMR' in my case) with the tokens I'm making but as soon as I change anything else - even the Name Plate - it just 'hangs' on the save forever.&nbsp; Given that I have a game tomorrow (Fri 9th) evening, this is super unhelpful right now.&nbsp;&nbsp; Note, I am not using a character sheet because my game is using an unsupported system (BESM 4E) so I made everything basically from scratch.&nbsp;&nbsp; I understand basically nothing of the technical side of things so I can't add any of the jQuery errors Edward R. mentions because I have no idea how.&nbsp; I am happy to provide what further info I can if it will help to resolve this issue.&nbsp;&nbsp;
Same here. I can't seem to save changes. I had to put everything under none and then manually adjust things if we change map.
Same here
I've identified a workaround. It's not ideal at all, but it leaves me with something playable. This may not work for everyone, because everybody's game is different, but I'll post it in case it's helpful to someone. I don't use character sheets, but I have character entries in the Journal (many of them monsters) that I have set up with a bunch of macros under Abilities and several Attributes that I use to track hit points, X/day powers, etc. So here's what I do. Set up the Journal for a character/monster. All your attributes need to be set how you want them to be. Save the Journal entry. Set up a token. Give it the size on your map and the vision settings you want it to have. Save the token. Edit the token. Change "Represents Character" to match the new Journal entry. Save the token. Edit the token again. If you want a nameplate, turn that on now. If you want the nameplate to be different from the name on the Journal, change that now. Save the token. Edit the token. Set up any of your bars now. So if you're tracking an Attribute from the Journal, this is the time to set that up. Save the token. It's going to bug on you, and it'll look like it didn't work. Close the token's dialog anyway. Select your new token. Edit your Journal entry, and assign the token to be the default for that Journal entry. Save the Journal entry. Delete the token you were working on. Drag from the Journal to the map to get a fresh token. It will look as expected; if you have Abilities set up, they'll work as expected. You won't be able to edit any values in bars. And you won't be able to edit the text for its nameplate. Edit your new token. In the Token Bars section, change the linked Attribute to "None." The token bar will remain populated with the values from the Attribute. Those values now will be editable, and so will the nameplate. Make any other changes you need (I often use the same Journal entry to quickly spawn several monsters of the same kind, so I'll be editing "Skeleton" to "Skeleton #1" or something). Save the token. You can now use the token bubbles to edit your token bars as normal. But changes made will not propagate back to your Journal entry. That's good if you're using this to spawn mooks; it's bad if you're using it for a unique NPC or for your PCs' characters sheets. That's it. The token should be in working order. It's a workaround that causes trouble if you have some kind of unusual case, where maybe several tokens are meant to be the exact same entity. It's also still a huge hassle if you're using the Journal for your players' character sheets, because this means you'll have to go in manually to edit Hit Points or whatever in the Journal anytime you change maps.
Same issue. Urgent as tomorrow we have our game, we can't have R20 breaking things like this.
Same here sort of, except I simply can't hit save changes whatsoever.
Just want to bump up that this is an issue across the board for us too. Thanks!
Same here. Trying to enable vision on a token, but the Save button doesn't do anything. Error in Chrome: Uncaught TypeError: Cannot read property 'hp' of undefined Error in Firefox:&nbsp; Uncaught TypeError: d20.journal.customSheets.reservedAttributes is undefined
Nice to know it's not just me then :)&nbsp; &nbsp; I've recently (since last night, the 9th) had an issue which doesn't quite make much sense, though it's almost certainly related to the other issues experienced here. Quite simply, I cannot edit any of the Token values that have been allocated to a specific character sheet, I can however edit one's that have not.&nbsp; e.g. The Red and Green are "linked", the Blue isn't. I can still edit the Blue, but not either the Red or the Green.&nbsp; &nbsp;
Same here
@Edward R. Thank you for the workaround.&nbsp;&nbsp;
Same here... value doesn't change, and JavaScript errors pop up in the console...
1618065616
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Those of you having this problem, have you tried using Roll20 in a Private Browsing window, to eliminate most possible extension conflicts? Are any of you using a VPN, or posting from a country like Russia, China or Germany, which have reported connectivity issues in the last year? Just spitballing. I don't have a solid idea what might be the problem, but sometimes it helps to eliminate potential issues.
keithcurtis said: Those of you having this problem, have you tried using Roll20 in a Private Browsing window, to eliminate most possible extension conflicts? Are any of you using a VPN, or posting from a country like Russia, China or Germany, which have reported connectivity issues in the last year? Just spitballing. I don't have a solid idea what might be the problem, but sometimes it helps to eliminate potential issues. The "Potential Issue" is almost certainly not a "user" issue... this is a recent problem, coinciding with the "upgrade" that happened this week. Everything worked fine before that, then, this, to loads of people, coincidence I don't think so.&nbsp; I'm in the UK, don't use a vpn and haven't suffered connectivity problems... .&nbsp;
Hey everyone, If you're still having issues with editing the tokens, would you mind sending a game link into the Help Center ? And let us know which character sheet you're using. We're trying to reproduce the issue on our end!
keithcurtis said: Those of you having this problem, have you tried using Roll20 in a Private Browsing window, to eliminate most possible extension conflicts? Are any of you using a VPN, or posting from a country like Russia, China or Germany, which have reported connectivity issues in the last year? Just spitballing. I don't have a solid idea what might be the problem, but sometimes it helps to eliminate potential issues. I have, Keith, and can verify that this definitely is NOT an extension conflict; this bug is manifest even without extensions enabled. And as I am browsing from the States and not from behind a VPN, I think we can rule those out, as well.
Bunny said: Hey everyone, If you're still having issues with editing the tokens, would you mind sending a game link into the Help Center ? And let us know which character sheet you're using. We're trying to reproduce the issue on our end! Hi, Bunny. Regarding the game link, I have already done so (support ticket #52590). As far as character sheets, I use none; all my stuff is set up via Journal entries of my own devising. Per your request, I have responded via e-mail to the support ticket to update with a couple of exemplars that should give you immediate reproduction of the bug.
Andy C. said: @Edward R. Thank you for the workaround.&nbsp;&nbsp; You are most welcome.
Thank you, Edward R!
Hey all! Thank you for your patience and bringing this to our attention, we rallied the devs and they've put out a hotfix. Please let us know if this has resolved the issue on your side.
I haven't exhaustively tested, but this appears to have resolved the issue. A refresh was all that was necessary on my side, but I think that other folks who're experiencing this same bug probably should also consider clearing their browser caches, logging in and out again, etc. if it doesn't immediately resolve, as the bug will persist until your browser has replaced its copy of the faulty jQuery script. Thank you for your prompt attention to this, Bunny. It was a serious irritation, but not fatal for me, because I keep local copies of all my content. But I think this was a complete show-stopper for a lot of users.
Edward R. said: I haven't exhaustively tested, but this appears to have resolved the issue. A refresh was all that was necessary on my side, but I think that other folks who're experiencing this same bug probably should also consider clearing their browser caches, logging in and out again, etc. if it doesn't immediately resolve, as the bug will persist until your browser has replaced its copy of the faulty jQuery script. Thank you for your prompt attention to this, Bunny. It was a serious irritation, but not fatal for me, because I keep local copies of all my content. But I think this was a complete show-stopper for a lot of users. Yep, if you are still having issues do as this beautiful man has suggested. Should fix it right up. And thank you to the Roll20 team for fixing this bug so quickly, was quite game breaking.
thanks ! it's working fine now ! :)