Changed the names of tldraw record events to differentiate from before.
Publish tldraw.json file with all shape information during the meeting to be used in playback.
Adapted cursor.xml and panzoom.xml to store tldraw data.
Publish slides svgs to be used by playback's tldraw component (otherwise we have different image sizes in pngs and thus messing the coordinates).
Retro-compatible with old recordings.
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers a screenshare re-connect, the
re-connect should be allowed to minimize outages.
If the user indeeds fails to be reconnected to the whole system, then
the screen sharing sessions will be ejected when the user is
completely ejected from the system.
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers a camera re-connect, the
re-connect should be allowed to minimize outages.
If the user indeeds fails to be reconnected to the whole system, then
the camera sessions will be ejected when the user is completely ejected
from the system.
The SFU microphone module was using global audio authentication RPCs in
akka-apps to determine whether a mic connection is valid.
Fixes an issue where SFU microphone connections wouldn't take lock
settings in account in the permission checks.
In detail: decouple them by adding GetMicrophonePermissionReqMsg and
RespMsg. Allows flexibility on which conditionals to use in both. IMO it
is also better than renaming+adding a boolean to GetGlobalAudioPermission*
due to the fact that it gets easier to guarantee backwards compatibility
between SFU and BBB (ie SFU 2.9 keeps working on 2.4, 2.5).
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers an audio re-connect, the
re-connect should be allowed.
If the user indeeds fails to be reconnected to the whole system, then
the audio session will be ejected when the user is completely ejected
from the system.