key shortcut behavior.
The answer/hangup shortcut:
--------------------------
This shortcut may be helpful for headsets with a single button for answering or
hanging up a call.
By default this shortcut is set to "Ctrl + Shift + p". When pressed:
1) If there is at least an incoming call, then Jitsi answers the first incoming
call.
2) If there is no incoming call, then Jitsi closes all active calls (An active
call is a call with at least one peer which is not on hold).
3) If there is no incoming call and no active call, then Jitsi closes all
remaining calls (which are all on hold).
New hangup shortcut behavior:
-----------------------------
The hangup global key shortcut behavior is modified as follow:
1) If there is at least an incoming call, then Jitsi closes the first incoming
call.
2) If there is no incoming call, then Jitsi closes all active calls (An active
call is a call with at least one peer which is not on hold).
3) If there is no incoming call and no active call, then Jitsi closes all
remaining calls (which are all on hold).
Problem:
Swift sends entity capabilities responses (XEP-0115 Disco#info responses)
without adding a "node" attribute inside the "query" element. This is a correct
behavior as the "node" attribute is optional (XEP-0030). But Jitsi was checking
the presence of this attribute and was rejecting all DiscoveryInfo without it,
but containing a defined "hash" (for filtering Google Talk web, which does not
send "hash").
Correction:
Removes the check of the "node" attribute to validate Disco#info responses.
Bug report:
Kim Alvefur: [jitsi-dev] Invalid DiscoverInfo
Corrects desktop sharing problem: sometimes not sending key and mouse event.
Problem:
The CallPeer grants remote control whereas the call user interface is not ready and has not registered its remote control listener yet.
Correction:
Adds a list of granted remote control peers for the
AbstractOperationSetDesktopSharingClient. This list is used to remember granted
peers, when the granted event occurs before the corresponding UI listener
registration. Thus, when a new UI remote control listener is registered, a new
remote control granted event is fired to this new listener for all granted
remote control peers.