* 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
Changed: Chat Room Actions now render beneath the chat input, next to the chat settings button.
Fixed: The setting to hide `Latest Videos` from the Following directory breaking many parts of the website.
Fixed: Due to the relocated Chat Room Actions, compatibility is improved with certain features of the BetterTTV browser extension.
Apparently we're matching a component *loader* (since there is no other way I found when finding this), so we need to make sure the props are still correct
Added: Chat Room Actions can now be filtered by a room being in emote-only mode, subs-only mode, or slow mode.
Added: Option to hide Latest Videos in the Following directory.
Added: Option to display the current stream delay in a warning color if it exceeds a certain value.
Fixed: Emote previews not appearing correctly in tool-tips.
Fixed: Option to hide Rerun bar not functioning correctly.
Fixed: Favorite emotes from add-ons and other extensions not being sorted correctly for tab-completion.
Additionally, there's no early return in the `getMatchedEmotes` method anymore, since it could be that the results we get from Twitch could exceed 25 emotes and thus would cause potential favored FFZ Emotes / Add-On Emotes / Emoji to not show up at the top of the list
Fixed: The Add Action menu for Chat Actions being too tall to fit within the FFZ Control Center at some resolutions.
Fixed: Styling for various hover-able UI elements.
Fixed: User Context Chat Actions set to show/hide based upon a message's deleted state not properly doing so.
Fixed: The FFZ emote menu appearing too tall at times.
Fixed: Remove debug logging.
Changed: The `Delete All` button in the Chat Actions editors will now not immediately clear all actions, but rather show another button asking the user to confirm.
Changed: Add a page rule for dashboard pop-out chat so that profiles can be made for it.
Changed: Update `CHAT_TYPES` from Twitch.
* Fixed: Do not scroll context-menus with chat.
* Fixed: After repositioning a tool-tip, check that its host element is still within the page. If it's not, hide the tool-tip.