* 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
v2.17.0-alpha.0
---
* feat(livekit): add track egress support
* feat(livekit): webhooks module
* feat(livekit): server side BBB <-> LiveKit event sync
* refactor(livekit): rename GenerateWebRtcToken* to GenerateLiveKitToken*
* feat: base-manager may opt out of connecting to mcs-core
* build(livekit-server-sdk): v2.6.2
It introduces the mutations:
chatEditMessage
chatDeleteMessage
The type chat_message receive two new fields:
updatedAt
deletedAt
A new table chat_message_history was introduced to store the previous version of an edited or deleted message.
When removed the message is not deleted, but the content become null and deletedAt populated. So the idea is to show "This message was removed" in the client.
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
replyToMessageId will be useful for the feature that enables to reply a message of the chat
messageSequence will be useful to identify the page of that message and scroll the user to the correct page when they click to see the original message
* feat(layout/observer): Add user preference for dark theme in `LayoutObserver` component.
* feat(docs/administration): Add support for default dark theme preference parameter
* refactor(settings): Remove dark theme setting from LayoutObserver and move it to Settings class.
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)
* Translate en.json in ja
100% translated source file: 'en.json'
on 'ja'.
* Translate en.json in ja
100% translated source file: 'en.json'
on 'ja'.
---------
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
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