1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-03 00:18:31 +00:00
Commit graph

1253 commits

Author SHA1 Message Date
SirStendec
f89938ba5a 4.67.2
* Fixed: FFZ not correctly loading on dashboard pages.
2024-01-24 12:12:08 -05:00
SirStendec
e8bb25f982 4.67.1
* API Fixed: The new changes to `addNotice()` were not correctly displaying add-on emotes from the current channel.
2024-01-17 14:46:48 -05:00
SirStendec
8688d1a41b 4.67.0
* Fixed: Bug displaying rich content errors when no data is returned from the link information service.
* API Changed: The `site.chat.addNotice()` method now supports rich content and localization.
2024-01-17 14:28:21 -05:00
SirStendec
44e30e985d 4.66.0
* Added: Option to hide emote tool-tips from the FFZ Emote Menu, which can improve performance.
* Changed: Re-add support for older browsers that do not support `crypto.randomUUID()`. I do not consider this a bug, since users should realistically not be on browsers that old for their own safety, but it is a small enough change that I'll allow it.
* Fixed: The option to report emotes not appearing on emote cards for Twitch emotes. (Closes #1450)
* Fixed: Make rich embeds in Chat on Videos slightly narrower so they don't get cut off.
* API Added: Chat message objects now have `ffz_first_msg` and `ffz_returning` flags for use by add-ons.
* API Fixed: Cut down on unnecessary warning logging from `createElement`
2024-01-16 13:59:39 -05:00
SirStendec
786275e7d7 4.65.1
* Fixed: Issue with the IndexedDB storage provider sometimes failing to save values for Chromium users, notably when restoring a backup. This is due to a browser bug, where Chromium would fail to properly handle multiple simultaneous read/write transactions to an IndexedDB database. To prevent issues going forward, we now use a ticket lock to prevent more than one concurrent write transaction. TL;DR: You can restore your backups properly again.
* Changed: Add Bluesky's new brand icon for use displaying embedded Bluesky content.
2023-12-30 14:36:59 -05:00
SirStendec
5bafc824b1 4.65.0
* Added: Two settings to improve the FFZ experience for users using their operating system's High Contrast mode. One setting allows you to opt Twitch out of high contrast mode, and the other (which is selectively enabled by default) loads a few more styles to make page elements appear more correctly.
* Added: When using link cards to view a link to a Twitch clip, allow the clip to be played with an embedded player.
* Changed: When displaying a tool-tip for a link, use the link's accent color along the side of the tool-tip for slightly more branding.
* Changed: Make the prompt to accept the YouTube Terms of Service more subtle, and add an option to decline to the settings so it'll stop showing the link to settings altogether.
* Changed: Update the icon for Discord in the icon font, and add an icon for TikTok.
2023-12-21 17:28:39 -05:00
SirStendec
6e78fd7cab 4.64.0
This update adds a check that forces users to agree to YouTube's Terms of Service before they are able to view rich embeds for YouTube links. I personally do not agree with this, but we were required to implement this in order to maintain access to YouTube's API. Actually, they said "API Clients must state in their own terms of use that, by using those API Clients, users are agreeing to be bound by the YouTube Terms of Service." but that's obviously ridiculous for this use case. This is my compromise. Sorry for the inconvenience, everyone. This also comes with aesthetic tweaks to make YouTube's compliance team happy. Woo...

* Added: Setting to display labels on highlighted chat messages giving the reason why the message was highlighted.
* Added: System to force users to agree to a service's Terms of Service before displaying rich content from specific providers. So far this is only used by YouTube.
* Changed: Made the background of highlighted words in chat messages slightly smaller.
* Fixed: A few page elements in mod view not being themed correctly.
* Fixed: Timestamps displaying with an hour when they obviously do not need to.
* API Added: `main_menu:open` event for a general way to open the main menu.
* API Added: Settings UI elements using components using the `provider-mixin` can now override the provider key they use by setting an `override_setting` value on their definition.
* API Changed: The `chat.addHighlightReason(key, data, label)` method now takes an optional `label` parameter to set the text that appears on chat messages when the setting to display labels is enabled.
2023-12-19 16:24:33 -05:00
SirStendec
80931479c1 4.63.0
* Added: Setting to display Content Flags on directory pages.
* Fixed: The setting to make the player larger on `clips.twitch.tv` pages incorrectly defaulting to true. Closes #1440.
* Fixed: Exception thrown when pressing Escape in chat with a tray open.
* Fixed: Chat not correctly displaying messages until the mouse is moved when using an option to pause chat using mouse movement.
* Fixed: Misspelled entry in the Content Flags list.
* Fixed: Some directory cards not being correctly detected by FFZ.
* Fixed: Color processing throwing an exception if the input value is empty.
* Fixed: Some page elements failing to appear correctly, instead showing an error. Notably this affects the PrattleNot add-on as well as some emote tool-tips. Closes https://github.com/FrankerFaceZ/Add-Ons/issues/193
* Changed: Add a note to the setting to hide extensions that recommends CommanderRoot's Disable Twitch Extensions browser extension.
* Changed: Log a warning when users use external scripts to mess with experiments.
* API Changed: `deep_copy` now correctly handles RegExp, Date, Set, and Map objects.
2023-12-18 17:11:44 -05:00
SirStendec
429553f5d4 4.62.2
* Fixed: Issue with colors not being calculated correctly when colors are being processed. Hopefully this is the last bug in the colors rewrite.
* Fixed: Incorrect PubSub event handling causing some events, notably point redemptions, to not appear correctly. Closes #1438.
* Fixed: Issue where certain pop-up elements would not close correctly when clicking outside them.
2023-12-14 21:17:14 -05:00
SirStendec
d503243be1 4.62.1
* Fixed: Incorrect handling of colors with alpha transparency when processing colors.
2023-12-14 18:53:05 -05:00
SirStendec
de09ec502d 4.62.0
* Added: New settings for hiding content from the directory based on tag, content flag, or title.
* Fixed: Certain page elements not being hidden correctly.
2023-12-14 18:33:08 -05:00
Mike
40865adba7
Merge pull request #1430 from FrankerFaceZ/types
The Grand TypeScript Update
2023-12-14 17:53:19 -05:00
SirStendec
18491b0873 4.61.0
* Changed: Replace the old Twitter widget on the FFZ Control Center's Home page with a custom Bluesky widget.
* Fixed: Settings profile rules for the current channel and current category not functioning correctly.

* Developer Changed: We TypeScript (a work-in-progress conversion)
* Developer Fixed: The GraphQL inspector not properly displaying data.
2023-12-14 17:52:35 -05:00
SirStendec
31e7ce4ac5 * Convert AddonManager to TypeScript.
* Convert PubSub (not PubSubClient) to TypeScript.
* Convert StagingSelector to TypeScript.
* Make sure to add ExperimentManager's events to the global interface.
2023-11-16 22:36:10 -05:00
SirStendec
6c6d4ceb98 Finish the initial conversion of the settings module to TypeScript. 2023-11-16 21:39:08 -05:00
SirStendec
136a2491c8 More type progress. 2023-11-16 18:41:50 -05:00
SirStendec
fed7d3e103 Merge branch 'master' into types 2023-11-14 13:41:22 -05:00
SirStendec
14bc111ec0 4.60.1
* Fixed: The Delete Message action not working correctly for users within a specific Twitch experiment.
2023-11-14 13:33:29 -05:00
SirStendec
9de3b92019 Bit more work. 2023-11-14 12:51:30 -05:00
SirStendec
b9d23accf0 Initial commit for converting FrankerFaceZ to TypeScript. 2023-11-13 20:47:45 -05:00
SirStendec
ba72969c51 4.60.0
* Added: When searching in the FFZ Control Center, you can now use the tag `@modified` to filter by settings that have been changed in the current profile.
* Added: Add-ons now have Changelog buttons that navigate to a changelog showing only entries for that add-on.
* Changed: The Changelog pages now has nicer formatting for each commit, including add-on icons and clickable links to add-on sub-pages when viewing the Add-on Changelog.
* API Added: To prevent FrankerFaceZ from loading into a page, include `disable_frankerfacez` in the URL query parameters.
* Experiment Changed: Fix incorrect roll-out percentage for API-Based Link Lookups. This should be fully enabled.
* Experiment Changed: Lower the percentage of users in the MQTT-Based PubSub experiment.
2023-11-06 20:47:19 -05:00
SirStendec
5046088bf7 4.59.1
* Fixed: Remove debug logging.
* Experiment Changed: Tweak the MQTT pub/sub client to handle subscription failures better.
2023-11-05 19:48:38 -05:00
SirStendec
a7e131070e 4.59.0
* Fixed: Appearance of the page when viewing a Watch Party.
* Fixed: During the initial load, some CSS blocks could be incorrectly injected into the page due to a race condition.
* Fixed: The sample embed in Chat > Appearance >> Rich Content not appearing correctly.
* API Added: New event class `FFZWaitableEvent`, a subclass of `FFZEvent` providing a framework for asynchronous event handlers.
* API Added: `site.channel:update-bar` event, fired whenever the channel info bar is updated.
* API Fixed: `chat.removeTokenizer()`, `chat.removeLinkProvider()`, and `chat.removeRichProvider()` failing to fully remove their respective items.
* API Removed: The `emitAsync` method has been removed from modules. Nothing was using it, and it was problematic due to the concurrent access protection on events. Instead, `FFZWaitableEvent` should be used if asynchronous waiting is necessary.
2023-11-05 14:49:39 -05:00
SirStendec
675512e811 4.58.0
* Fixed: When unloading an emote set, also unload its CSS block.
* API Added: `badges.removeBadge()` method for removing a badge from the system.
* API Added: `chat.iterateUsers()` method to iterate all User instances.
* API Added: `getUser().removeAllBadges()` method to remove all badges from a provider.
* API Added: `getRoom().iterateUsers()` method to iterate all User instances on a Room instance.
* API Added: `tooltips.define()` method to add a tool-tip handler to the system.
* API Changed: All core modules now use the add-on proxies to track which add-ons are responsible for injecting content, and to make it easier to unload (and reload) add-ons.
* API Changed: Many core module methods now display warning messages in the console when used improperly. For now, this mainly checks that IDs are correct, but there may be more warnings in the future.
* API Fixed: Calling `resolve()` will now properly use add-on proxies.
* Experiment Changed: Improved handling for server disconnects with the MQTT experiment, as well as handling for topic mapping changes.
2023-11-04 19:06:06 -04:00
SirStendec
c4da7fa9d9 4.57.4
* Fixed: Stupid typo making badge tool-tips not work correctly in some cases.
2023-11-03 16:21:52 -04:00
SirStendec
a5e5082d63 4.57.3
* Changed: Make the badge visibility settings page a bit nicer.
* Changed: Display add-on's maintainers field in the add-ons list.
* API Fixed: When iterating chat messages, include tokenized messages that have not been pushed out of the buffer yet.
2023-11-03 16:04:35 -04:00
SirStendec
71f347ab70 4.57.2
* API Added: Certain methods will now log warnings when in developer mode if being called incorrectly. For example, if an add-on registers new badge data without including its add-on ID as the data source. Expect these to be expanded over time.
* API Added: Add-on modules and sub-modules will all have an `addon_id` property containing their source add-on's ID, as well as an `addon_root` property with a reference to the add-on's root module.
* API Changed: The `ffz_user_class` property of chat messages should now be a `Set`, if it is defined.
* API Changed: Add-on module proxies are now cached.
2023-11-03 14:40:58 -04:00
SirStendec
04969cc57e 4.57.1
* Fixed: Certain player features breaking for Firefox users after the most recent update.
2023-11-02 23:57:56 -04:00
SirStendec
21ae0059a5 4.57.0
* Added: The FFZ Subwoofer badge now displays a user's number of subscribed months in its tool-tip.
* Added: Setting to set the default sorting mode of the directory. (Have you tried the Deck add-on?)
* Fixed: The location of certain player action buttons was incorrect after Twitch made changes to the player.
* Changed: Badges added by add-on are now grouped by add-on in badge visibility settings. This allows users to disable all badges from a given add-on at once, and is just generally nicer to look at.
* API Added: `iterateMessages()` method on the `chat` module as an easy way to iterate over all live chat messages, in case existing messages need to be modified without the overhead of tokenization.
* API Added: Badges can now be stacked together for visibility purposes, similar to Twitch's native badge versions, by setting a `base_id` on each badge.
* API Added: Badges can now display dynamic data on their tool-tip by using a `tooltipExtra` method. This was used to display Subwoofer subscription lengths.
* API Added: New setting UI type `setting-text` that can be used to insert arbitrary markdown into settings pages.
* API Changed: The `ffz_user_class` special property on messages can be an array instead of a string.
* API Fixed: Add-on proxy modules are now correctly used for an add-on's sub-modules.
2023-11-02 21:39:52 -04:00
SirStendec
0eaf1a55be 4.56.3
* Experiment Updated: Yet another update for the MQTT PubSub experiment.
2023-11-01 16:25:02 -04:00
SirStendec
4d2b65e7c2 4.56.2
* Experiment Update: This contains further work on the MQTT-based PubSub experiment.
2023-11-01 14:17:11 -04:00
SirStendec
0460c02994 4.56.1
* Experiment Changed: This release just changes the parameters of the MQTT pubsub experiment, but otherwise has no changes.
2023-10-30 14:01:28 -04:00
SirStendec
f1be0ea60c 4.56.0
* Changed: When rendering link previews for tweets with multiple images, arrange them the same way that they're arranged on Twitter itself.
* Fixed: Certain emotes not appearing correctly when using Firefox.
* Experiments Changed: Update to a new PubSub provider, for seeing if this can scale acceptably.
2023-10-29 14:30:34 -04:00
SirStendec
60e4edf7c2 4.55.3
* Fixed: Bug causing link previews to fail to load correctly.
2023-10-12 14:06:40 -04:00
SirStendec
5b65f6b735 4.55.2
* Fixed: Do not set `src` for images on Firefox, since that causes animations to reset when a new image is added to the DOM with the same `src`. For some reason. Thanks, Firefox.
* Fixed: The FFZ Control Center, Emote Cards, and Link Cards are now all aware of each other in a limited sense. The most recently interacted-with window will appear on top of the others.
* Fixed: Channel page links not having enhanced tool-tip preview support. (Still no link cards when you click them, but it's a start.)
* Developer: Made it so the Link Tester in Debugging > Data Sources will properly open link cards, as long as you have link cards enabled.
* API Added: Update to the latest FFZ rich tokens format, which has a new `i18n_select` token. This allows, for example, the link preview service to return multiple languages of titles and descriptions for a YouTube video so that your client can pick the best one to display.
* Experiment Changed: The "API-Based Link Lookups" experiment now has a third option that uses Cloudflare Workers. It's set very low while I try to gauge how much traffic it would see, and if this is a viable option.
2023-10-09 19:25:29 -04:00
SirStendec
29419eee22 4.55.1
* Fixed: Link Cards always opening regardless of the setting. Sorry about that, some code got deleted in a refactor and I didn't notice.
2023-09-26 19:39:39 -04:00
SirStendec
98e5373e9a 4.55.0
* Added: Link Cards. As an option, you can open a preview card when clicking on links in chat. These preview cards function similarly to the existing tool-tip or rich embed options but can provide for enhanced interaction (e.g. an embedded video player), with potential for more in the future.
* Changed: When using a custom theme with a dark background, use lighter border colors.
* Changed: Draw the FFZ Control Center and other dialogs with rounded corners.
* Fixed: Issue when clicking certain global Twitch emotes preventing the emote card from appearing correctly.
* Fixed: Issue with URL/safety data not being loaded correctly from the link service when the overall result was an error.
* Fixed: Issue with link tool-tips still appearing, but with no content, when link tool-tips are disabled.
* Fixed: Issue where (re)subscription notices in chat for multiple-month-at-once subscriptions would not be displayed correctly.
* Fixed: Tool-tips not displaying correctly in chat pop-outs in some circumstances.
* Fixed: Incorrect border styles when the chat is in portrait mode.
* Experiment Added: Set up an MQTT-based PubSub system. Let's see how well this scales.
2023-09-26 17:40:25 -04:00
SirStendec
d01f66c6f3 4.54.0
* Added: Setting to hide the Turbo button in the Twitch navigation bar. (Closes #1410, #1389)
* Added: Setting to automatically expand chat when entering full-screen. (Closes #1377)
* Changed: The "Change Name & Color" chat action now has buttons to automatically fill in a user's existing name and color. (Closes #1397)
* Fixed: Integration issue with a Twitch chat experiment causing certain features to not work correctly.
* Removed: Old setting to hide a "Discover" link in the navigation bar, as that seems to be long since removed.
2023-09-14 16:48:11 -04:00
SirStendec
92fcc853a6 4.53.0
* Added: Setting to hide streams in the directory based upon tags.
* Added: Setting to not automatically join raids to specific channels.
* Added: Setting to attempt to display Golden Kappa Trains when Hype Trains are otherwise hidden.
* Added: Settings profile filter rule for when the window is in fullscreen.
* Fixed: Do not activate theater mode settings when in fullscreen.
* API Added: The `site.player` module now has a `getUptime` method for getting the uptime of the current stream, if one is available.
* API Removed: The tag-related methods of `site.twitch_data`, aside from `getMatchingTags` which now has a different signature. The methods were non-functional due to Twitch removing the relevant endpoints.
* Developer: Added a debugging tool for viewing GraphQL queries in Apollo's cache.
* Maintenance: Tweak the webpack build to hopefully get Mozilla to stop complaining that their build environment is weird while accusing me of having the weird build environment.
2023-09-13 16:08:10 -04:00
SirStendec
8ac95f3a52 4.52.0
* Added: Setting for customizing how tab-completion matches emote names.
* Added: Clips pages now have support for opening emote cards when clicking an emote in the chat replay.
* Fixed: Issue where chat was not rendering as intended on clips pages.
* Fixed: Issue where the FFZ Control Center link was not added to clips pages.
* Fixed: The chat actions module being instantiated in memory twice.
* Fixed: Blank badges appearing in chat, most notably in historic messages, when a chat message has invalid badge data associated with it.
* Fixed: Use a mutation observer for detecting the drops Claim button, rather than a simple timeout, for better consistency.
* Fixed: Issue when using the webpack public path variable that may lead to URL generation with extra `/` characters, breaking some behavior in Firefox when packaged as a local extension.
* API Added: Support for displaying an emote's original name, if an emote has been given a collection-specific name, using an `original_name` field.
2023-09-09 17:43:51 -04:00
Mike
fc009a84e7
Merge pull request #1402 from Lordmau5/feat/tab-completion-setting
Add setting for tab-completion matching
2023-09-09 17:27:30 -04:00
SirStendec
8e19604534 Maintenance: Another couple small fixes for building a standalone extension. 2023-09-07 14:19:16 -04:00
SirStendec
459e77a2a3 Maintenance: Fixing build issues for the bundled browser extension. 2023-09-07 14:05:10 -04:00
SirStendec
f88f859dcf 4.51.1
* Fixed: Pages on domains other than `www.twitch.tv` failing to load due to a bug with the settings bridge introduced in the last update.
* Fixed: The standalone player's latency metadata not displaying the buffer length.
* Fixed: Replies appearing with colored usernames with the setting to have colored mentioned disabled.
2023-09-06 17:20:05 -04:00
SirStendec
588d3e3da9 4.51.0
This is the first release built with the updated build toolchain. Please let me know if you find anything unexpected that broke.

* Added: Setting to treat known usernames in chat as mentions even without an at sign (@) prefix.
* Added: Setting to automatically claim drops.
* Added: Setting to hide the Subtember banner.
* Changed: The stream latency metadata tool-tip now includes the buffer size value.
* Fixed: The stream latency metadata was not appearing on the new mod view layout.
* Fixed: The sub/bits leaderboard appearing in chat when it should be hidden by a setting.
* Fixed: Incorrect text color on the Subtember banner.
2023-09-06 16:10:47 -04:00
SirStendec
10ca28098b Maintenance: This commit updates to webpack v5 and esbuild. I'm still testing it, but I think this'll work. 2023-09-01 17:01:52 -04:00
Lordmau5
303a2739dd Add setting for tab-completion matching
A recent PR changed the default behavior that was in FFZ for a few years at this point to bring it more in line with how Twitch handles its tab-completion: `Match anywhere in the emote name`

This adds a new setting to select from 3 different match types.
2023-08-31 15:48:38 +02:00
SirStendec
cef58241d4 4.50.0
* Added: Setting to automatically uncheck the "Featured Clips Only" option when viewing a channel's clips.
* Added: Chat actions can now use the `urlencode` formatter. Really this should have been available from the beginning, as it makes the Open URL action much more useful.
* Fixed: An issue where certain emotes wouldn't appear in the list of available emotes during tab-completion.
* Fixed: An error in the stream latency metadata handler when the video player cannot be accessed.
* Fixed: An issue where a user's FFZ settings profiles may become corrupt and prevent the FFZ Control Center from functioning correctly.
* Fixed: An issue where ephemeral settings profiles may not initialize correctly.
* Fixed: The new Hype Chat up-sell at the top of chat not being hidden. Go away Hype Chat no one likes you.
* Changed: Add support for an updated pubsub library.
* API Added: Prefix modifier support, to make Lordmau5's life easier with the BTTV Emotes add-on.
* API Changed: Attempting to alter settings profiles before the settings module has fully initialized will throw an exception.
* Maintenance: Update the pnpm lockfile.
2023-08-19 18:08:44 -04:00
Mike
7455ec6a2b
Merge pull request #1375 from Tester798/fix-emote-autocomplete
Fix autocomplete not showing all emotes
2023-08-19 16:49:18 -04:00
Mike
8d238698ab
Merge pull request #1382 from AlcaDesign/master
Add urlencode formatter and add formatter list to more actions
2023-08-19 16:48:31 -04:00