The verto.clientReady event calls the onMessage callback function passed in
the Verto object. We should check for the existence of this callback function
before trying to call it.
As described at https://bugs.chromium.org/p/chromium/issues/detail?id=862325,
some Android devices using Chrome fail a getUserMedia() request when
frameRate.min is specified.
This is due to a bug in both the device (reporting a 0 min frameRate), and
Chrome, which fails to catch this and set a reasonable fallback value.
While a fix has gone into Chrome, it might be awhile before this fix makes it
into their stable release, so filing this with my quick hack to prevent the
error on Android devices.
Note this fix could certainly be more robust (maybe detect Chrome version, or
some test to see if min frameRate from the device returns 0), and it gets the
job done as a start.
$.verto.unloadJobs queue leverages the 'beforeunload' event to perform work
prior to browser page unload.
However, iOS does not support that event. Its equivalent event is 'pagehide'.
This patch uses the pagehide event on iOS, and beforeunload for all others.
Assigning the speedTest callback funtion to a local variable and unsetting
the this.speedCB instance variable prior to calling the callback function
allows the rpcClient.speedTest functionality to be used more creatively
(such as calling it recursively for multiple runs) without affecting existing
functionality.
Previously, users implementing a Verto workflow where both user login and
placing a new call are automated (eg., visiting a URL, and the videoconference
loads automatically) faced the challenge of not having a reliable way to know
that a page load will result in Verto's call recovery mechanism reconnecting
an existing detached call or not.
This adds a verto.clientReady JSON-RPC message, emitted after all calls are
re-attached, which contains a 'reattached_sessions' array, containing the
sess_id of any reattached session.
Client side, this can be caught in the onMessage handler, under the
$.verto.enum.message.clientReady key.
When someone set any wss server and do login
VC doesn't record the settings on localStorage,
so when we reload the browser, it will try to connect on
"wss://" + window.location.hostname + ":8082" and if
this wss server is offline for any reason, user will
be stuck on splash screen by auto-login step plus reconnect
modal blocking any action.
- Added button "Change Server" on modal reconnection alert;
- Stop jsonRpcClient retry timeout and delete verto instance
to create a new one when user login with new wss server;
- Record wss server and hostname on localStorage.
added onGrant/onDenied callbacks in onStream/onError of RTCCallbacks
so client code gets notified of webrtc permission change immediately
remove whitespace changes