This avoids having to update the `uicontroller.js` manually each time the
sprite changes. The JSON file is automatically copied by the `_encode.sh`
script.
Any adjustments are done during building, so we can keep the source files
unmodified. With that, updated the build script to sort the list of sounds
in the sprite by name so further changes are consistent.
To provide peer to peer support for users with a firewall, a TURN
service might be required. Not everyone can/wants to setup a self-hosted
TURN server. This change adds support to consume a remote TURN service
which usually requires authentication. Spreed WebRTC received TURN
credentials using this service in regular intervals and provides them to
all Spreed WebRTC sessions.
If the remote TURN service provides multiple zones and a GEO location
endpoint, the web client will also directly connect to that TURN service
GEO endpoint to let the TURN service select preferred zones based on the
clients information.
The advanced settings provide a way to control the TURN service zone
directly and to disable the client side GEO call. By default the
selection is auto if the TURN service provides a GEO endpoint. If no
such endpoint is required, the zone with the highest priority is used by
default (as sent by the TURN credentials service).
Previously, each user broadcasted the status after a "Room" event was
received. This caused a short time for all other participants where
the buddy list showed "Participant X" instead of the real user name.
Removed difference between single peer-to-peer calls and conferences
with multiple peers. There is only a single code path now that creates
calls and stores them in a conference (which holds all active calls).
With this also fixed some timing issues that could cause conference
peers to not send or receive media streams.
Should help with some of the issues reported in #276.