Problem: Many points of interaction on the virtual tabletop are consistently slow. Right-click panning, Zooming using the zoom bar or mouse wheel, selected a new tool on the toolbar, and interacting with tokens is choppy. As far as I can tell there is about 1s between states (not sure if that’s the right term. Basically it will zoom a bit, freeze for 1s, zoom a bit more, freeze for 1s, then zoom the rest of the way. The same thing applies to token bubbles popping up, tools activating, etc. Reproducing the Problem: 1. Click ‘Join Game’. Wait for game to load 2. Map loads up slowly, with ~1s gaps between assets rendering. 3. Game consistency runs slow, as mentioned above, until I click Exit Game. Browser: Google Chrome Version 65.0.3325.181 Extensions: Adblock Plus, Application Launcher for Drive, Google Docs Offline, Google Hangouts, Pinterest Save Button, FireShot, User-Agent Switcher for Google Chrome, Window Resizer, Google Docs, Google Sheets OS: Mac OSX El Capitan (v. 10.11.5) Bug Triage: Step 1: Switching to Firefox Quantum causes no issues. Step 2: Problem persists after deactivating extensions and reloading browser. Step 3: Problem persists after clearing cache. Step 4: 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-CXqi5b63knUpa6wlB2kKInaLbN1vO8nYlknG8gBZgaw='), or a nonce ('nonce-...') is required to enable inline execution.
/editor/: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-k8Kx+oSRaLZ+X7/r67j0Mow6bzS2pemyX++9YAOg3BU='), or a nonce ('nonce-...') is required to enable inline execution.
app.js?1522337823:84 70
app.js?1522337823:85 TOUCH SUPPORTED: false
app.js?1522337823:85 USING WEBGL ACCELERATION...
app.js?1522337823:85 WEBGL STARTUP SUCCESS
app.js?1522337823:86 Custom Sheet Translation
app.js?1522337823:79 select
app.js?1522337823:79 Switch mode to select
app.js?1522337823:96 Initializing new dice engine with randomness...
app.js?1522337823:96 Using random entropy
app.js?1522337823:99 Compiling sheet...
app.js?1522337823:99 Found rolltemplate: simple
app.js?1522337823:99 Found rolltemplate: atk
app.js?1522337823:99 Found rolltemplate: dmg
app.js?1522337823:99 Found rolltemplate: atkdmg
app.js?1522337823:99 Found rolltemplate: desc
app.js?1522337823:99 Found rolltemplate: spell
app.js?1522337823:99 Found rolltemplate: traits
app.js?1522337823:99 Found rolltemplate: npc
app.js?1522337823:99 Found rolltemplate: npcatk
app.js?1522337823:99 Found rolltemplate: npcdmg
app.js?1522337823:99 Found rolltemplate: npcaction
app.js?1522337823:99 Found webworker script
app.js?1522337823:99 Finding sheet rolls...
app.js?1522337823:99 Including compendium template css.
app.js?1522337823:101 window resize
app.js?1522337823:85 Final set zoom!
app.js?1522337823:85 UPDATE GL SIZE!
app.js?1522337823:85 Final set zoom!
tutorial_tips.js:7 tuts loaded
6Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure image '<URL>'. This content should also be served over HTTPS.
app.js?1522337823:94 MESSAGE RECEIVED
app.js?1522337823:94 MessageEvent {isTrusted: true, data: {…}, origin: "<a href="https://app.roll20.net" rel="nofollow">https://app.roll20.net</a>", lastEventId: "", source: Window, …}
sheetsandboxworker.js?20170926:260 Starting up WEB WORKER
app.js?1522337823:91 Final page load.
app.js?1522337823:101 Refresh jukebox List!
app.js?1522337823:91 Auth'ed.
app.js?1522337823:91 Go post auth!
app.js?1522337823:91 initial setup
app.js?1522337823:101 Refresh jukebox List!
app.js?1522337823:89 T.s {attributes: {…}, _escapedAttributes: {…}, cid: "c0", changed: {…}, _silent: {…}, …}
app.js?1522337823:101 Refresh jukebox List!
app.js?1522337823:91 Got players value...
app.js?1522337823:91 joining game...
app.js?1522337823:89 Player -L4KEJAWB9lTr59wtzgB is offline...
app.js?1522337823:14 THREE.WebGLRenderer 69
app.js?1522337823:89 Global Volume: 50=0.25
app.js?1522337823:89 Player -L4Noah2bE2EuL64WI9T is offline...
app.js?1522337823:89 Player -L4TEwqaTKxhIS5qkOSR is offline...
app.js?1522337823:89 Player -L4TNgjuGmOBcz4TOmEw is offline...
app.js?1522337823:89 Player -L4UOQDWq-HNh7OQ_70p is offline...
app.js?1522337823:89 Player -L4b1fwf8uRUCmCtabbI is offline...
app.js?1522337823:89 Player -L8oFrjuDEx5dsoXRD0I is offline...
app.js?1522337823:91 Deferred finish joining...
app.js?1522337823:84 Firebase Online
app.js?1522337823:94 refershing page listings!
40app.js?1522337823:88 Full load page!
app.js?1522337823:91 We have 54 pages
app.js?1522337823:98 Refresh Journal List!
app.js?1522337823:98 Search took 22ms
app.js?1522337823:91 Scan for new plays!
app.js?1522337823:91 handle page changes
app.js?1522337823:91 false
app.js?1522337823:91 init active page!
app.js?1522337823:88 activate page!
app.js?1522337823:88 FULLY ACTIVATE VIEWS FOR PAGE.
app.js?1522337823:101 Refresh jukebox List!
app.js?1522337823:87 Do refresh link cache!
app.js?1522337823:88 Graphics: 49
app.js?1522337823:88 Paths: 74
app.js?1522337823:94 refershing page listings!
app.js?1522337823:98 Refresh Journal List!
app.js?1522337823:98 Search took 193ms
74app.js?1522337823:84 new caster!
app.js?1522337823:88 Reorder by ZORDER
app.js?1522337823:88 Reorder by ZORDER
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/thumb.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/thumb.jpg?1498485029&15048186855</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075</a>
2app.js?1522337823:84 new lamp
3app.js?1522337823:88 setting src
app.js?1522337823:83 Cols: 4 Rows: 3
app.js?1522337823:83 Took 1ms to generate cache.
app.js?1522337823:88 Reorder by ZORDER
app.js?1522337823:85 Final set zoom!
app.js?1522337823:85 (2) [956, 1928]
app.js?1522337823:85 UPDATE GL SIZE!
app.js?1522337823:85 Debounced init page!
app.js?1522337823:91 init active page!
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075</a>
app.js?1522337823:88 setting src
app.js?1522337823:94 refershing page listings!
app.js?1522337823:85 Final set zoom!
app.js?1522337823:85 (2) [955.8333333333335, 1927.5]
app.js?1522337823:85 UPDATE GL SIZE!
app.js?1522337823:84 new lamp
app.js?1522337823:85 Debounced init page!
app.js?1522337823:91 init active page!
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/med.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/med.png?1498505190&15048187045</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075</a>
app.js?1522337823:88 setting src
2app.js?1522337823:84 new lamp
app.js?1522337823:94 refershing page listings!
app.js?1522337823:85 Final set zoom!
app.js?1522337823:85 (2) [1749.5098039215686, 1927.9411764705883]
app.js?1522337823:85 UPDATE GL SIZE!
app.js?1522337823:88 setting src
app.js?1522337823:85 Debounced init page!
app.js?1522337823:91 init active page!
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/med.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/med.png?1498505190&15048187045</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/med.png?1498505213&15048187075</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075</a>
5app.js?1522337823:84 new lamp
app.js?1522337823:94 refershing page listings!
4app.js?1522337823:88 setting src
app.js?1522337823:83 Cols: 2 Rows: 2
app.js?1522337823:83 Took 0ms to generate cache.
app.js?1522337823:85 Final set zoom!
app.js?1522337823:85 (2) [4906.578947368421, 1543.421052631579]
app.js?1522337823:85 UPDATE GL SIZE!
app.js?1522337823:85 Debounced init page!
app.js?1522337823:91 init active page!
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/max.jpg?1498485029&15048186855</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369913/7LYdcrGlKM-R4Tu8MyHaqA/original.jpg?1498485029&15048186855</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/thumb.png?1498505190&15048187045</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369920/kGBYzLMC0AYAGXnIhKZu9g/max.png?1498505190&15048187045</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/thumb.png?1498505213&15048187075</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369921/sRtzIuhNQxNq4XjdGDaQjA/max.png?1498505213&15048187075</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369922/wJOpqYstSjt1zQ3MH575Gg/thumb.png?1498505237&15048187095" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369922/wJOpqYstSjt1zQ3MH575Gg/thumb.png?1498505237&15048187095</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369922/wJOpqYstSjt1zQ3MH575Gg/med.png?1498505237&15048187095" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369922/wJOpqYstSjt1zQ3MH575Gg/med.png?1498505237&15048187095</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369923/v-giFgsMidX5fZHTGNWMrg/thumb.png?14985052375&15048187125" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369923/v-giFgsMidX5fZHTGNWMrg/thumb.png?14985052375&15048187125</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369923/v-giFgsMidX5fZHTGNWMrg/med.png?14985052375&15048187125" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369923/v-giFgsMidX5fZHTGNWMrg/med.png?14985052375&15048187125</a>
app.js?1522337823:88 Swapping <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369934/reWnjClS4OVJONbMtaMrOA/thumb.png?14998813865&15048187425" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369934/reWnjClS4OVJONbMtaMrOA/thumb.png?14998813865&15048187425</a> to <a href="https://s3.amazonaws.com/files.d20.io/marketplace/369934/reWnjClS4OVJONbMtaMrOA/med.png?14998813865&15048187425" rel="nofollow">https://s3.amazonaws.com/files.d20.io/marketplace/369934/reWnjClS4OVJONbMtaMrOA/med.png?14998813865&15048187425</a>
3app.js?1522337823:88 setting src
app.js?1522337823:83 Cols: 4 Rows: 3
app.js?1522337823:83 Took 1ms to generate cache.
app.js?1522337823:94 refershing page listings!
3app.js?1522337823:88 setting src