1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-07-25 03:58:30 +00:00
Commit graph

702 commits

Author SHA1 Message Date
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
Lordmau5
9ef7c2aee3 Basic mod cards support (#423)
* More work on mod cards

* More work on mod cards!

Some sort of dynamic component thingy madoohickey

* Change up implementation of tabs

* Implement focus and tabindex

* Remove unused GQL queries / mutations

* Implement user info

* Only show use rlogin if an international name was detected

Also attempt to fix line height

* Remove testing memes

* Remove derps... whoops
2018-04-30 14:27:14 -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
e9214bb46a Rewrite stack traces for Sentry to use the static URL for the current FFZ build to make sure it uses correct source maps. 2018-04-19 16:40:01 -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
37237c47a6 Fix the navigation bar updating hiding the FFZ menu button as well as the main menu not appearing on some pages. 2018-04-19 16:38:21 -04:00
SirStendec
547f50312e Rewrite stack traces for Sentry to include the proper, static path to the current build to ensure that the correct source map is read by Sentry for displaying the exception. 2018-04-16 18:56:42 -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
730e2129e9 Fix an issue with Raven erroring when error reporting is disabled.
Fix an error with featured emote sets when a room does not exist or is being destroyed.
Fix an error with the host menu when autohost settings failed to load.
2018-04-13 13:36:05 -04:00
SirStendec
dcb1ab9a7f Fix the emote menu always starting collapsed. Make tab completion for emoji slightly better. 2018-04-13 00:16:58 -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
SirStendec
99f9974dea Fix a CSS bug with the emote menu.
Fix Edge not building properly. It was failing to transpile .jsx files.
Add a dev script for the babel build for Edge. It's just as bad as you'd imagine.
Stop using the env preset for babel builds and instead just use the class transform plugin.
Add logging to Module when discovering modules.
2018-04-11 22:18:04 -04:00
SirStendec
92917453a7 Add settings for controlling the error reporting system.
Fix issues with destroying rooms and users.
Fix the control center not being available on certain pages.
Fix the host menu appearing when you aren't logged in.
Clean up some old CSS.
2018-04-11 20:48:02 -04:00
SirStendec
e773600a3e More event filtering for Sentry error reporting. 2018-04-11 17:49:31 -04:00
SirStendec
d7a07a5612 The Report Your Errors Update
* Add automatic error reporting with Sentry.io
* Filter a bunch of bad errors from showing up on Sentry
* Add module.hasModule method.
* Fix deep_copy
* Fix disallow mouse interaction with extensions
* Add some new icons to the icon font for mod cards
* Allow Ctrl-Shift-Clicking emotes.
* Rarity sorting for experiments and unset display for unused experiments.
2018-04-11 17:05:31 -04:00
SirStendec
e3a7e3b64d Add experiments system. Add experiments UI. Update disabled buttons to use tw-button--disabled. Update chat line rendering. Add preset emote sizes to the emote menu to reduce reflows when loading. Fix directory issues caused by fixes to route sorting. Update the theme. Add a current route name value to fine router. Add recursive object protection to deep_copy. 2018-04-10 21:13:34 -04:00
SirStendec
1841ab156c Add favorite emotes. Add emote menu sorting. Use a CSS variable for border colors for chat lines. Use fixed emote images for the emote menu. 2018-04-09 19:57:05 -04:00
SirStendec
a01b21e9d9 Bump version. Update changelog. Tweak strings for the new emote alignment setting. 2018-04-08 15:51:50 -04:00
Lordmau5
5fb92f52da Implement emote-alignment setting (#409) 2018-04-08 15:20:46 -04:00
SirStendec
ac78c0c9c4 Fix disappearing tooltips. (Closes #408) 2018-04-08 15:19:34 -04:00
SirStendec
6fd2e8a2ba Fix routing issues. (Closes #407) 2018-04-08 15:03:40 -04:00
SirStendec
c5564150b1 Clean up featured follow. Try to make the UX a bit nicer. Localize strings that weren't being localized. Add error handling. 2018-04-08 15:00:16 -04:00
SirStendec
8c5b6910ed Log errors in metadata so we can get more useful information for debugging. 2018-04-08 14:59:34 -04:00
Lordmau5
7a01f5d79e Featured Follow buttons (#406)
* Basic featured follow support

* Implement `do_authorize`

* More work on Featured Follows.

- Refresh button
- Also implement emotes

* Remove debug log

* Remove featured emote support in favor of next merge

* Fix linting errors

* Implement requested changes

* Fixes
2018-04-08 13:44:44 -04:00
Lordmau5
4f1ebcdfbf Update Host Menu code to use a proper Vue object as reference (#404) 2018-04-08 13:42:14 -04:00
SirStendec
dc358a774d Bump version. Add settings to hide Twitch Prime offers and to show minimal navigation when in theatre mode. 2018-04-07 19:51:53 -04:00
SirStendec
f77371d8fb Tab-completion is in its own file now (which I accidentally added in a previous commit). Update fine's searchParent and searchTree to accept the name of a FineWrapper to use that class. 2018-04-07 19:10:45 -04:00
SirStendec
79851ef609 Fix a bug with the emote menu component if using FrankerFaceZ when not logged in. 2018-04-07 19:09:32 -04:00
SirStendec
802d19bc00 Fix potential issues trying to operate on destroyed users / rooms. 2018-04-07 19:08:20 -04:00
SirStendec
411b2d6390 Add emote menu options to control heading visibility, control search visibility, reduce padding, and change the default tab. Also set add a way to get FineWrappers for classes we define without having to search the tree. 2018-04-07 18:01:28 -04:00
SirStendec
2eb92a7075 Apparently, there can be ID mismatches with chat and users. It's crazy stuff. Just log a warning when it happens and try to correct. Also, change tokenizer priority for mentions vs emotes. 2018-04-07 17:59:16 -04:00
SirStendec
df874da420 Forgot to include the emote menu button CSS with the emote menu commit. 2018-04-07 11:35:55 -04:00
SirStendec
e6e11fe562 Emote Menu? Emote Menu.
* Add the emote menu.
* Add an option to replace the emote menu icon with the FFZ icon.
* Add icons to the icon font.
* Add a basic human duration formatting method to i18n.
* Add methods to the emotes module to get sets including the providers.
* Add a method to the emotes module to load an arbitrary set.
* Add a map to the emotes module for identifying providers.
* Add new events for when emote sets change.
* Add support for loading featured channel emotes.
* Add an option to suppress source sets in emote tooltips.
* Add an option to display a sellout line in emote tooltips.
* Remove emote menu from the WIP section of the home page of the menu.
* Fix a typo in rich content.
* Remove a bit of logging from fine.
* Add helper methods for set comparison and basic debouncing to utilities/object.
* Add constants for the emote menu.
* Add methods to show/hide a tooltip to the tooltip data object.
2018-04-06 21:12:12 -04:00
SirStendec
92130ebac4 Fix memory leak with tooltips. 2018-04-06 03:41:48 -04:00
SirStendec
929d669e1d Use the webpack externals configuration directive to prevent bundling any additional copies of Vue. This is basically to make sure the main menu doesn't misbehave.
Modules using vue may need to add the vue module to their load_requires now, as demonstrated in main_menu. If importing .vue files individually, this likely isn't necessary.
2018-04-05 15:44:47 -04:00
SirStendec
75c317eb16 Add build command that outputs stats.json for bundle analysis. 2018-04-05 15:43:12 -04:00
SirStendec
d1acc9f7cc Add support for asynchronously loaded rich content blocks in chat. 2018-04-03 19:28:06 -04:00
SirStendec
9aafff3a14 Clean up player logic a bit. 2018-04-03 15:20:11 -04:00
SirStendec
cbdf3040e3 Update dependencies. 2018-04-03 13:10:19 -04:00
SirStendec
136feebc39 Increment version. Clean up player a bit and add an option to stop recommended videos from auto-playing. Also clean up menu button for the strange, distant future when we actually use the pill for something. 2018-04-03 02:03:28 -04:00
SirStendec
7ecd45fcfb Clean up a bunch of linting stuff. Clean up event listeners in tooltips to stop potential memory leaks. 2018-04-02 03:30:22 -04:00
SirStendec
f506b512b4 Make JS X Again
* Configure the project to allow the use of JSX in .jsx files.
* Add linting for JSX.
* Rewrite most existing code that uses `createElement` to use JSX syntax.
* Stop importing `createElement as e`. That's what the minifier is for. And we don't have to write it manually so much now because of JSX syntax.
2018-04-01 18:24:08 -04:00