The LabVIEW/default dashboard implements a retry timeout and will close the connection if a valid image is not received after N seconds -- possibly resulting in an error 66 being reported from the roboRIO LabVIEW code. In the 2019 kickoff version of the dashboard, that timeout was set to 10 seconds. For the 2019.2 and 2019.2.1 versions, it has been extended to 30 seconds. The increased timeout allows for longer connection time.
The dashboard also relies on a localhost socket to be told the robot IP address to establish a Network Tables connection. In some situations, this socket doesn't connect, leaving the dashboard running without a connection to Network Tables. This may also impact camera connection since camera descriptions are shared via Network Tables. The 2019.2.1 dashboard uses an additional socket and protocol for receiving the robot IP address from the Driver Station. Even with this fix, we still see some situations where the Driver Station knows the robot IP, but the dashboard doesn't connect network tables. If this occurs, restart the dashboard and possibly the driver station.
The LabVIEW camera server, implemented in WPI_CameraSend Images To PC Loop.vi, is responsible for publishing the URLs that enable the dashboard to connect to cameras connected to the roboRIO. The list of URLs include both hostname and resolved IP formats. If the camera server code executes and resolves the IP before the robot radio has assigned an IP address, this can result in an invalid IP address being latched and published. Additionally, if the connection to robot changes connection (for example: moving from USB connection to WiFi), the published IP address may not work for the new network. Ideally, the hostname form of URL would resolve, allowing for successful camera connection, but current FMS networking often fails to resolve successfully.
The code to publish the URLs for the camera server now includes all listed interfaces except for localhost forms. It will also republish about every 5 seconds in case the network type changes or completes booting. The host name form is still included in the list of URLs.