* Add: new connection close error messages
* Fix: TS type assertion
* Fix: Restore message description
* Add: Locale for server closed connection event
* move raise hand out of reactions bar
* adjust reactions bar border-radius
* adjust button background + remove custom icon
* fixing raise hand test
* skipping raise hand test
* fixed learning dashboaard test, flaky to notification test
---------
Co-authored-by: Gabriel Porfirio <gabrielporfirio1994@gmail.com>
Introduces a new layout type called `MEDIA_ONLY`, which shows only media
elements(presentation area and cameras). This layout follows the same
heuristics used by the smart layout to arrange presentation and cameras
in the screen.
Fixes an issue with the camera dock bounds calculation, where the banner
height was being accounted for twice, leading to incorrect dock height
and excessive spacing. The height is now correctly based on the media
are height, which already factors in the banner height.
Additionally, the top position of the camera dock is now calculated
using the media area's top position, correctly factoring in the margin of
the media area.
Adds an optional parameter to the `calculateMediaAreaBounds` function,
allowing a margin to be specified when determining the media area
bounds. Any usage of the function without the optional parameter will
default to the previous behavior(no margin).
This commit introduces a mapping between each layout type and the structures
it should propagate or replicate. This change enhances the clarity of the
implemented behavior for each layout type and simplifies modifications to the
elements propagated for each layout.
Additionally, the push layout engine has been updated to utilize the new
mapping structure.
The focused camera id is of type string and was set to boolean `false`
when a camera was unfocused, causing it to throw an error on apollo and
consequently not propagating the focused camera status. This commit fixes
this issue by setting the focused camera id to its initial string value `none`
when a camera is unfocused.
* Fix: Restore keyboard navigation on userlist
* Add: restore function
* Fix: Add support to arrow down and space to enter navigation area
* Fix: Wrong page size calculation
- Ensure presenter & viewer camera are the same whten using Fit To Width
- Some zoom issues when resizing/reloading
- Fix Viewer still sable to zoom white mouse wheel after someone takes presenter
- Do not apply shortcuts when using "Edit Link" shape dialog is open
- Hide Tldraw native reset zoom button as it does not to what expected
Explicitly unmounts extensible areas that use `contentFunction` to
inject components. This is necessary because plugins, as a separate
ReactJS application, use a different instance of ReactDOM.
* feat(chat): improve messages rendering
This commit adds memoization and comparsion functions to the chat pages
and chat messages to prevent whole chat re-renders and unnecessary
message re-renders caused by React's default shallow comparsion mechanism.
The comparsion functions ensure that only the pertinent message attributes
trigger a component's re-render.
Messages sent by a user are not updated (re-rendered) when their role
change. In other words, the chat messages reflect the user's role at the
time the message was sent. Altering the message to reflect the user's
current role could confuse participants, as it would modify the context
of the past conversation. This behavior has been validated by the UI/UX
team and brings benefits such as performance improvements and consistent
behavior with how playback handles such messages.
* fix linter errors
Add fields:
contentType: to identify whether is camera or screenshare
hasAudio: useful for screenshare
focused: indicates if this screenshare will be shown in presentation area
Refactor styles to update the background color of connection status bars in dark mode. The #connectionBars > div now has a background color of var(--darkreader-neutral-text)
This commit refactors the label generation for audio captions in the audio-captions button and captions components. Instead of directly using the intl formatMessage function, the label is now generated using the intlMessages object and the getLocaleName function from the audio-captions service. This change prevents an issue with custom locales.
* fix: Custom styles not applying to loading screen
* fix: Apply custom styles before rendering children
* fix: Use Object.assign instead of spread syntax
* fix: Add cleanup function to clear the timeout and abort the fetch
* fix: Clear the timeout if the fetch completes successfully
* refactor: Remove unused queries file
Fixes race condition happening when multiple plugins that add extensible
area elements are loaded by the client. The issue is caused by the state
update of the extensible area items set by plugins, based on previous
state without using a callback. Replaced direct state updates with the
appropriate callback pattern to ensure consistent state changes.