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

Accidentally moved a token into the "Tokens" layer and now the entire campaign is not loading anymore.

1413569188

Edited 1413569269
Just starting into scripts, know just enough to be dangerous. I was messing around with a trap triggering script and managed to send a trap token into the "Tokens" layer, which definitely isn't a real layer. Roll20 completely froze up and stopped loading all the maps for the campaign, and I can't figure out any way to get rid of the token. Here's the console log from the page: Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net https://*.googlesyndication.com <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> https://*.googlesyndication.com <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> https://*.googlesyndication.com <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.googlesyndication.com https://*.tokbox.com https://*.googlesyndication.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> ". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:8 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' https://*.googlesyndication.com https://*.doubleclick.net https://*.googlesyndication.com <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> https://*.googlesyndication.com <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> https://*.googlesyndication.com <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.googlesyndication.com https://*.tokbox.com https://*.googlesyndication.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> ". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:9 70 app.js?1409801439:22 TOUCH SUPPORTED: false app.js?1409801439:23 USING WEBGL ACCELERATION... app.js?1409801439:23 select app.js?1409801439:18 Switch mode to select app.js?1409801439:18 Initializing new dice engine with randomness... app.js?1409801439:32 Using random entropy app.js?1409801439:32 Compiling sheet... app.js?1409801439:34 Finding sheet rolls... app.js?1409801439:34 'Attr.nodeValue' is deprecated. Please use 'value' instead. window resize app.js?1409801439:35 Final set zoom! app.js?1409801439:23 UPDATE GL SIZE! app.js?1409801439:23 Final set zoom! app.js?1409801439:23 tuts loaded tutorial_tips.js:7 The page at ' <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> ' was loaded over HTTPS, but displayed insecure content from ' <a href="http://imgsrv.roll20.net:5100/?src=paizo.com/image/content/Logos/PathfinderRPGLogo_500.jpeg" rel="nofollow">http://imgsrv.roll20.net:5100/?src=paizo.com/image/content/Logos/PathfinderRPGLogo_500.jpeg</a> ': this content should also be loaded over HTTPS. app.roll20.net/:1 Final page load. app.js?1409801439:28 Scan for new plays! app.js?1409801439:28 Auth'ed. app.js?1409801439:28 Go post auth! app.js?1409801439:28 7Scan for new plays! app.js?1409801439:28 initial setup app.js?1409801439:28 Got players value... app.js?1409801439:28 joining game... app.js?1409801439:28 7Full load page! app.js?1409801439:26 We have 25 pages app.js?1409801439:28 refershing page listings! app.js?1409801439:30 Player -JOSao1O5Tgu5ey5OxmO is offline... app.js?1409801439:26 Player -JOSkydof4uXodQvGqa_ is offline... app.js?1409801439:26 Player -JOSsNHkj2uZKw9klA0v is offline... app.js?1409801439:26 Player -JOSw_6eqe2okvL12Q74 is offline... app.js?1409801439:26 Player -JOUdYFJOziKrUt94zCl is offline... app.js?1409801439:26 Player -JQApdfomnwRXfhQ1_Z9 is offline... app.js?1409801439:26 Player -JRqmyjKwsRsQbWTQAS9 is offline... app.js?1409801439:26 Player -JRqnO9L3JaRf-u7Ynxh is offline... app.js?1409801439:26 Player -JTY6K2co3NpgkZeiOZc is offline... app.js?1409801439:26 Deferred finish joining... app.js?1409801439:28 Firebase Online app.js?1409801439:22 handle page changes app.js?1409801439:28 false app.js?1409801439:28 initiatlizing video chat app.js?1409801439:33 Connecting to WebRTC app.js?1409801439:33 refershing page listings! app.js:30 init active page! app.js:28 activate page! app.js:26 FULLY ACTIVATE VIEWS FOR PAGE. app.js:26 Graphics: 0 app.js:26 Paths: 0 app.js:26 refershing page listings! app.js:30 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/4837" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4837</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/4837" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4837</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/5028" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5028</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/5028" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5028</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/4334" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4334</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/4334" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4334</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/4750" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4750</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/4750" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4750</a>... app.js:25 2Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... to <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... to <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... to <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/5407" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5407</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/5407" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5407</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/5351" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5351</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/5351" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/5351</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/4750" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4750</a>... to <a href="https://s3.amazonaws.com/files.d20.io/images/4750" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/4750</a>... app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... to <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... app.js:25 2setting src app.js:25 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... to <a href="https://s3.amazonaws.com/files.d20.io/marketplace" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace</a>... app.js:25 11setting src app.js:25 Search took 14ms app.js:34 Do refresh link cache! app.js:25 2Reorder by ZORDER app.js:26 Connected to session app.js:33 Someone just connected. app.js:33 It's us? app.js:33 6Updating character sheet values app.js:29 Uncaught TypeError: Cannot read property 'push' of undefined app.js:19 window resize app.js:35 Final set zoom! app.js:23 UPDATE GL SIZE! app.js:23 Final set zoom! app.js:23 Name of the campaign is "Thass Murdon". Is there a way to fix it?
1413574563
The Aaron
Roll20 Production Team
API Scripter
Try running this script in your API: on('ready',function(){ 'use strict'; var validLayers=["gmlayer", "objects", "map", "walls"]; _.each(findObjs({ type: 'graphic', subtype: 'token' }), function(t){ if(!_.contains(validLayers,t.get('layer'))) { t.set({layer: 'objects'}); } }); });
That fixed it, thank you!
1413576301
The Aaron
Roll20 Production Team
API Scripter
No problem! Feel free to hit me up if you have any API questions. =D