Fixes the debounce function to work properly when leading is true by
adding a condition to reset and reschedule the timeout whenever
a subsequent call happens whithin the delay timeframe.
There are some scenarios (e.g. WKWebView) where Bowser can't detect the
Safari version number correctly, which may lead to unexpected behavior
if any code that relies on this utils use the version number exported
unchecked.
In such cases, use the WebKit version to determine it. If that's not the
case and the version number is still unavailable, log an warning and
return Infinity so that we do not deny access to the user (even if
we're uncertain about whether it's a supported browser);
* Refactor: Make all chat area use graphql
* Fix: large space between welcome msg and chat list
* Fix: missing file
* add pending status and fix system messages
* Add: mark messages as seen in chat
* Refactor: Move char opening logic to inside of chat panel
* Refactor message and mark as seen
* Add Recharts to package.json and fix miss data
* Implements clear-chat function on graphql
* Make system message sticky
* Add clear message support and fix user is typing
* FIx chat unread and scroll not following the tail
* Change: make unread messages be marked by message and fix throttle
* Don't show restore welcome message when the welcome message isn't set
* Fix: scroll not following the tail properly
* Fix: previous page last sender not working
* Fix: scroll loading all messages
* Fix messaga not marked as read
---------
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
There are a couple of hardcoded UA checks targeted at iOS endpoints
introduced circa 2.2-beta. One of those pops up an "unsupported" toast
when the device joins a conference - the other blocks camera
sharing.
Those checks are outdated since we transitioned to minBrowserVersions
approach that redirects the client to an unsupported view upon join. I
also assume the checks are bugged since, in some environments, it flags
iPadOS endpoints as iOS and version-checks it to a hardcoded "12.2"
threshold (which is incompatible with iPadOS versioning). That caused
camera sharing not to work, which is a false negative.
I consider the checks to be outdated, so I removed all references to
them.
The current Vosk CC provider does not support stereo mic streams
(pending investigation as to why).
This commits makes sure stereo is forcefully disabled via SDP munging
only when transcription is active and using Vosk. Having it disabled
in the server side (FreeSWITCH) is not enough because the stereo parameter
is client mandated and replicated by FS on its answer. So we need to
make sure it's always disabled for the time being.
SFU audio does munging server side (and stereo is always off), so no changes
needed there.
The rest of the providers (except WebSpeech) need to be validated against
stereo audio as well.
This is also intended to be temporary - ideally this needs to be fixed in
mod_audio_fork/Vosk/wherever this is breaking.
Firefox has a buggy ICE implementation and needs WebRTC media traffic to
be routed through a turn server to work reliably with mediasoup.
Use the information fetched by the STUN API to determine if the operator
has configured a turn server. If there is one force firefox to use it.
Closes#16164