* Changed: Do not hide the emote menu when it's taller than the whisper UI.
* Fixed: Chat features not working on the dashboard.
* Fixed: Player features not working with Twitch's new player loading scheme.
* Added: Emoji to the Emote Menu.
* Changed: Do not look up all a user's emote sets until they actually open the emote menu to reduce server load.
* Changed: Ignore a few extra useless errors with automatic error reporting.
* Fixed: Adding the Prime icon to Subscribe buttons when your free Prime sub is available.
* Fixed: Uncaught exceptions when a pop-up blocker stops us from opening a new tab.
* Fixed: Update Fine to deal with changes to how the React Root is stored in the DOM.
Behind the Scenes
* Working on the UI for Translation Editing
* Refactor some of the main menu dialog logic into a more generic Dialog class
* Added: Separate setting for hiding the Get Bits button in the site header without hiding the bits UI in chat.
* Added: Setting to hide avatars in the side navigation bar.
* Fixed: Do not inject FFZ into the Extension Testing Rig.
* Fixed: Users mentioning themselves in Chat on Videos and Clips Chat appearing to highlight the user.
* Fixed: Attempting to read Twitch experiment state from an uninitialized controller.
* Fixed: Appearance of Twitch emotes in locally displayed `/me` messages in chat.
* Fixed: Rendering of international usernames in Clips Chat.
* Changed: Tag error reports with the current site.
Fix the implementation of rate-limiting in the socket server to use data from the sealed request. Load a list of acceptable origins from the config file.
* Added: Initial support for chat on Clips.
* Fixed: Do not attempt to apply the dark theme to the Twitch Prime landing page.
* Fixed: Remove debug logging from Chat on Videos.
* Added: Initial support for Chat on Videos.
Please note that moderation features are not currently available when FFZ features for Chat on Videos are enabled. There is a setting to disable custom FFZ rendering which makes moderation tools accessible.
More work has also been done on getting custom viewer cards ready.
* Added: Notify users when a new build of FrankerFaceZ is available.
* Fixed: The option to disable channel hosting. (Revert to previous channel hosting data scheme from 21 days ago.)
* Fixed: Emotes in locally echoed chat messages. (Update code for parsing emotes in locally echoed chat messages to find emote data in the new location.)
* Fixed: Automatic opting out from raids not working in pop-out chat.
* Fixed: Error causing messages in the delayed buffer to not be removed when a user is timed out.
* Changed: Add localization support for message when a clear chat is ignored.
* Added: Setting to ignore moderators clearing chat.
* Added: Setting to remove deleted messages from chat entirely.
* Added: Setting to control the delay before chat messages appear.
* Fixed: Twitch emotes not displaying in Whispers.
* Fixed: Alignment of in-line actions when using Emote Alignment: Padded.
* Changed: Display the git commit hash for the current build in the FFZ Control Center, rather than the webpack build hash.
* Changed: Begin pulling a Changelog from GitHub commits rather than loading HTML from the FFZ CDN.
Implement a Markdown Vue component for safely and easily displaying rich content.
* Added: Remove messages entirely using Blocked Terms.
* Fixed: Position of emotes in locally echoed chat messages containing emoji.
Added a `chat:receive-message` event for processing incoming chat messages before they're added to the buffer.
* Added: Whisper Support
* Fixed: UI missing hover state for a few elements added by FrankerFaceZ.
* Fixed: Handle missing badge definition when rendering FFZ badges.
* Fixed: Update static chat message type mappings.
* Fixed: Error in metadata when unable to get the proper player.
* Fixed: Incorrectly applying dark theme to products page.
A bit more work on getting enhanced viewer cards ready.
* Changed: Make usernames in chat line resub messages clickable.
* Fixed: Remove debug logging.
* Fixed: Make the code to automatically leave raids more resilient against Twitch wanting people to join raids automatically.
* Added: Smooth Scrolling for Chat. (Thanks @neuspadrin)
* Changed: Disable mouse interaction with the background of the metadata bar when it's visible over the player in theater mode.
* Fixed: All directory features except host menus.
* API Added: tList(...) method for i18n to support localizing strings with embedded links, etc.
* Update all usages of `tw-input` and `tw-select` to use the new, overly-verbose classes Twitch added.
* Add a few of the monkey faces to the local emote code to make them work.
* Override emotes when building the emote code <-> id map, to let emotes from higher sets override global emotes.
This adds a new module called switchboard that abuses the root React Router instance to forcibly load a chunk, letting us grab `require()` quickly rather than waiting potentially forever for another chunk to be loaded due to user action, etc.