1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-06-27 21:05:53 +00:00
Commit graph

1234 commits

Author SHA1 Message Date
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
SirStendec
7f109b4b48 4.49.0
* Added: Setting to automatically accept content warnings when opening a stream.
* Added: Three settings to control the appearance of Hype Chat messages.
* Changed: Added a few keywords to settings entries in the `Data Management` category for better search support.
* Developer: The chat and pubsub logging utility can now inject pubsub messages for testing.
2023-06-26 13:11:27 -04:00
Jacob Foster
5af062fb15 Add formatters list to copy and url actions 2023-06-19 04:36:49 -05:00
Jacob Foster
fd28caf146 Add "urlencode" chat action formatter 2023-06-19 04:36:13 -05:00
SirStendec
eea9d51bdc 4.48.1
* Fixed: Certain chat-related features no longer working due to a minor change in Twitch's JS application causing FrankerFaceZ to be unable to locate a core chat component.
2023-06-12 17:26:08 -04:00
Tester798
41fd377f48 Fix autocomplete not showing all emotes 2023-06-12 23:30:03 +03:00
SirStendec
c4b16a4910 This is a maintenance commit while working on building a standalone version of the web extension. 2023-05-29 17:54:50 -04:00
SirStendec
d0bae9abe1 This is a maintenance commit, while working towards building a version of the extension that can be packaged to not use the CDN. 2023-05-29 17:18:43 -04:00
SirStendec
109898a10d 4.48.0
* Fixed: The `/ffz reload` command is now `/ffz:reload` to remove an undesirable behavior with Twitch's completion handling when backspacing.
* Fixed: Spaces being included in links when they shouldn't be.
* Fixed: Previews of emotes in chat when typing their names directly.
* Changed: Initial work on tracking the audio/video de-sync when using audio APIs for the compressor. This appears as a value in the stream latency metadata tool-tip, but currently drifts whenever the player is paused.
* Changed: Initial work on allowing the extension to be loaded from a bundled extension.
* API Changed: The load tracker now returns a list of reported loading keys when firing events.
2023-05-19 15:02:25 -04:00
SirStendec
67c64e6f7e 4.47.1
* Added: Option to use the older, lighter input elements when using a dark theme. (Effectively reverts the recent Twitch change.)
* Fixed: Issue with the settings bridge failing to load when using a profile with a Current Monitor rule.
* Fixed: A few minor colors being applied incorrectly when using theme options.
* Fixed: No background being present behind certain elements, including most notably up-time in the directory.
2023-04-27 17:30:58 -04:00
SirStendec
e6ad12c937 4.47.0
* Added: `/ffz reload` command to reload emote and badge data without reloading the page. (Note: Add-ons will need to update to add support for the command.)
* Changed: Improve monitor support for Current Monitor, specifically when a user has multiple monitors with the same name.
* Fixed: Track the loaded status of global FFZ badges when loading chat data.
* Fixed: The page scrolling incorrectly when using the FFZ emote menu in some situations.
2023-04-24 15:09:21 -04:00
SirStendec
9381c17e71 4.46.2
* Added: Command to manually force chat to `/reconnect`. (This was actually added in the last version, but I forgot to include it in the change log.)
* Fixed: Rich embeds for links not appearing.
2023-04-20 00:55:52 -04:00
SirStendec
5956312ae3 4.46.1
* Fixed: Correctly display if a user was banned, timed out, or if their message was simply deleted. (This bug has been around for far, far too long. Sorry for the delay.)
* Removed: The legacy chat line rendering method, which was replaced by the Modular Chat Line Rendering experiment. This is not a change users should notice.
* API Added: Chat tokens can now have `allow_rich: false` set to avoid being used for rich content embeds.
2023-04-19 17:19:10 -04:00
SirStendec
2db7122c1d 4.46.0
* Added: Profile rule to allow profiles to only be active on a specific monitor. This currently relies on a Chromium-specific API and is not available for Firefox users. (Closes #1358)
* Added: Simple 'And' profile rule for building complex behaviors without needing a workaround.
* Changed: Update the link detection regex to match Twitch's native behavior. (Closes #1353)
* Changed: When the add-ons list is being filtered by a search term, display a notice to the user.
* Fixed: Unable to set keys for Message Hover actions. (Closes #1316)
* Fixed: The Wide emote effect not correctly being disabled.
* Fixed: Long emote names causing the favorite button on the emote card to appear incorrectly.
* Fixed: Whenever a user's last profile is removed, automatically create a new profile.
* Fixed: When scrolling the emote menu, take best efforts to ensure other page elements are not scrolled incorrectly. This notably fixes a scrolling issue on mod view.
* Fixed: If users have disabled the `document.fonts` API, do not attempt to filter the list of installed fonts for the font selector controls.
2023-04-17 16:56:46 -04:00
SirStendec
3d4b4f6225 4.45.1
* Fixed: Performance regression due to WYSIWYG emote preview injection. This may result in the feature working less effectively while a better solution is found.
2023-03-31 23:15:49 -04:00
SirStendec
880e80388a 4.45.0
* Added: Emote cards are now at parity with vanilla Twitch emote cards when it comes to displaying Twitch emotes, including the ability to follow/subscribe to the source channel, view their other emotes, and report emotes.
* Added: Emote cards for FFZ emotes now allow you to add an emote to any collection you can manage.
* Added: Emote cards for other emotes now have an action to open the emote on the source service's webpage.
* Fixed: Effect emotes not appearing when used incorrectly in chat.
* Fixed: Rebuild the tab-completion emote array in a way more likely to cause Twitch's native input element to update when we change our emotes.
* Changed: Use a higher contrast "New" pill when displaying new items in the FFZ Control Center. (Closes #1348)
* Changed: Push the modular chat line rendering experiment to 100% roll-out.
2023-03-30 14:54:33 -04:00
SirStendec
53814e7024 4.44.1
* Fixed: Animation error for leave effect.
2023-03-27 19:49:24 -04:00
SirStendec
21bc0a704f 4.44.0
* Added: Initial re-implementation of emote information cards. These have been broken for a while due to changes in Twitch's website preventing us from accessing them.
* Added: Setting to hide charity progress elements in chat.
* Changed: Emote tool-tips now display emote artists.
* Changed: The `Chat Command` chat action can now optionally be sent in another channel. Note that when doing so, you will not receive feedback from your sent message.
* Fixed: The 'Viewer Count' tool-tip duplicating itself.
* Fixed: Emote menu repeatedly requesting FFZ data.

* API Added: Ephemeral profiles can now be created by passing `ephemeral: true` in the options when creating a profile. These profiles are temporary and read-only.
2023-03-27 18:50:32 -04:00
SirStendec
daa193aa03 4.43.0
* Added: Automatically reprocess chat messages when loading a channel for the first time. (Closes #1333)
* Fixed: Random emotes being insert into chat when using the emote menu in some situations. (Closes #1337)
* Fixed: When tokenizing messages, ignore fake emotes injected into Twitch's chat handler for the purpose of auto-completion and WYSIWYG support.
* Changed: Switch to a better method for how to get `require` from webpack.
* Changed: Update the logic used to calculate the container size when overlaying emotes.
* API Added: `load_tracker` module for waiting for multiple events to finish. This is used to reprocess chat lines once every data source has finished loading to avoid multiple unnecessary updates.
* API Added: Add-ons can now set a `load_events` array in their manifest to have the add-on loader register them with `load_tracker`, ensuring events don't fire before the add-on is able to execute.
2023-03-10 17:06:12 -05:00
SirStendec
e26f836267 4.42.1
* Added: Setting to disable the Emote Effects tab in the emote menu.
* Fixed: Issue with emotes appearing in the wrong place when combining certain emote effects.
* Fixed: Issue with emoji not appearing when used with emote effects.
* Fixed: Issue with the Large Emotes setting not working correctly when used with emote effects.
* Fixed: Do not display the Emote Effects tab in the emote menu if there are no visible sets with effects.
* Changed: When clicking an emote effect from the emote menu when there is no existing emote in chat, and thus previewing with a random emote, insert that emote into the chat input as well.
* Changed: Do not display random emotes that the user cannot use when previewing emote effects.
* Changed: Do not use 'Display and Send' for the emoji joiner workaround by default as it is no longer necessary.
2023-03-08 01:52:35 -05:00