1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-10-13 22:41:57 +00:00
Commit graph

151 commits

Author SHA1 Message Date
SirStendec
33e81bc7eb 4.5.3
The Great Maintenance Update. No new features here. Instead, we've updated the build system to webpack 4, updated all our dependencies, and cleaned up a lot of linting issues.
2019-06-20 15:15:54 -04:00
SirStendec
014eb203c3 The Great Webpack Update.
* Update to version 4 of webpack.
* For that matter, update *every dependency* to the latest available version.
* Remove the babel build target for Edge, as it doesn't seem to be necessary with webpack 4 and tenser.
* Add support for optional chaining and nullish coalescing via Babel transformations.
* Update the clips domain version to work better. Or at all, really.
* Remove unused code from i18n.
* Remove the last `<style>` from vue component files. They don't work that way now anyways.
* Fix a bug in Raven's report handler.
* Fix a bug with the menu button in browsers that don't understand `:scope` within `querySelector()`.
2019-06-19 20:57:14 -04:00
SirStendec
567708b7f1 4.5.2
* Added: Setting to hide the "New Settings" badge that displays on the FFZ Control Center button when there are new settings.
* Fixed: Incorrect locale detection causing Algolia queries to fail when loading auto-completion for tags.
2019-06-19 13:55:04 -04:00
SirStendec
3c00c0946e 4.5.0
* Added: Setting to hide the "LIVE" indicator on live channel pages.
* Added: Setting to invert portrait mode, placing chat at the top rather than the bottom.
* API Added: New icons to the default icon set: `user`, `clip`, `sort-down`, `sort-up`, `sort-alt-up`, `sort-alt-down`, and `language`.
* API Added: All Vue components now have access to a `getReactURL(route, ...)` method for building URLs.
* API Fixed: `<react-link />` will not attempt a React navigation if given a non-relative link.
* API Fixed: Issue with `getTagImmediate` throwing an exception when not given a callback function.
2019-06-17 15:32:38 -04:00
SirStendec
80148e5579 4.4.2
* Changed: Use the new Twitch Data module for fetching stream up-time when it isn't known, rather than forcing queries to re-fetch.
* Changed: Add a method to Twitch Data for looking up stream up-time.
* Fixed: The autocompletion component should not swallow key-presses when modifier keys are being held.
* Fixed: Issue when comparing against `null` with `deep_equals`.
2019-06-15 03:58:06 -04:00
SirStendec
275248ca36 4.4.1
* Added: `Current Channel` rule for profiles, to match all pages associated with a certain channel without needing many page rules.
* Fixed: Unreadable text in light theme when importing a profile.
* Changed: Display a matching page URL in the `Current Page` rule for profiles.
* Changed: Do not display an inactive profile warning on the Add-Ons settings page, since those are not affected by profiles.
* Changed: Update Vue to a more recent version.
* Maintenance: Update the chat types enum based on the latest version of Twitch.
* API Added: `TwitchData` module (`site.twitch_data`) for querying Twitch's API for data.
2019-06-14 21:24:48 -04:00
SirStendec
c34b7e30e2 4.4.0
The Profile Update! Now, it's possible to create custom settings profiles. The important thing about profiles is that you can have different profiles run according to different rules. Want some settings to only apply on your dashboard? Use a Current Page rule set to Dashboard. Want your chat wider in theater mode? Create a profile for Theater Mode.

