Viewer Troubleshooting Guide - Screenleap/support GitHub Wiki

General

What ports do I need to allow in my firewall to allow for viewing a screen share?

You need to allow outbound HTTP (port 80) and HTTPS (port 443) traffic.

What domains do I need to whitelist in my firewall to allow for viewing a screen share?

You need to allow the screenleap.com domain and all of its subdomains:

http://*.screenleap.com/*
https://*.screenleap.com/*

When I click on a link to an old viewer URL, I am told that the screen share could not be found. Shouldn't it report that the screen share has already ended?

Unfortunately, because we re-use screen share codes after a period of time, it is not possible for us to determine if an old viewer URL is for a screen share that has already ended or whether it doesn't exist.

What are the scenarios in which a viewer would be switched from using WebSockets to image src load for a viewer?

There are two scenarios in which a viewer would be switched from using WebSockets to image src load:

  • The viewer page is attempting to make an initial image WebSocket connection to the app server and isn't able to successfully do so for more than 15 seconds.
  • The viewer page attempts to reconnect to the app server using a WebSocket connection and fails to get to the OPEN state after 5 attempts.
  • If the viewer image WebSocket has more than one reconnect attempts without receiving a image frame.
  • A screen share has multiple viewers and the app server sees that a viewer has more than 10 queued diffs.
  • The app server sees that a viewer's average lag time is more than 10 seconds.
  • The app server sees that a viewer's average lag time falls outside a standard deviation of the average lag time.

On staging, the viewer gets stuck on "Loading screen...". How can I fix?

The issue is likely due to the fact that the web and API web servers gets killed on a daily basis to test auto-recovery. The new servers has old code, which is being cached on the web browser when you access it. If you open the browser console, you will also likely see the following:

SCRIPT438: Object doesn't support property or method 'connect' viewer-v2.js, line 190 character 9

or:

No 'Access-Control-Allow-Origin' header is presenter on the requested resource. Origin is therefore not allowed access. The response had the HTTP status code 403.

The fix is to update the web servers to get the latest code. The cache will also need to be cleared for the affected browsers.