10a6a840b5
There's a race condition that may cause a client crash whenever a video-provider's unmount procedure is run, but its signalling websocket is undefined. The WS's callback handlers are re-assigned without checking for the socket's availability, causing an unhandled TypeError. The WS may be undefined in a couple of scenarios, e.g.: unmouting before the socket was successfully set up, unmounting while a reconnect is in place etc. Check whether the socket exists before accessing it in video-provider's componentWillUnmount routine. |
||
---|---|---|
.. | ||
about | ||
actions-bar | ||
activity-check | ||
app | ||
audio | ||
authenticated-handler | ||
banner-bar | ||
breakout-join-confirmation | ||
breakout-room | ||
captions | ||
chat | ||
click-outside | ||
common | ||
components-data | ||
connection-status | ||
context-providers | ||
debug-window | ||
dropdown | ||
emoji-picker | ||
emoji-rain | ||
end-meeting-confirmation | ||
error-screen | ||
external-video-player | ||
join-handler | ||
layout | ||
learning-dashboard | ||
legacy | ||
lock-viewers | ||
media | ||
meeting-ended | ||
mobile-app-modal | ||
muted-alert | ||
nav-bar | ||
notes | ||
notifications | ||
notifications-bar | ||
pads | ||
poll | ||
polling | ||
presentation | ||
presentation-pod | ||
raisehand-notifier | ||
recording | ||
reload-button | ||
screenreader-alert | ||
screenshare | ||
settings | ||
shortcut-help | ||
sidebar-content | ||
sidebar-navigation | ||
subscriptions | ||
text-input | ||
timer | ||
user-avatar | ||
user-info | ||
user-list | ||
user-reaction | ||
utils/hooks | ||
video-preview | ||
video-provider | ||
waiting-users | ||
wake-lock | ||
webcam | ||
whiteboard |