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

Video & Audio connect issues when users are on same intranet

I've had ongoing problems that appear to be isolated only to users who share an intranet. My wife and I play with another couple and a single player. The single player never has issues with video and voice except in this particular game. He also plays in two other games I run on Roll20 so I can confirm that over the last 3 years his connection hasn't been an issue. The problems only occur with myself and my wife who share an intranet, and the other couple. So it appears the issue is with video/chat when used by players sharing a local area connection. Usually the issue is that only 1 person at a time on each intranet can connect. Example: Tunde &amp; Agnes (couple in Texas), Me the GM &amp; Everleigh (couple in Colorado), Brandt (single player always in different locations due to work travel) ... Tunde can log on and see video and chat. Then Agnes logs in and everybody sees her graphic avatar but she has no video or voice. If they both reconnect, one or the other will appear but almost never both. The same thing sometimes happens between me and my wife though it seems less common. Sometimes I can see everyone but players can not and no amount of reconnecting chicanery fixes it. Now here's the kicker, sometimes if I duplicate my game and have everyone jump to that one, it works fine... until the next session where the problems start over again. Last few sessions we have spent on average 30-45 minutes of troubleshooting before we can play. Players are getting frustrated, I'm getting frustrated. This is their first time playing an RPG online and so far it's been a truly demoralizing experience for them. We have recently stopped using video chat and instead talked over Discord as we play. As a GM I hate this because I want to see my player's expressions, their excitement, i feed off that. Lately I'm so beaten down by almost an hour of troubleshooting it's difficult to be enthusiastic once we finally get started. Now compare this to other games I run where all players are single players all on each their own network connections, and everything works fine in those games. It's only in the game where people share a local area connection . This has been a constant problem since we started this group. Below are links to unlisted videos that demonstrate the behavior. Note I did not capture my own volume so you won't hear me (Vin) when speaking, this is not part of the issue and was caused by a setting on the recording software. Tunde &amp; Agnes (H and Andrea) can't connect both at the same time without problems: <a href="https://youtu.be/5_CngoUJLEw" rel="nofollow">https://youtu.be/5_CngoUJLEw</a> <a href="https://youtu.be/sMqwAol8fw0" rel="nofollow">https://youtu.be/sMqwAol8fw0</a> <a href="https://youtu.be/LTnW1iJQUUQ" rel="nofollow">https://youtu.be/LTnW1iJQUUQ</a> So what is it about LAN connections that Roll20 doesn't like? How can we fix this?
Hello Vin B., I'm sorry to hear that you're having issues with the site. To rule out potential issues, we will need the ones having the issue follow the steps below. Please have them carefully work through Steps 1 through 8 of the Roll20 guide to&nbsp; Audio Visual Troubleshooting : Step 1: Make sure you’re using the most recent version of either Chrome or Firefox Please check if these issues persist when using both Chrome&nbsp; and&nbsp; Firefox. Step 2: Give Roll20 permission to use your microphone and camera Step 3: Make sure Video and Voice are turned on inside Roll20 Step 4: Clear your Web Browser’s Cache Step 5: Make sure you have the right ports open Step 6: Check if your camera is working with WebRTC Step 7: Check that your camera is functioning Step 8: Do a bandwidth test If none of the above succeeds, please thoroughly work through&nbsp; Step 9 : Step 9: Solving Technical Issues Step 9.2: Ensure that there are no extensions/addons interfering with Roll20 Please disable&nbsp; all&nbsp; add-ons/extensions. Step 9.4: Provide a bug report Please ensure that the Console Log is complete. If you have a macbook pro (or a macbook in general), try this: open a terminal and type "sudo killall VDCAssistant" to see if this solves the issue. Information can be found&nbsp; here in an Apple forum post . Thank you!
Question about Step 5. There is nothing at that link discussing open ports. Can you clarify please?
1554592022

