* Added: Setting to hide the mass gift sub banner at the top of chat.
* Changed: Messages for redeeming Channel Points now have custom rendering with less padding and background colors to properly highlight them.
* Fixed: Moderation profiles not always applying when navigating between channels.
* Fixed: Settings to disable auto-play not working.
* Fixed: Remove debug logging when importing a profile.
* Added: Option to display all emotes in the same tab of the emote menu. (Closes#684)
* Added: Button in the emote menu that opens the FFZ Control Center to `Chat > Emote Menu`.
* Changed: Start using Twitch for all emote information rather than the FFZ socket cluster.
* Fixed: When an emoji skin tone is set, use that skin tone for category icons if applicable.
* Fixed: When reduced padding for the emote menu is enabled, reduce the padding around the navigation buttons.
* Added: New appearance type for chat actions that includes both an icon and text.
* Changed: The emote menu now displays channel avatars rather than sub badges.
* Changed: Emotes unlocked via points or other methods will appear as unlocked on the Channel page of the emote menu, even if you aren't subscribed.
* Changed: Display the number of months someone has been subscribed on the Founder badge. (Closes#694)
* Removed: Setting to not automatically redirect to Squad Stream pages, as Twitch is no longer doing that.
* Fixed: The emote menu now correctly groups emotes with no specific source channel.
* Fixed: The emote menu should no longer display sets as `Set #Number`.
* Fixed: The emote data module constantly trying to load data for a set that does not exist rather than storing that it does not exist.
* Fixed: Cache emote set data from the emote menu for use with tool-tips.
* Fixed: Clicking buttons in the FFZ Control Center's header now prevents dragging from starting.
* Fixed: Remove several Fine instances that were not resolving to anything useful.
* Fixed: Alignment of in-line mod actions.
* Behind the Scenes: Started fresh work on custom viewer cards.
* Added: Setting to hide re-runs in the site's side navigation, or to display them faded out to more obviously differentiate them from original live content.
* Added: The `Changelog` will now only display commits with associated releases, by default. Users can optionally display all commits.
* Fixed: The error message when a tool-tip failed to render was not being localized.
* Fixed: Padding for certain metadata elements such as the `Host` button.
* Fixed: The Stream Uptime metadata pop-up not opening in Safari due to the browser's lack of modern JS features.
* Fixed: Tool-tips not working within the FFZ Control Center.
* Fixed: Tool-tip positioning when in Portrait Mode.
* Fixed: The `Current Category` rule type for profiles not matching on directory pages.
* Added: `Current Category` rule type for profile rules. (Ironically, does not currently apply when on the directory page for a category.)
* Fixed: Various chat input related features breaking, including Room Actions and tab-completion of emotes.
* Fixed: Alignment of certain chat settings menu elements.
* Maintenance: Update our copy of the `CHAT_TYPES` enum with new types from Twitch's client.
* Added: Two new profile rule types: `If` for choosing between two different sets of rules based on a condition. `True or False` for a rule that is always true or false.
* Added: There is now a button to reset the player in the FFZ menu button's right-click menu, for use when the player GUI is not accessible due to an error.
* Fixed: The pop-up for Stream Uptime not functioning for Firefox users due to an unimplemented permission.
* Fixed: The FFZ menu button not appearing in Squad Streaming mode.
* Fixed: Apply CSS color variables to the background of the Squad Streaming page.
* Fixed: Load chat elements on the Squad Streaming page.
* Added: New icons for Picture-in-Picture and Reset Player, courtesy of Pilk.
* Changed: The Reset Player button now has feedback when you interact with it.
* Added: Reset Player is back. It isn't quite as robust as it was before, but it should still prove helpful when faced with certain playback issues.
* Added: Clicking the `Stream Uptime` metadata now opens a small pop-up letting the user copy a link to the archived video of the current broadcast, at the current time. Please be aware that archives are not updated in real time and the link will not work for several minutes.
* Changed: The `Playback Statistics` metadata now renders as a button to show feedback that you can, in fact, click on it. Doing so toggles the visibility of the player's statistics window.
* Fixed: Issue importing a single profile without an update URL causing no data to be imported. (Closes#645)
* Fixed: Styles for metadata buttons without borders.
* Fixed: Positioning of the PiP and Reset Player buttons.
* Fixed: The `Playback Statistics` metadata displaying numbers a bit too precisely for easy reading.
* Fixed: Rewrite our player code to support the Highwind player. This removes support for the old player, but to our knowledge everyone should be using Highwind now.
* Removed: The Reset Player button. At this time we just don't know how to properly implement it for the new player. The new player is more tightly integrated into the Twitch web application.
* Removed: Closed Captioning position settings. Twitch appears to have native position controls for closed captions now.
* Fixed: Some settings strings not being assigned a localization key.
* Fixed: The right-click profile selector not using description localization keys for the default profiles.
* Fixed: Inconsistent localized string for active profiles.
* Fixed: Hide mega-cheer recipient call-outs in chat when the relevant setting is enabled.
* Fixed: Styling of the chat settings menu modifications.
* Fixed: The FFZ menu button in the navigation bar not applying its loading state.
* Fixed: Incompatibility with BetterTTV menu options.
* Fixed: Revert the tool-tip container selector as just using `#root` causes performance issues. People will just have to live with badly positioned tool-tips in Portrait Mode for the time being.
* API Changed: Emit a `core:dom-update` event whenever we cause a React component to `forceUpdate()`. This is the first draft of a potential solution for fixing incompatibilities with BetterTTV, and should not yet be considered stable. (No, this doesn't mean it's fixed. That will require updates from both extensions and not just FFZ.)
* Added: Additional settings for controlling the behavior of Twitch's native Chat Filters.
* Added: Upload strings directly from the Translation Tester UI. (This is for me only, but I like it.)
* Changed: Allow resizing text entry boxes in the Translation Tester UI.
* Fixed: Emoji categories were not being localized.
* Added: Profiles can now be toggled on and off, rather than relying on rules to control them.
* Added: Right-clicking the FFZ menu button in the top right of the page will open a Profiles dialog, letting you quickly toggle a profile on or off.
* Added: Profiles can now be enabled or disabled based upon the time of day.
* Added: Polish and Serbian pluralization rules.
* Fixed: Ensure tool-tips work on the new dashboard.
* Fixed: Ensure the FFZ Control Center works on the new dashboard.
* Changed: Shift-Click the FFZ Control Center icon in the top navigation to open the Control Center in a new window.
* Fixed: Unnecessary localization calls for add-ons.
* Fixed: Show an in-page notification rather than an alert box if the FFZ Control Center fails to load.
* Fixed: Adding an event to an EventListener while the event firing potentially leading to an infinite loop.
* Fixed: Pluralization rules for Ukrainian.
* Changed: Improve the Translation Tester UI to make it considerably more useful.
* Changed: Load a list of known strings from the server when in Capture Mode so that we can check to see which strings are actually new or changed.
* Fixed: Drop-down menu options in the control center not being assigned localization keys.
* Fixed: Durations not being localized correctly.
* Fixed: i18n name collision for the Ban chat action.
* Added: Languages!
Not a native English speaker? We've got an option for that, too. FrankerFaceZ is translated with love by our community. Please [join our Discord](https://discord.gg/UrAkGhT) and ask about localization if you'd like to contribute. We're still new to localization, so there may be some growing pains.
If you notice any inaccuracies, confusing translations, or texts that are outright wrong or offensive, please be sure to report them. We accept reports via Discord, Twitter, or GitHub Issue.
* Fixed: The ability to disable Channel Hosting not functioning.
* Fixed: No background appearing behind channel metadata when in theater mode.
* Added: Localization Message Capture. Message capture is a developer feature intended to make it easier to add new strings to the localization project.
* Added: Translation Tester. A tool to allow translators to test translations directly in the app before submitting them to the localization project.
* Fixed: Modified emotes not appearing correctly in tool-tips.
* Fixed: The page visibility hook breaking due to a typo and stopping FFZ from fully initializing for users using other page visibility hooks.
* Fixed: The setting to hide bits UI not hiding the bits button in chat.
* Added: `npm run font` command for editing the Fontello icon font. Use it to get started, then start the development server with `npm start` and changes will automatically save when you click `Export Font` from Fontello.
* Changed: The list of Fontello icons is now extracted from our Fontello config file so that it doesn't have to be manually updated.
* Changed: Prevent the video quality from dropping when using Picture-in-Picture. (This is handled via an override to the Page Visibility API, preventing the player from detecting the page is hidden when PIP is active. This override *only* functions when Picture-in-Picture is in use.)
* Fixed: Recalculate the position of the navigation bar underline when showing/hiding the Discover link.
* Fixed: Don't load our color normalization CSS if the user isn't making use of a custom theme.
* Added: Helper text to `Appearance > Theme` with suggested colors, as well as the previous site fonts.
* Changed: Automatically enable or disable Twitch's Dark Theme when setting a background color, to ensure page elements stay styled correctly.
* Changed: Don't try injecting our script on `brand` or `dev` subdomains.
* Changed: Do not allow setting the alpha value of custom background colors.
* Fixed: Add relative positioning to most of our tool-tip wrapper elements, to ensure tool-tips are positioned correctly.
* Fixed: Stop modifying queries with Apollo. Just send our own queries when we need a bit of extra data. Should prevent loading issues.
* Fixed: Option to hide the Discover link in the top navigation not working.
* Fixed: Option to hide live indicators on channel cards not working.
* Fixed: Add a few more rules to the new theme to ensure all elements are colored correctly.
* Fixed: Do not square avatars within the Bits Leaderboard.
* Known Issue: Light custom themes do not look good in Theater Mode.
* Added: Preview of new theming system with custom colors.
* Changed: Start using the CSS color variables in more places.
* Fixed: Alignment of metadata in theater mode.
* Fixed: Custom chat font not applying to chat input.
* Fixed: Do not attempt to fetch uptime when there is no channel ID.
* Fixed: Hover state of emote menu section buttons.
* Fixed: Re-add pill rendering for FFZ menu button.
Initial wave of fixes for the Twitch redesign.
* Fixed: Apollo not loading, breaking many subsystems including chat.
* Fixed: Stream up-time not appearing.
* Fixed: Stream meta-data being styled and positioned incorrectly.
* Fixed: Header styles for the FFZ Control Center.
* Fixed: FFZ menu button not being styled correctly in the site header.
* Fixed: Alignment of chat minimize button when in portrait mode and/or swapped sidebars mode.
* Fixed: The setting to hide the bits leaderboard at the top of chat.
* Fixed: Bug where disabling a module would leave its state as enabled.
* Changed: The FFZ Control Center button in the navigation bar will now indicate when add-ons have been loaded from a local development server.
* Added: Initial Legal page to the Control Center with information about what third-parties the client contacts during normal operations, as well as a link to our Terms of Service.
* Fixed: Coloring of Enable and Disable buttons on the `Add-ons` list.
* Added: Previews for rich chat embeds and rich tool-tips to the settings menu.
* Changed: Disabled Smooth Scrolling for now, as no one has been able to get it working correctly after Twitch's changes to how chat scrolling works.
* Added: Picture-in-Picture button for the player, when supported by your browser.
* Added: Option to disable the `Reset Player` button for the player.
* Fixed: Smooth scrolling not functioning once the chat buffer fills. It's still a bit peculiar, but at least it's somewhat working now. Please disable the feature for now if the behavior is bothering you or causing issues.
* Fixed: The Featured channels menu not loading, for channels using that FFZ feature.
* Fixed: Certain add-on emotes appearing in the emote tab-completion menu multiple times.
* Fixed: Cheers not rendering correctly in chat.
* Added: Room Actions can now be filtered based on the chat being in Followers-Only Mode or R9K Mode.
* Changed: Custom tool-tips for actions now support variables. Time-out and ban reasons do as well. Text labels do not.
* Fixed: Chat messages from Twitch Extensions not displaying.
* Changed: Changing the font size of chat now affects the chat input box.
* Fixed: The Block and Hide Thumbnails buttons not appearing in the directory pages for games.
* Fixed: Handling of certain types of chat messages causing chat to fail to render anymore.
* Fixed: Clicking hosted channels in the Following Directory not showing the Host menu.
This feature has been broken ever since **JUNE 2018**.
There have been enough changes on Twitch's end to support this more easily now, so that's good.
Also fixed some potentially longer standing bug with the hosts map not being cleared when the query is being re-ran, causing some hosts not to show up
* Apply custom chat Font Size on chat input as well
* Move `ChatInput` updates to the corresponding module
With that, also emit an event on the chat when the CSS changes
* Fix not listening to the correct `update-chat-css` event
* Also make sure the font size get's applied to vod / clips input, too