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 .
×
This post has been closed. You can still view previous posts, but you can't post any new replies.

Stuck with - Previous shutdown complete, starting up...

I have two campaigns and both sandboxes give me this message. Seems that I there is nothing working API wise. I've attempted using firefox instead of Chromium... no dice. Any suggestions?
1560916062
Kraynic
Pro
Sheet Author
Do you have the game launched and running in another tab?  If the game isn't active you will always get that message. (From my experience, anyway.)
Yup I have the game launched in one tab and the scripts in another. Even the dev server is doing this. I just had a billing issue that I rectified after my subscription stopped... Wondering if they have a bug. I paid up for a year but... looks like I have all of the perks.. but no api
Hello Kevin B., I am sorry to hear that you have encountered this issue.  To rule out potential issues and provide a baseline for assistance,  please carefully work through these steps of our guide to   Solving Technical Issues ? Step 1: Make sure to use the right browser Please check if these issues persist when using both Chrome  and  Firefox. Step 2: Ensure that there are no extensions/addons interfering with Roll20 Please disable  all  add-ons/extensions. Step 3: Clear your cache If none of the above succeeds, please provide the names of the campaigns and thoroughly work through  Step 4 .  (Don't forget the complete Console Log!) Thank you!
Steps to Reproduce Open up the game in one tab Open up the api sandbox interface in another Attempt to load, unload, or any combination of that with site provided scripts. Hit restart sandbox Observe the error (see screenshot below). This is all that I can get as a response...&nbsp; Previous shutdown complete, starting up... Restarting sandbox due to script changes... Previous shutdown complete, starting up... Environment Details Web Browser Chrome Browser Version 75.0.3770.8 Operating System Linux If Javascript is enabled yes Your anti-virus software clamav List of any browser add-ons or extensions enabled none Screenshot of the Problem in Action Console Log of the Tab for the API Navigated to <a href="https://app.roll20.net/campaigns/scripts/4786495" rel="nofollow">https://app.roll20.net/campaigns/scripts/4786495</a> v2.js?1559663001:57 JQMIGRATE: Migrate is installed with logging active, version 3.0.0 v2.js?1559663001:57 JQMIGRATE: jQuery.fn.bind() is deprecated n @ v2.js?1559663001:57 bind @ v2.js?1559663001:57 (anonymous) @ browse.js?1559663001:610 d @ v2.js?1559663001:51 h @ v2.js?1559663001:51 setTimeout (async) (anonymous) @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 fire @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 ready @ v2.js?1559663001:51 h @ v2.js?1559663001:50 v2.js?1559663001:57 console.trace n @ v2.js?1559663001:57 bind @ v2.js?1559663001:57 (anonymous) @ browse.js?1559663001:610 d @ v2.js?1559663001:51 h @ v2.js?1559663001:51 setTimeout (async) (anonymous) @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 fire @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 ready @ v2.js?1559663001:51 h @ v2.js?1559663001:50 [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; v2.js?1559663001:51 [Violation] 'setTimeout' handler took 119ms v2.js?1559663001:52 XHR finished loading: GET "<a href="https://app.roll20.net/cache/featuredMarketplace.html?1560886146" rel="nofollow">https://app.roll20.net/cache/featuredMarketplace.html?1560886146</a>". send @ v2.js?1559663001:52 ajax @ v2.js?1559663001:52 t.ajax @ v2.js?1559663001:57 xt.&lt;computed&gt; @ v2.js?1559663001:52 (anonymous) @ 4786495:575 d @ v2.js?1559663001:51 h @ v2.js?1559663001:51 setTimeout (async) (anonymous) @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 fire @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 ready @ v2.js?1559663001:51 h @ v2.js?1559663001:50 v2.js?1559663001:52 XHR finished loading: GET "<a href="https://app.roll20.net/cache/featuredComms.html?1560886146" rel="nofollow">https://app.roll20.net/cache/featuredComms.html?1560886146</a>". send @ v2.js?1559663001:52 ajax @ v2.js?1559663001:52 t.ajax @ v2.js?1559663001:57 xt.&lt;computed&gt; @ v2.js?1559663001:52 (anonymous) @ 4786495:578 d @ v2.js?1559663001:51 h @ v2.js?1559663001:51 setTimeout (async) (anonymous) @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 fire @ v2.js?1559663001:51 u @ v2.js?1559663001:51 fireWith @ v2.js?1559663001:51 ready @ v2.js?1559663001:51 h @ v2.js?1559663001:50 4786495:1490 Auth success! ace.js:1 Use of document.insertLines is deprecated. Use the insertFullLines method instead. insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 ace.js:1 Automatically scrolling cursor into view after selection change this will be disabled in the next version set editor.$blockScrolling = Infinity to disable this message o @ ace.js:1 onCursorChange @ ace.js:1 r._emit.r._dispatchEvent @ ace.js:1 (anonymous) @ ace.js:1 r._signal @ ace.js:1 setPosition @ ace.js:1 onChange @ ace.js:1 r._signal @ ace.js:1 applyDelta @ ace.js:1 insertMergedLines @ ace.js:1 insertFullLines @ ace.js:1 insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 ace.js:1 Use of document.insertLines is deprecated. Use the insertFullLines method instead. insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 ace.js:1 Automatically scrolling cursor into view after selection change this will be disabled in the next version set editor.$blockScrolling = Infinity to disable this message o @ ace.js:1 onCursorChange @ ace.js:1 r._emit.r._dispatchEvent @ ace.js:1 (anonymous) @ ace.js:1 r._signal @ ace.js:1 setPosition @ ace.js:1 onChange @ ace.js:1 r._signal @ ace.js:1 applyDelta @ ace.js:1 insertMergedLines @ ace.js:1 insertFullLines @ ace.js:1 insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 ace.js:1 Use of document.insertLines is deprecated. Use the insertFullLines method instead. insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 ace.js:1 Automatically scrolling cursor into view after selection change this will be disabled in the next version set editor.$blockScrolling = Infinity to disable this message o @ ace.js:1 onCursorChange @ ace.js:1 r._emit.r._dispatchEvent @ ace.js:1 (anonymous) @ ace.js:1 r._signal @ ace.js:1 setPosition @ ace.js:1 onChange @ ace.js:1 r._signal @ ace.js:1 applyDelta @ ace.js:1 insertMergedLines @ ace.js:1 insertFullLines @ ace.js:1 insertLines @ ace.js:1 (anonymous) @ 4786495:1493 (anonymous) @ firebase.js?2:85 fc @ firebase.js?2:39 yd @ firebase.js?2:85 wd.Eb @ firebase.js?2:85 zd.Eb @ firebase.js?2:86 (anonymous) @ firebase.js?2:103 Ec @ firebase.js?2:51 (anonymous) @ firebase.js?2:103 Sa @ firebase.js?2:20 Wd @ firebase.js?2:103 W @ firebase.js?2:103 r.Yb @ firebase.js?2:111 r.Xb @ firebase.js?2:77 Uc.Xb @ firebase.js?2:71 (anonymous) @ firebase.js?2:69 Rc @ firebase.js?2:65 W.onmessage @ firebase.js?2:64 Console Log of the Tab of the Game Running app.roll20.net/:12 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 <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-+/U98HoFsMRsVaCiKOPY1EA/z8bl8iNIE5Jl51+s+rg='), or a nonce ('nonce-...') is required to enable inline execution. app.roll20.net/:13 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 <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-+3W9zufhVFpD1XwP4aFx3yWExD//7uoJ+EnLO3a9V0Q='), or a nonce ('nonce-...') is required to enable inline execution. Navigated to <a href="https://app.roll20.net/editor/" rel="nofollow">https://app.roll20.net/editor/</a> jquery.migrate.js:20 JQMIGRATE: Logging is active app.roll20.net/:5361 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 <a href="https://partner.googleadservices.com" rel="nofollow">https://partner.googleadservices.com</a> <a href="https://www.googletagservices.com" rel="nofollow">https://www.googletagservices.com</a> <a href="https://ssl.google-analytics.com" rel="nofollow">https://ssl.google-analytics.com</a> <a href="https://www.google-analytics.com" rel="nofollow">https://www.google-analytics.com</a> <a href="https://ajax.googleapis.com" rel="nofollow">https://ajax.googleapis.com</a> <a href="http://ajax.googleapis.com" rel="nofollow">http://ajax.googleapis.com</a> <a href="https://d3clqjduf2gvxg.cloudfront.net" rel="nofollow">https://d3clqjduf2gvxg.cloudfront.net</a> <a href="https://cdn.firebase.com" rel="nofollow">https://cdn.firebase.com</a> https://*.firebaseio.com https://*.tokbox.com https://*.opentok.com <a href="http://static.opentok.com" rel="nofollow">http://static.opentok.com</a> <a href="http://www.google-analytics.com" rel="nofollow">http://www.google-analytics.com</a> <a href="http://cdn.crowdin.com" rel="nofollow">http://cdn.crowdin.com</a> <a href="https://crowdin.com" rel="nofollow">https://crowdin.com</a> <a href="http://stun.l.google.com" rel="nofollow">http://stun.l.google.com</a>". Either the 'unsafe-inline' keyword, a hash ('sha256-vileAyXucIHIT+3pbOzFP62jSSQqBYQ/DZ/WZAa5v4Y='), or a nonce ('nonce-...') is required to enable inline execution. app.js?1560872381:541 70 app.js?1560872381:543 TOUCH SUPPORTED: false app.js?1560872381:543 USING WEBGL ACCELERATION... app.js?1560872381:543 WEBGL STARTUP SUCCESS [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; [Violation] Added non-passive event listener to a scroll-blocking &lt;some&gt; event. Consider marking event handler as 'passive' to make the page more responsive. See &lt;URL&gt; app.js?1560872381:545 Custom Sheet Translation app.js?1560872381:536 select app.js?1560872381:536 Switch mode to select app.js?1560872381:557 Initializing new dice engine with randomness... app.js?1560872381:557 Using random entropy app.js?1560872381:560 Compiling sheet... app.js?1560872381:560 Found rolltemplate: simple app.js?1560872381:560 Found rolltemplate: atk app.js?1560872381:560 Found rolltemplate: dmg app.js?1560872381:560 Found rolltemplate: atkdmg app.js?1560872381:560 Found rolltemplate: desc app.js?1560872381:560 Found rolltemplate: spell app.js?1560872381:560 Found rolltemplate: traits app.js?1560872381:560 Found rolltemplate: npc app.js?1560872381:560 Found rolltemplate: npcatk app.js?1560872381:560 Found rolltemplate: npcdmg app.js?1560872381:560 Found rolltemplate: npcaction app.js?1560872381:560 Found rolltemplate: mancerroll app.js?1560872381:560 Found rolltemplate: mancerhproll app.js?1560872381:560 Found Charactermancer Repeating Section: topbar app.js?1560872381:560 Found Charactermancer Repeating Section: leveler-topbar app.js?1560872381:560 Found Charactermancer Repeating Section: row app.js?1560872381:560 Found Charactermancer Repeating Section: utilityrow app.js?1560872381:560 Found Charactermancer Repeating Section: choose app.js?1560872381:560 Found Charactermancer Repeating Section: custom-proficiency app.js?1560872381:560 Found Charactermancer Repeating Section: custom-trait app.js?1560872381:560 Found Charactermancer Repeating Section: spell-holder app.js?1560872381:560 Found Charactermancer Repeating Section: spell-item app.js?1560872381:560 Found Charactermancer Repeating Section: asi-row app.js?1560872381:560 Found Charactermancer Repeating Section: hpbylevel app.js?1560872381:560 Found Charactermancer Template: l1-welcome app.js?1560872381:560 Found Charactermancer Template: l1-race app.js?1560872381:560 Found Charactermancer Template: l1-class app.js?1560872381:560 Found Charactermancer Template: l1-abilities app.js?1560872381:560 Found Charactermancer Template: l1-background app.js?1560872381:560 Found Charactermancer Template: l1-equipment app.js?1560872381:560 Found Charactermancer Template: l1-spells app.js?1560872381:560 Found Charactermancer Template: l1-feat app.js?1560872381:560 Found Charactermancer Template: l1-bio app.js?1560872381:560 Found Charactermancer Template: l1-summary app.js?1560872381:560 Found Charactermancer Template: final app.js?1560872381:560 Found Charactermancer Template: lp-welcome app.js?1560872381:560 Found Charactermancer Template: lp-levels app.js?1560872381:560 Found Charactermancer Template: lp-choices app.js?1560872381:560 Found Charactermancer Template: lp-asi app.js?1560872381:560 Found Charactermancer Template: lp-spells app.js?1560872381:560 Found Charactermancer Template: lp-summary app.js?1560872381:560 Found Charactermancer Template: lp-spellchoice app.js?1560872381:560 Found webworker script app.js?1560872381:560 Finding sheet rolls... app.js?1560872381:561 Including compendium template css. app.js?1560872381:563 window resize app.js?1560872381:543 Final set zoom! app.js?1560872381:542 UPDATE GL SIZE! app.js?1560872381:543 Final set zoom! tutorial_tips.js:7 tuts loaded jquery-1.9.1.js:98 [Violation] 'DOMContentLoaded' handler took 2425ms Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. Mixed Content: The page at '&lt;URL&gt;' was loaded over HTTPS, but requested an insecure image '&lt;URL&gt;'. This content should also be served over HTTPS. [Violation] Forced reflow while executing JavaScript took 48ms app.js?1560872381:551 Final page load. [Violation] 'setTimeout' handler took &lt;N&gt;ms [Violation] 'setTimeout' handler took &lt;N&gt;ms [Violation] 'setTimeout' handler took &lt;N&gt;ms [Violation] 'setTimeout' handler took &lt;N&gt;ms [Violation] 'setTimeout' handler took &lt;N&gt;ms sheetsandboxworker.js?1560932355591:682 Starting up WEB WORKER app.js?1560872381:563 Refresh jukebox List! XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". XHR finished loading: GET "&lt;URL&gt;". app.js?1560872381:551 Scan for new plays! app.js?1560872381:549 Auth'ed. app.js?1560872381:549 Go post auth! app.js?1560872381:549 initial setup app.js?1560872381:563 T.i {collection: T.i, attributes: {…}, _escapedAttributes: {…}, cid: "c6", changed: {…}, …} app.js?1560872381:563 Refresh jukebox List! app.js?1560872381:547 T.i {attributes: {…}, _escapedAttributes: {…}, cid: "c0", changed: {…}, _silent: {…}, …} app.js?1560872381:563 T.i {collection: T.i, attributes: {…}, _escapedAttributes: {…}, cid: "c6", changed: {…}, …} app.js?1560872381:563 Refresh jukebox List! app.js?1560872381:549 Got players value... app.js?1560872381:550 joining game... app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:547 Full load page! app.js?1560872381:549 We have 9 pages [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms [Violation] 'message' handler took &lt;N&gt;ms app.js?1560872381:555 refershing page listings! app.js?1560872381:548 Player -LhhnzbjaY8q37lalCZz is offline... app.js?1560872381:548 Global Volume: 100=1 app.js?1560872381:548 Player -LhhuorbEGl3rGq5oZ2V is offline... app.js?1560872381:548 Player -Lhhz3uKt9ctT9ljmg7q is offline... app.js?1560872381:548 Player -Lhi-9O7oveRa0LJhepf is offline... app.js?1560872381:550 Deferred finish joining... app.js?1560872381:541 Firebase Online app.js?1560872381:560 Refresh Journal List! app.js?1560872381:560 Search took 109ms app.js?1560872381:549 handle page changes app.js?1560872381:549 false jquery-1.9.1.js:8526 XHR finished loading: POST "<a href="https://app.roll20.net/image_library/validatefolderstructure/" rel="nofollow">https://app.roll20.net/image_library/validatefolderstructure/</a>". send @ jquery-1.9.1.js:8526 ajax @ jquery-1.9.1.js:7978 jQuery.&lt;computed&gt; @ jquery-1.9.1.js:7614 d20.library.validateFolderStructure @ app.js?1560872381:569 (anonymous) @ app.js?1560872381:548 (anonymous) @ base.js?1559238463:6 setTimeout (async) C.delay @ base.js?1559238463:6 C.defer @ base.js?1559238463:6 initialize @ app.js?1560872381:548 t.Model @ base.js?1559238463:7 T.i @ base.js?1559238463:8 _prepareModel @ base.js?1559238463:7 add @ base.js?1559238463:7 reset @ base.js?1559238463:7 (anonymous) @ app.js?1560872381:549 (anonymous) @ firebase.2.4.0.js:201 gc @ firebase.2.4.0.js:52 cc @ firebase.2.4.0.js:30 dc @ firebase.2.4.0.js:29 h.Kb @ firebase.2.4.0.js:220 h.Ld @ firebase.2.4.0.js:188 Eh.Ld @ firebase.2.4.0.js:178 (anonymous) @ firebase.2.4.0.js:176 yh @ firebase.2.4.0.js:170 La.onmessage @ firebase.2.4.0.js:169 app.js?1560872381:555 refershing page listings! app.js?1560872381:551 Scan for new plays! app.js?1560872381:550 init active page! app.js?1560872381:547 activate page! app.js?1560872381:547 FULLY ACTIVATE VIEWS FOR PAGE. app.js?1560872381:545 Do refresh link cache! app.js?1560872381:547 Graphics: 0 app.js?1560872381:547 Paths: 0 app.js?1560872381:555 refershing page listings! app.js?1560872381:560 Refresh Journal List! app.js?1560872381:560 Search took 112ms app.js?1560872381:547 Reorder by ZORDER jquery-1.9.1.js:8526 XHR finished loading: POST "<a href="https://app.roll20.net/editor/audiourl/bb" rel="nofollow">https://app.roll20.net/editor/audiourl/bb</a>". send @ jquery-1.9.1.js:8526 ajax @ jquery-1.9.1.js:7978 jQuery.&lt;computed&gt; @ jquery-1.9.1.js:7614 (anonymous) @ app.js?1560872381:551 C.each.C.forEach @ base.js?1559238463:6 u.&lt;computed&gt; @ base.js?1559238463:7 _scanForNewPlays @ app.js?1560872381:551 r @ base.js?1559238463:6 setTimeout (async) (anonymous) @ base.js?1559238463:6 (anonymous) @ app.js?1560872381:548 trigger @ base.js?1559238463:7 (anonymous) @ app.js?1560872381:548 (anonymous) @ base.js?1559238463:6 setTimeout (async) C.delay @ base.js?1559238463:6 C.defer @ base.js?1559238463:6 initialize @ app.js?1560872381:548 t.Model @ base.js?1559238463:7 T.i @ base.js?1559238463:8 _prepareModel @ base.js?1559238463:7 add @ base.js?1559238463:7 reset @ base.js?1559238463:7 (anonymous) @ app.js?1560872381:549 (anonymous) @ firebase.2.4.0.js:201 gc @ firebase.2.4.0.js:52 cc @ firebase.2.4.0.js:30 dc @ firebase.2.4.0.js:29 h.Kb @ firebase.2.4.0.js:220 h.Ld @ firebase.2.4.0.js:188 Eh.Ld @ firebase.2.4.0.js:178 (anonymous) @ firebase.2.4.0.js:176 yh @ firebase.2.4.0.js:170 La.onmessage @ firebase.2.4.0.js:169 app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:542 new caster! app.js?1560872381:563 T.i {collection: T.i, attributes: {…}, _escapedAttributes: {…}, cid: "c6", changed: {…}, …} app.js?1560872381:563 Refresh jukebox List! app.js?1560872381:94 Uncaught (in promise) DOMException play @ app.js?1560872381:94 r @ app.js?1560872381:551 (anonymous) @ app.js?1560872381:551 fire @ jquery-1.9.1.js:1037 fireWith @ jquery-1.9.1.js:1148 done @ jquery-1.9.1.js:8074 callback @ jquery-1.9.1.js:8598 XMLHttpRequest.send (async) send @ jquery-1.9.1.js:8526 ajax @ jquery-1.9.1.js:7978 jQuery.&lt;computed&gt; @ jquery-1.9.1.js:7614 (anonymous) @ app.js?1560872381:551 C.each.C.forEach @ base.js?1559238463:6 u.&lt;computed&gt; @ base.js?1559238463:7 _scanForNewPlays @ app.js?1560872381:551 r @ base.js?1559238463:6 setTimeout (async) (anonymous) @ base.js?1559238463:6 (anonymous) @ app.js?1560872381:548 trigger @ base.js?1559238463:7 (anonymous) @ app.js?1560872381:548 (anonymous) @ base.js?1559238463:6 setTimeout (async) C.delay @ base.js?1559238463:6 C.defer @ base.js?1559238463:6 initialize @ app.js?1560872381:548 t.Model @ base.js?1559238463:7 T.i @ base.js?1559238463:8 _prepareModel @ base.js?1559238463:7 add @ base.js?1559238463:7 reset @ base.js?1559238463:7 (anonymous) @ app.js?1560872381:549 (anonymous) @ firebase.2.4.0.js:201 gc @ firebase.2.4.0.js:52 cc @ firebase.2.4.0.js:30 dc @ firebase.2.4.0.js:29 h.Kb @ firebase.2.4.0.js:220 h.Ld @ firebase.2.4.0.js:188 Eh.Ld @ firebase.2.4.0.js:178 (anonymous) @ firebase.2.4.0.js:176 yh @ firebase.2.4.0.js:170 La.onmessage @ firebase.2.4.0.js:169 [Violation] Forced reflow while executing JavaScript took 32ms app.js?1560872381:547 Reorder by ZORDER jquery-1.9.1.js:8529 [Violation] 'readystatechange' handler took 401ms app.js?1560872381:546 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/thumb.png?14978104305" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/thumb.png?14978104305</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/max.png?14978104305" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/max.png?14978104305</a> app.js?1560872381:540 Executing swap, new source:&nbsp; <a href="https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/max.png?14978104305" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717189/cj6jRcZAjTUZLCyD-5-zyw/max.png?14978104305</a> app.js?1560872381:546 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/thumb.jpg?14978106815" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/thumb.jpg?14978106815</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/original.jpg?14978106815" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/original.jpg?14978106815</a> app.js?1560872381:540 Executing swap, new source:&nbsp; <a href="https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/original.jpg?14978106815" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717495/tqvoxEujIj6h0ekkD7h1Wg/original.jpg?14978106815</a> app.js?1560872381:546 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/thumb.png?14978107785" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/thumb.png?14978107785</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/med.png?14978107785" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/med.png?14978107785</a> app.js?1560872381:540 Executing swap, new source:&nbsp; <a href="https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/med.png?14978107785" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717722/kg4xKuJ1SlA2VbNqzW-fPw/med.png?14978107785</a> app.js?1560872381:546 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/thumb.png?14978108365" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/thumb.png?14978108365</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/med.png?14978108365" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/med.png?14978108365</a> app.js?1560872381:540 Executing swap, new source:&nbsp; <a href="https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/med.png?14978108365" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717786/nePMLAvLBW9R8_sykTYGEA/med.png?14978108365</a> app.js?1560872381:542 new lamp app.js?1560872381:542 new lamp app.js?1560872381:543 [Violation] 'requestAnimationFrame' handler took 60ms app.js?1560872381:546 Swapping <a href="https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/thumb.png?14978104015" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/thumb.png?14978104015</a> to <a href="https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/max.png?14978104015" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/max.png?14978104015</a> app.js?1560872381:540 Executing swap, new source:&nbsp; <a href="https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/max.png?14978104015" rel="nofollow">https://s3.amazonaws.com/files.d20.io/images/34717161/UpsjT7yepD0wCot9Ph0VHw/max.png?14978104015</a> app.js?1560872381:542 new lamp app.js?1560872381:543 [Violation] 'requestAnimationFrame' handler took 64ms app.js?1560872381:547 Reorder by ZORDER app.js?1560872381:543 [Violation] 'requestAnimationFrame' handler took 66ms app.js?1560872381:543 [Violation] 'requestAnimationFrame' handler took 58ms
Whatever you just did fixed it! Scripting just came alive! Curious... was it tied to my billing?
Nope its broken again
Are the docker instances backing up the sandboxes borked?
One thing I did after it started working for the first time in a long time was open up my other campaign to compare notes on what I was using. Maybe having two instances open at the same time is problematic?
1560963189
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Possibility: Are you opening the game and the API from bookmarks, or both from the Game home page? I.e. could the API page be referring to the other game?
From their respective game home page. I had both instances up to copy settings and scripts that I was using in strahd. Maybe having two instances up at that same time does something funky on the backend?&nbsp;
1560964713
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
That can cause funny stuff to happen, yes. I generally copy scripts with both campaigns closed. If you need to have both open for reference, best practice is to either open one in a Private Browsing window, or another browser entirely. On Chrome, you could also use two different Chrome IDs.
Cool good to know!
Hello Kevin B., Just to clarify, does following the advice of keithcurtis help resolve your issue?
I thought that all was well... but now its back to doing it again. Just in one game... added a few scripts and blamo! Restarted..&nbsp; Previous shutdown complete, starting up... Restarting sandbox due to script changes... Previous shutdown complete, starting up...
Roll 20 reached out to me via email as well. I tried but sigh... stuck still. For some odd reason scripting was working for a few hours... but then it died again... Hello, Thank you for reaching out and sorry for any troubles! We will do everything we can to get you taken care of so you can resume normal family game night!&nbsp; The API is a bit tricky to troubleshoot, so let's try these few steps first: Exit out of all instances/windows/tabs of Roll20 Reopen&nbsp; one &nbsp;instance of Roll20 Log out and back in to your Roll20 account Pick only&nbsp; one &nbsp;game to use for troubleshooting Restart the API Scripts Sandbox for that game Now have open two instances of Roll20 - one for the API Output Console and one for entering the game Re-enter your game Review your API Output Console and let me know the results Again, please attempt those steps first and let me know the results of your API Output Console. Afterward, we will evaluate what further troubleshooting may be needed.
One thing I've noticed is that the "reveal areas" does not render the black selection rectangle when this problem is occurring.&nbsp; When it was mysteriously working the reveal area tool started rendering again..
Okay.... so my daughter logged in and join the game and it was all good again
Hello Kevin B., Since Roll20 has been in contact with you via email, especially with those steps regarding the API, please continue to follow up with them there. They will be able to provide you additional assistance better than what can be done here. Especially if you are only having intermittent problems. Thanks! Edit: I am going to go ahead and close this post since it is being handled by email.