* 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.
* Added: Chat > Actions > User Context. Define custom actions that appear in a context menu upon right-clicking a username in chat.
* Fixed: Custom color for chat highlights in dark theme with alternating chat background colors enabled.
* Fixed: Option to hide `LIVE` indicators on live channel pages.
* Fixed: Option to hide Recommended Channels from the Following page.
* Fixed: Error when attempting to import a single profile from a full data backup.
* Fixed: Incorrect profile names and descriptions being displayed in the profile selector of the FFZ Control Center.
* Fixed: Incorrect styling being applied in the profile selector of the FFZ Control Center, making it impossible to determine which profile is currently selected.
* Fixed: Enable the babel object rest spread transformation for continued support of certain older web browsers.
* Fixed: Tool-tips of certain in-line chat actions not displaying information such as the target user's name or the duration of a timeout.
* Fix tab-complete menu styling
Twitch has a Y-padding next to their X-padding, too, which was missing up until now
* Undo removal of `tw-relative`
Needed for the favorite star, whoops
* Added: Option to set a default custom color for highlighted messages, overriding the default red color.
* Added: Recent Messages for Chat Input. Press up and down to recall previously sent messages.
* Added: Option to prioritize favorited emotes and emoji in tab-completion.
* Fixed: Extensions not being hidden correctly.
* Fixed: Change tab-completion sorting to act more similarly to vanilla Twitch.
* Fixed: Color inputs in settings updating too frequently, causing performance issues.
* Fixed: Chat-related code breaking on popped out viewer cards and spamming the automated error reporting service with errors.
* Start working on chat-history (up / down arrow)
* Revamp history "scrolling"
Also store input as a temp variable when at the beginning of the history
* Implement favorite prioritization and fix sorting once and for all
* Use favorites array instead of single call per emote
No idea about provider-specific emotes yet
* Fix sorting and rendering of emote / emoji suggestions
* Fixed: Leaky name matching when the user has listed more than one name to highlight or block.
* Fixed: Blacklist several Twitch errors that were being captured by automatic error reporting.
* Fixed: The optional FFZ Emote Menu icon not displaying properly when the menu is open.
* Changed: Styling of FFZ entries added to the chat settings menu to match the updated aesthetics.
* Changed: Update dependencies.