* Added: Profile Editor.
* Added: Ability to import and export specific profiles.
* Added: Ability to update profiles from JSON files for more advanced users.
* Fixed: Update `sortablejs` dependency to fix issue with sorting behavior.
* Fixed: Several issues in the settings profile system which never came up because custom profiles weren't available.
* Fixed: Hotkeys freezing chat when they shouldn't, up until the first time the mouse hovers over chat.
* API Added: `deep_equals(object, other, ignore_undefined = false)` method of `FrankerFaceZ.utilities.object` for comparing two objects, deeply.
* API Changed: `<setting-check-box />` controls can now display their indeterminate state.
* API Fixed: `deep_copy()` eating Promises and Functions.
2019-06-13 22:56:50 -04:00
SirStendec
734a73eb0e 4.3.2
* Fixed: Maintain the mouse hover state for chat when moving the mouse over the context menu from an in-line chat action.
* Fixed: Do not allow mouse interaction with the notice at the bottom of chat when chat if frozen, ensuring that users can interact with the bottom chat line.
* Fixed: Block and Hide Thumbnails buttons not appearing on Directory pages.
* API Fixed: `deep_copy()` converting `null` into `{}`.
* API Changed: Tooltips can now emit hover events.
2019-06-12 21:13:53 -04:00
SirStendec
21ee6fcfb7 4.3.1
* Fixed: Unable to see in-line chat action context menus in theater mode.
* Changed: Add a new socket server to the list to take pressure off the others.
* API Added: `debounce` method in `FrankerFaceZ.utilities.object`.
* API Added: `<autocomplete>` Vue component for implementing text fields with auto-completion.
* API Changed: Update localized Vue strings immediately when the i18n debug transformation changes.
* API Changed: `<icon-picker />` now has a closed and open state. It doesn't always show the drawer of icons.
* API Changed: Include the `vue-clickaway` mixin in everything.
2019-06-09 19:48:26 -04:00
SirStendec
aa25bff498 4.3.0
* Added: Setting to hide the "Not Live" bar beneath videos and clips that appears when the channel is currently live.
* Fixed: Handling of `https://www.twitch.tv/<channel>/clip/<slug>` urls for rich chat embeds and rich link tool-tips.
* Fixed: Lower the priority of custom highlight terms so they will not break links.
* Fixed: Holding multiple modifier keys to display in-line chat actions.
* Fixed: Clean up out-dated avatar display setting for the directory.

* API Added: Allow add-ons to access the Popper JS library via `FrankerFaceZ.utilities.popper`.
* API Added: `<icon-picker />` Vue component for selecting an icon.
* API Added: `<react-link />` Vue component for creating links that cause the React app to navigate without a page load.
* API Added: `<t-list />` Vue component for translating text including Vue elements.
* API Added: `maybeLoad(icon)` function for font awesome to only load the font if the icon is from font awesome.
* API Added: `generateUUID()` function to `FrankerFaceZ.utilities.object`
* API Added: The `vue-observe-visibility` module is now loaded with Vue and made available in all Vue contexts.
2019-06-08 17:35:48 -04:00
SirStendec
4e0539103a 4.2.5
* Fixed: Words being highlighted as mentions incorrectly when they start with the user's name.
* API Changed: New `<react-link>` and `<aspect>` global Vue components.
2019-06-05 20:29:33 -04:00
SirStendec
8582626269 4.2.4
Fixed: Issue with Recommended Channels query.
Changed: Add information on loaded add-ons to generated logs.
API Changed: Add the missing utility modules to `FrankerFaceZ.utilities` exports, for use in add-ons.
API Changed: Make the Dialog class a bit more flexible.
2019-06-05 00:30:45 -04:00
SirStendec
cebb1c0140 4.2.0
This is a fairly hefty update, behind the scenes. We've rewritten all code that deals with chat scrolling in order to integrate with Twitch's last batch of changes that made chat pausing accessible for moderators. This update also enables the Add-Ons System for all users.