Edited 1554592128
We performed the tests you requested as much as possible. I have a video demonstrating the issue precisely now too. 1. All browsers are up to date. &nbsp;&nbsp;&nbsp;&nbsp; Myself and my wife are both running Chrome&nbsp;73.0.3683.86 &nbsp; &nbsp; The other couple are both running FF&nbsp;66.0.2 (64-bit) quantum &nbsp; &nbsp; Other users are also running one of the above versions. 2. All users have working video and voice as you can see in the attached video 3. The video also demonstrates that voice and video are turned on and working in Roll20 4. Caches were cleared before sessions 5. Ports? There is nothing in the associated document that references ports. 6. WebRTC? As we can demonstrate that the video works in Roll20 as well as all other apps that utilize the camera I did not see a reason to run WebRTC. Cameras work not only in Roll20 but also on Cam test sites and Skype. 7. The video demonstrates that everyone's cameras are functioning. 8. All users did bandwidth tests and confirm that we are receiving uninterrupted speeds as expected. ____________________________________________________________________________ Synopsis of behavior: 1. Agnes &amp; Tunde are in house A (Texas), GM Khan &amp; Raquel M are in house B (Colorado), Brandt is in house C (Louisiana) 2. If Agnes &amp; Tunde are logged in, and only GM Khan is logged in, there are no issues. Everyone can see and hear everyone. 3. If Agnes &amp; Tunde are logged in, and both GM Khan and Raquel M are logged in, the issues begin and are unresovable by any amount of reconnects. All of the above is demonstrated in the following video. It is very obvious from the footage that everyone's cameras are working and this is not a camera issue. The behavior is specifically tied to multiple users sharing a LAN trying to connect with multiple users on another LAN. ____________________________________________________________________________ Video 1: Demonstration of all cameras working as expected <a href="https://youtu.be/mENBNHmSfP8" rel="nofollow">https://youtu.be/mENBNHmSfP8</a> 1. Agnes, Tunde, GM Khan, and Brandt all online, all video working. Can not reproduce behavior even when attempting to with multiple reconnects. Video continues for 6 minutes with no problems. ____________________________________________________________________________ Video 2: Demonstration of inability to have all users see each other <a href="https://youtu.be/DwZtjrMz7TE" rel="nofollow">https://youtu.be/DwZtjrMz7TE</a> 1. Same as before but now I am also logging into my wife's account so now we have Agnes &amp; Tunde on their LAN, myself and my wife on my own LAN, Brandt is on his own LAN solo. 2. @ 1:37 you can see everyone is logged in and everyone can see everyone. 3. @ 12:13 I Reconnect on my wife's computer and the issues begin and are never resolved. After the reconnect she can see the GM and her own video feed but nobody else, also only some of the players can see her. We then begin a game of reconnects with every user trying to reconnect. But no matter how many times we do this each player has issues seeing some other players. 4. @ 12:31 I can see all the players, but they can not all see each other. 5. @ 12:59 Agnes, Tunde and Brandt all state that they can not see Raquel M. from Raquel M's computer I can only see her own feed and the GM Feed. The GM can see everyone. Obviously all cameras are working as the GM can see them all. 6. @ 13:15 Raquel M reconnects, doesn't fix it. She can still see the GM, and the GM can see her, but the other players can not see Raquel M, nor can she see them... though all this was working fine until the reconnect. After that timestamp we all take turns reconnecting, which users can see whom changes constantly. You can see that the issue is specifically caused when two couples each sharing a LAN try to connect at the same time. Photo 1: what I see on my computer, I am missing Tunde &amp; Agnes suddenly&nbsp; Photo 2: what my wife sees simultaneously, she sees everyone. ____________________________________________________________________________ Console logs from session: v2.js?1552405573:31 JQMIGRATE: Migrate is installed with logging active, version 3.0.0 v2.js?1552405573:31 JQMIGRATE: 'ready' event is deprecated n @ v2.js?1552405573:31 v2.js?1552405573:31 console.trace n @ v2.js?1552405573:31 v2.js?1552405573:31 JQMIGRATE: jQuery.fn.bind() is deprecated n @ v2.js?1552405573:31 v2.js?1552405573:31 console.trace n @ v2.js?1552405573:31 video-and-audio-connect-issues-when-users-are-on-same-intranet:1 Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist. js-agent.newrelic.com/nr-1118.min.js:1 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) video-and-audio-connect-issues-when-users-are-on-same-intranet:1 Unchecked runtime.lastError: The message port closed before a response was received. onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Assertion failed: Input argument is not an HTMLInputElement getFormProfile @ onloadwff.js:71 setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71 onloadwff.js:71 Uncaught TypeError: Cannot read property 'type' of undefined &nbsp; &nbsp; at e.setFieldValue (onloadwff.js:71) &nbsp; &nbsp; at HTMLFormElement.formKeydownListener (onloadwff.js:71) setFieldValue @ onloadwff.js:71 formKeydownListener @ onloadwff.js:71
Thanks, Vin. I have forwarded this information to the devs.
Surprisingly, we had an almost flawless session for the very first time last Sunday. The only thing we specifically did was have my wife log in last, after everyone else was in and working. Not sure if that was related, but that was the only session since Sept. 2018 that was stable.
1555025153

