Adds a 'readonly' prop to ChatContainer that conditionally applies a
'readonly-chat' CSS class to the chat container element. This allows
streamers using OBS to target the readonly chat embed with custom CSS.
The readonly embed at /embed/chat/readonly now passes readonly={true}
to ChatContainer, which adds the class to the container div.
Fixes#4266
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* Fix: Fix to show color when user join the chat
* Changes to restore unnecesary changes
* Deleting unnecesary changes
* Identation issues fixed
* fix(js): run prettier against changed code
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* refactor: replace defaultProps with function parameters in Modal, Statusbar, ChatContainer, and CrossfadeImage components
* New commit for Default properties of React components after syncing fork and rebasing
* fix: fix linter warning
---------
Co-authored-by: swarup <swarupnarkhede999@gmail.com>
* update package scripts to include prettifying scss files and stylelint-ing; fix related issues found from stylelinter
* revert old prettier autofix
* lint
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* Add emoji-mart deps
* Change EmojiPicker to use emoji-mart
* Change ChatTextField to work with the emoji-mart data object
* Remove picmo, commit package-lock
* Fix mutant svgs having a size of 0
* Get the custom emojis to show up earlier in the picker
* Set emoji-mart to exact semver. Later versions break custom category sorting.
* Move title up a level to allow mouse hover to show timestamp
* Fix bad commit to resolve 3848
---------
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
* make the aria-live text adhere to the last message's username
* Wrap lastMessage in an Interweave to handle pre-encoded characters properly
---------
Co-authored-by: Muaz Ahmad <mahmad2000@protonmail.com>
* Made changes to chatcontainer, still facing issue with only reading out the newest message
* Added accessibility measure for chat to allow for latest message to be read by screen reader
* Fixed linting errors
* Fixed linting errors pt. 2
* Fixed linting errors, the finale?
* Ok this is actually it i promise
* add username to be read out by screenreader
* fix string concat linter issue
* fix linting indexing issue
* remove test mp4 files
---------
Co-authored-by: melghali <melghali@andrew.cmu.edu>
* Migrate web action-buttons directory to CSF3 notation
* Migrate web chat directory to CSF3 notation
* Migrate web common directory to CSF3 notation
* Migrate web layout directory to CSF3 notation
* Migrate web modals directory to CSF3 notation
* Migrate web ui directory to CSF3 notation
* Migrate web video directory to CSF3 notation
* Migrate web stories directory to CSF3 notation
* fix emojis overflowing the chat message
* fix: force ignoring of certain paths?
---------
Co-authored-by: janWilejan <>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
We add a resize handler to the window when the ChatContainer is created. If a
second ChatContainer is created due to React redrawing, remove the old handler.
Co-authored-by: janWilejan <>
Firefox only breaks at word boundaries by default, meaning we need a horizontal
scrollbar to handle long words like AAAAAAAAAAAAAAAAAAAAAAAAAAAAA.
Co-authored-by: janWilejan <>
* change chat from a sidebar to a column
Using a 2-column layout prevents the chat scrollbar from overlapping the page
scrollbar. Also, it no longer needs to calculate extra padding for elements.
* remove unused Sidebar.tsx
* fix css for chat column
* re-center "Go to last message" button
* main content column always uses maximum height
* lint
* re-hide scrollbars in mainContent on chromium
* fix chat column width when input is over-full
* chat is only fixed-width in desktop
---------
Co-authored-by: janWilejan <>
* core: remove file extension from emoji name
* web: transform emotes to labels when sending
* chat: replace br with line break
* core: implement emoji cache
* chat: send shortcodes for custom emoji
* chat: correct esling errors
* core: move emoji injection into dedicated function
* emoji: integrate emoji into markdown renderer, fix formatting
* chat protocol: correct golangci-lint findings
* chat field: specify that the contentEditable is an HTMLElement
* admin: mention that emoji should have unique names
* Prettified Code!
* regenerate pack-lock
* chat: correct the emphasis tag, provide fallback for other elements
---------
Co-authored-by: jprjr <jprjr@users.noreply.github.com>