* Added: Setting to allow you to pause chat with a hot key, even when the mouse isn't hovering over chat.
* Added: Setting to control how long chat remains paused due to move movement.
* Fixed: Chat row backgrounds changing when messages are removed from chat.
* Changed: Integrate with Twitch's own chat pausing code, where it makes sense.
* Changed: Remove the experiment locking down access to the Add-Ons Loader.
* Changed: When using the current time as a cache buster, truncate it to the nearest 5 second interval.
2019-06-03 19:47:41 -04:00
SirStendec
535192d931 4.1.2
* Fixed: Mentions not appearing in bold font.
* Fixed: Highlighting messages in chat when opening a viewer card by clicking a mention that wasn't all lower-case.
* Fixed: Detection of External add-ons when there is a name collision.
* Changed: Do not report name collision errors.
* Changed: Allow for multi-line add-on descriptions.
2019-06-01 13:58:12 -04:00
Mike
a305d03b2c
Add-Ons Loader System (#606)
Implements an Add-on Loader so that other add-ons, such as the FFZ Add-on Pack, can be loaded directly by FFZ without requiring the user to install multiple extensions into their browser.
2019-06-01 02:11:22 -04:00
SirStendec
bdeb314f95 4.0.0-rc21.8
* Fixed: Square avatars in the left sidebar.
* Fixed: Rich tooltips for `i.stack.imgur.com` images.
* Changed: Priority of socket servers for connection.
2019-05-31 16:42:26 -04:00
SirStendec
bd11a6f2aa 4.0.0-rc21
* Added: In-Line Chat Actions can now be set to display with specific modifier keys being held. This feature currently requires that Freeze Chat Scrolling is enabled. (Though, why you'd want to use this without that feature is beyond me.)
* Fixed: Bug with custom chat width in theater mode.
* Fixed: The `Get Bits` button appearing when disabled.
* Fixed: Issue with highlighting chat usernames when using Firefox.
* Fixed: Misc minor bugs.
2019-05-16 14:46:26 -04:00
SirStendec
c920b43e01 4.0.0-rc19.4
* Changed: Better DOM scanning performance by giving up faster.
* Fixed: More stupid changes in order to force events to fire on the component we grab badge data from.
2019-05-04 03:36:10 -04:00
SirStendec
3e9e1b2ede 4.0.0-rc19.1
* Changed: Remember which sections of the settings menu a user has expanded and restore that state when re-opening the menu.
* Changed: Begin tracking which settings a user has seen, so that a future update can begin highlighting newly added settings.
* Changed: Clean up the new localization code a bit more.
2019-05-03 22:36:26 -04:00
SirStendec
35316b8827 4.0.0-rc19
* Added: Option to hide Squad Streaming banners on channel pages.
* Changed: Rewrite the entire i18n system to use the standard ICU message format.
* Changed: Render the context menu for chat messages in Chat on Videos.
* Fixed: Badges not appearing correctly in chat.
* Fixed: Messages in Chat on Videos with embeds appearing too wide.
2019-05-03 19:30:46 -04:00
SirStendec
8bc25b8d5f 4.0.0-rc18.2
More performance!

* Changed: Push the chat scroll to bottom into a new animation frame to avoid costly recalculations as much as possible.
* Fixed: Runaway performance issue when using FontAwesome icons for in-line chat actions due to an overabundance of CSS.
* Fixed: Emitting updated events for settings that haven't changed, resulting in frequent re-rendering of all chat lines.
2019-04-30 15:18:29 -04:00
SirStendec
23816fafc9 4.0.0-rc18
* Added: Reason context menus for in-line timeout and ban actions.
* Fixed: Certain FFZ tool-tips using the wrong input handlers.
* Fixed: Do not update CSS whenever bits configuration changes, only when necessary. (Performance fix for the bleed purple campaign.)
* Changed: Mark certain page elements with a flag to avoid crawling them with MutationObservers. (More performance~~)
2019-04-29 18:14:04 -04:00
SirStendec
80282914c4 4.0.0-rc15
* Added: Data Management > Backup and Restore
* Added: Option to expand merged mass sub gift messages by default.
* Added: Option to hide the Discover link in the top navigation bar.
* Changed: Use icons for navigation of the emote menu. Fix padding as well.
* Fixed: Player problems on Squad Streams pages.
* Fixed: Option to hide Live indicators on channels in the directory.
2019-03-14 21:43:44 -04:00
SirStendec
24a5cd512f 4.0.0-rc14
* Added: New settings in Chat > Appearance for controlling Subscription notices in chat.
* Changed: Display an icon next to new subscription notices, like vanilla Twitch is doing now.
* Changed: Display in-line moderation actions on subscription notices without associated messages.

You can now merge mass gift subs, as well as completely hide subscription notices if you so choose. Please note that you will still see the messages people send with their gift regardless of these new settings.
2019-02-05 14:24:45 -05:00
SirStendec
d6504757b3 4.0.0-rc13.11
* Added: Debug Log generation and easy uploading for issue reports.
* Fixed: Bug with chat lines not having a state causing rendering to crash.
* Fixed: Add an error boundary around the custom FFZ Emote Menu to catch errors, displaying feedback and sending error reports rather than silently failing.
* Fixed: Typo in Fine when logging errors.
* Changed: Update chat types with the latest values from Twitch's source.
* Changed: Update the GitHub issue template with instructions on uploading logs from v4.
2018-12-03 18:08:32 -05:00
SirStendec
87f3f1835b 4.0.0-rc13.5
* Fixed: Stream up-time on channels.
* Fixed: More improvements to GraphQL merging logic.
* Fixed: Remove debug logging.
2018-10-16 18:04:54 -04:00
SirStendec
551a08bfd0 4.0.0-rc13.4
* Fixed: Game directory pages not loading.
* Changed: Rewrite GraphQL query merging logic to hopefully perform in a more robust manner less likely to break in the future.
2018-10-16 15:12:47 -04:00
SirStendec
3a0f94a230 4.0.0-rc12.18
* Fixed: Force Apollo queries to reload if there is missing data in the cache. This should fix the loading errors.
* Fixed: Use `Tier 1`, `Tier 2`, `Tier 3`, etc. in the emote menu when the price is not available for a subscription product.
2018-09-02 13:30:51 -04:00
Lordmau5
6518c8e7a4 Fixed: Add pagination support to the emote menu's data loader (#507)
* Fix emote menu not loading more than 100 subscription benefits
* Implement @last support in .get

Modify `curr_cursor` to use the new get @last modifier
2018-08-16 22:38:39 -04:00
SirStendec
d886e5cdb5 4.0.0-rc9.1
* Changed: Do not hide the emote menu when it's taller than the whisper UI.
* Fixed: Chat features not working on the dashboard.
* Fixed: Player features not working with Twitch's new player loading scheme.
2018-07-27 03:18:19 -04:00
SirStendec
b8f86fe48f 4.0.0-rc8.6
* Fixed: Update Fine to deal with changes to how the React Root is stored in the DOM.

Behind the Scenes

* Working on the UI for Translation Editing
* Refactor some of the main menu dialog logic into a more generic Dialog class
2018-07-24 16:11:02 -04:00
SirStendec
5a7a4f3ea9 4.0.0-rc7
* Added: Initial support for Chat on Videos.

Please note that moderation features are not currently available when FFZ features for Chat on Videos are enabled. There is a setting to disable custom FFZ rendering which makes moderation tools accessible.

More work has also been done on getting custom viewer cards ready.
2018-07-19 22:03:01 -04:00
SirStendec
17fb41f083 4.0.0-rc4.5
* Added: Whisper Support
* Fixed: UI missing hover state for a few elements added by FrankerFaceZ.
* Fixed: Handle missing badge definition when rendering FFZ badges.
* Fixed: Update static chat message type mappings.
* Fixed: Error in metadata when unable to get the proper player.
* Fixed: Incorrectly applying dark theme to products page.

A bit more work on getting enhanced viewer cards ready.
2018-07-13 14:32:12 -04:00
SirStendec
4a326823b9 4.0.0-rc4.4
* Changed: Make usernames in chat line resub messages clickable.
* Fixed: Remove debug logging.
* Fixed: Make the code to automatically leave raids more resilient against Twitch wanting people to join raids automatically.
2018-07-09 21:35:31 -04:00
SirStendec
0775cd1e77 4.0.0-rc4.3
* Added: Settings Search
* Added: Button to open the FFZ Control Center in a new window.
* Added: Button to fade the FFZ Control Center.
2018-07-05 20:27:17 -04:00
SirStendec
2a790ad7cd 4.0.0-rc2. Add basic custom highlight terms and blocked terms. Change the socket cluster setting because users are users. Open settings in a new window if clicking the chat menu link with ctrl or shift. Hide the Get Bits button in the site navigation. Add an additional socket server. 2018-05-31 18:34:15 -04:00
SirStendec
3df7f0472d Add chat:pre-send-message event for outgoing message processing. (Does not currently allow you to modify the message. Fixan issue with the emote menu. Add setting to always show deleted messages. 2018-05-22 17:23:20 -04:00
SirStendec
86c5fee033 More webpack 4 code. Make sure to asynchronously await the availability of our webpack hook everywhere that we use it that it's reasonable to wait.
This adds a new module called switchboard that abuses the root React Router instance to forcibly load a chunk, letting us grab `require()` quickly rather than waiting potentially forever for another chunk to be loaded due to user action, etc.
2018-05-18 17:48:10 -04:00
SirStendec
194f93414d Rewrite webpack hooking code to add (untested) support for webpack 4. It's not perfect yet. We have to wait for a module to be required to actually get require. Will have to investigate poking at the state of React to try making it load a feature module or something. 2018-05-18 14:16:45 -04:00
SirStendec
6c77e2ca5c More work on viewer cards. Enable the rich card provider for videos. Start working on a standard data model for chat lines. Add a dev build notice to the menu button. Work on player no-hosting logic. Work on getting Room lines ready. Attempt to fix webmunch not working with a read-only webpackJsonp. Start adding logviewer support. 2018-05-18 02:10:00 -04:00
SirStendec
40a829355f Fix searchParent. We're supposed to check inst for a React root, not node. 2018-05-12 02:31:49 -04:00
SirStendec
42c3a23840 Traverse into different React roots when scanning the tree. This is needed as the new dashboard mounts each widget in its own React root. 2018-05-12 02:23:43 -04:00
SirStendec
9dc8252df0 4.0.0-rc1.5
Add an option to hide the mouse over the player. This doesn't work well in Chrome. Oh well, we tried.
Add an option to not automatically join raids for that comfy falling asleep experience.
Fix in-line actions not rendering when they should.
Fix detokenizeMessage for changes to Twitch's message format.
Don't try to preview the `create` clip URL.
Start using functional components where possible for performance.
Stop logging GraphQL errors to save our Sentry quota.

Begin implementing chat rendering on top of Vue. For now, we've got functional components for every type of chat token. We've got a lot of work ahead of us. This will eventually be used for mod card history, chat panes, and maybe even pinned rooms.

Add an event to clean orphan tooltips. Useful for when we click something we know will change DOM elements with active tooltips, like a Close button for example.
2018-05-10 19:56:39 -04:00
SirStendec
c548f15290 Fix issues with logged out users for actions.
Look up the room login from the ID when rendering a chat line if we don't have the login already.
Add color validation to the color picker component.
If room is null, don't even try sending a message.
Allow sending messages to any room and not just the current room.
Swallow errors when processing colors and return null.
2018-04-29 01:28:19 -04:00
SirStendec
fdde05030f The In-Line Actions Update
* Add extensible actions system.
* Add extensive UI for configuring the actions system.
* Add setting to disable channel hosting.
* Fix the stupid Rooms thing popping up every time you open a channel.
* Fix how we grab chat types from React.
* Refactor how we handle incoming chat messages.
* Add a hook for outgoing chat messages.
* Fix emoji appearing squished with baseline emote alignment.
* Display arrows on balloons.
* Fix an issue generating emoji URLs.
* Do not use the default values for settings with merge strategies if profiles have those settings, just empty.
* Display a message in the chat settings menu if we tried opening FFZ's settings and failed.
* Wait a bit for webpack's loader if it's not immediately there for some reason.
* Probably other stuff.
* Not mod cards. Yet.
2018-04-28 17:56:03 -04:00
SirStendec
161b084626 Stop using thing.parentElement.removeChild(thing). Also make sure the block exists in ManagedStyles before we remove it. 2018-04-19 16:39:16 -04:00
SirStendec
0331799242 Twitch's API is stable and has great, standardized error messages. 2018-04-15 23:10:01 -04:00
SirStendec
e581b50b08 Fix bug tokenizing cheers in messages. Try to fix any bugs getting a user for a room. Strip apollo 404 messages from Sentry. Don't show the expansion arrows in the emote menu when using a filter. Fix emoji tab completion a bit. 🐝 should not match 🍺. Start using crossorigin for script serving. Add a debug transformation for localization. 2018-04-15 17:19:22 -04:00
SirStendec
9c95335743 Add Emoji Rendering. Add basic emoji tab-completion. The emote menu needs a re-think for performance. Strip out more Apollo bugs. Fix tooltips being silly. 2018-04-12 20:30:00 -04:00
SirStendec
1b2ff27530 More bugfixes. Actually implement the API test experiment. 2018-04-12 02:29:43 -04:00