Edited 1555025231
Gid
Roll20 Team
Hi Vin, What possibly could be happening is that users who are sharing the same internet connection are hitting bandwidth choke points. WebRTC is the HTML5 technology we use to make video/voice chat work natively in the browser without the use of an applet or plugin. The tricky part with WebRTC is that it is a peer-to-peer video/voice connection. Meaning that each user must make a connection to broadcast AND receive to each individual in the call, so the situation is like creating a new Skype or Discord call for every single player currently in the game, running simultaneously. If you have multiple people on the same connection, that connection is uploading and downloading twice as much video and voice data compared to a single user running Roll20 through their own internet connection. Applications like Discord and Skype are a All-to-One-to-All connections that use a client or server to handle the video and voice traffic so you're only broadcasting your video/voice only once and the client is combining the video/voice of each other participant in the call before broadcasting it all back to you. This likely explains why everything works fine when only one of the two users who share the LAN is logged into the game, but starts coming apart when you both try to log in. When we do another refactoring pass of WebRTC, we're hopefully going to be able to create the ability for users to adjust the quality of the video and audio that you broadcast and receive so you can lower the quality to not overwhelm your available bandwidth. In the meantime, some troubleshooting steps is to make sure the users who are sharing a connection don't have any other not-needed online services running in the background on your computer. Another tactic is sharing a camera/mic and one of the two user's sets their video/voice settings to not broadcast or receive any video and voice. It's not an ideal workaround, admittedly, but I hope this explanation helps identify what is likely happening here with your group.
Thanks for the answer, that makes sense. Are you aware of any settings within a standard network router that would also affect or interfere with the routing of the video feeds for both players?
Hi Vin, The first round of testing I would try to see if it can improve would be to make sure you try an Ethernet connection to your router. VoIP services can be taxing over wifi and especially when you have multiple instances, as Kristin stated. You might also try checking if your router has access to Quality of Service settings in order to assign priorities to various types of data streaming (video, audio, etc.)-- not all routers have this setting available but it is fairly easy to set up if you can. Hope this helps!
1555698311

Edited 1555699827
this could very well be an issue of network speed within the household. Streaming video - especially from two sources in the same place can work some badwidth if your network isn't prepped for it. Not only are you two broadcasting the streaming video, you have it replicated to each other as well.&nbsp; Those laptops might not have the right set up for streaming video as it requires certain levels of computing power to make it smooth. First thing I would try, is to eliminate all wireless connections during the session. On average wifi is about 50% slower than hard line connections.&nbsp; I've looked at your vids ( at least some) and a few things pop out right at the start: Your using r20 for both video and voice - i wouldnt reccomend this as you will crush the websites ability to perform for everyone. I would suggest leaving r20 for video and find something like discord for voice. It will help r20 deal with all of the data better - this solution has worked for me and my peeps. Is that chrome? If not, try switching to it as Chrome has one of the best set ups for video stuff - which includes r20 stuff and their games. Get chrome and keep that bad larry updated. Those API scripts seems to be everywhere? Maybe I just peeped some tables, but those tables seemed to be direct duplications of stuff already used - like initiative and turn orders. Maybe less can be more in this case? Not exactly sure what I saw TBH but that def wasn't a load in and play game like anyone could make in 5 min. That game seems to have been doctor'd up have you tried to clean out your game? I've ran into issues with the chat not being cleared in years and the amount of stuff required to log in was ALWAYS getting bigger each session, so cleaning out the chat box has saved me some headaches in my games for sure.&nbsp; I hope this helps!
Drespar said: Hi Vin, The first round of testing I would try to see if it can improve would be to make sure you try an Ethernet connection to your router. VoIP services can be taxing over wifi and especially when you have multiple instances, as Kristin stated. You might also try checking if your router has access to Quality of Service settings in order to assign priorities to various types of data streaming (video, audio, etc.)-- not all routers have this setting available but it is fairly easy to set up if you can. Hope this helps! Thanks. My wife is usually close enough to the router to try a direct connection via Ethernet. We'll try that this Sunday. As I mentioned, it worked well last session but I was particular in the login order, I made my wife log in only after everyone was already in. No idea if that was what made it stable. I'm very aware of all the devices connected to the wi-fi and their usage. I'm fairly certain this is not a bandwidth issue. The Quality of Service is something I will check my router for. Thanks for that. Now I've got a few things to try, we'll test these on our next session. Cheers!